Sub Activity_Create(FirstTime As Boolean)
Dim l1 As Long
Dim Buf(44+4*NumSamples), Buf2(4*NumSamples) As Byte
Dim bc As ByteConverter
Dim RAB, RAF As RandomAccessFile
...
WavHead.Initialize
bc.LittleEndian = True
RAB.Initialize3(Buf, True)
WavHead.ChunkID = "RIFF".GetBytes("UTF8")
WavHead.Format = "WAVE".GetBytes("UTF8")
WavHead.Subchunk1ID = "fmt ".GetBytes("UTF8")
WavHead.Subchunk2ID = "data".GetBytes("UTF8")
WavHead.Subchunk1Size = 16
WavHead.AudioFormat = 1
WavHead.NumChannels = 2
WavHead.SampleRate = 44100
WavHead.BitsPerSample = 16
WavHead.ByteRate = WavHead.SampleRate * WavHead.NumChannels * WavHead.BitsPerSample / 8
WavHead.BlockAlign = WavHead.NumChannels * WavHead.BitsPerSample / 8
WavHead.Subchunk2Size = NumSamples * WavHead.NumChannels * WavHead.BitsPerSample / 8
WavHead.ChunkSize = 36 + WavHead.Subchunk2Size
l1 = GenSin(WavData, 0, 32000, 5000, NumSamples, 44100)
Buf2 = bc.ShortsToBytes(WavData)
RAB.WriteBytes(WavHead.ChunkID, 0, 4, 0)
RAB.WriteInt(WavHead.Subchunk1Size, 4)
RAB.WriteBytes(WavHead.Format, 0, 4, 8)
RAB.WriteBytes(WavHead.Subchunk1ID, 0, 4, 12)
RAB.WriteInt(WavHead.Subchunk1Size, 16)
RAB.WriteShort(WavHead.AudioFormat, 20)
RAB.WriteShort(WavHead.NumChannels, 22)
RAB.WriteInt(WavHead.SampleRate, 24)
RAB.WriteInt(WavHead.ByteRate, 28)
RAB.WriteShort(WavHead.BlockAlign, 32)
RAB.WriteShort(WavHead.BitsPerSample, 34)
RAB.WriteBytes(WavHead.Subchunk2ID, 0, 4, 36)
RAB.WriteInt(WavHead.Subchunk2Size, 40)
RAB.WriteBytes(Buf2, 0, 2*l1, 44)
RAF.Initialize2(File.DirDefaultExternal, "data.wav", False, True)
RAF.WriteBytes(buf, 0, 44+2*l1, 0)
...
End Sub