Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ WAVAudioTrack()

Terraria.Audio.WAVAudioTrack.WAVAudioTrack ( Stream stream)
inline

Definition at line 16 of file WAVAudioTrack.cs.

17 {
19 BinaryReader binaryReader = new BinaryReader(stream);
20 binaryReader.ReadInt32();
21 binaryReader.ReadInt32();
22 binaryReader.ReadInt32();
23 AudioChannels channels = AudioChannels.Mono;
24 uint sampleRate = 0u;
25 bool flag = false;
26 int num = 0;
27 while (!flag && num < 10)
28 {
29 uint num2 = binaryReader.ReadUInt32();
30 int chunkSize = binaryReader.ReadInt32();
31 switch (num2)
32 {
33 case 1263424842u:
34 SkipJunk(binaryReader, chunkSize);
35 break;
36 case 544501094u:
37 binaryReader.ReadInt16();
38 channels = (AudioChannels)binaryReader.ReadUInt16();
39 sampleRate = binaryReader.ReadUInt32();
40 binaryReader.ReadInt32();
41 binaryReader.ReadInt16();
42 binaryReader.ReadInt16();
43 flag = true;
44 break;
45 }
46 if (!flag)
47 {
48 num++;
49 }
50 }
51 binaryReader.ReadInt32();
52 binaryReader.ReadInt32();
54 CreateSoundEffect((int)sampleRate, channels);
55 }
virtual ushort ReadUInt16()
virtual int ReadInt32()
virtual short ReadInt16()
virtual uint ReadUInt32()
void CreateSoundEffect(int sampleRate, AudioChannels channels)
static void SkipJunk(BinaryReader reader, int chunkSize)

References Terraria.Audio.WAVAudioTrack._stream, Terraria.Audio.WAVAudioTrack._streamContentStartIndex, Terraria.Audio.ASoundEffectBasedAudioTrack.CreateSoundEffect(), System.IO.BinaryReader.ReadInt16(), System.IO.BinaryReader.ReadInt32(), System.IO.BinaryReader.ReadUInt16(), System.IO.BinaryReader.ReadUInt32(), and Terraria.Audio.WAVAudioTrack.SkipJunk().