示例#1
0
 public OpenTKSound(string filename, SoundDevice device)
     : base(filename, device)
 {
     soundData = new WaveSoundData("Content/" + filename + ".wav");
     length = GetLengthInSeconds();
     bufferHandle = CreateNativeBuffer();
 }
 public void TestMsadpcmParsing()
 {
     BinaryReader reader = GenerateMsadpcmTestData();
     var soundData = new WaveSoundData(reader);
     Assert.AreEqual(44100, soundData.SampleRate);
     Assert.AreEqual(ALFormat.Mono8, soundData.Format);
     Assert.AreEqual(8, soundData.BufferData.Length);
     Assert.AreEqual(16383, BitConverter.ToInt16(soundData.BufferData, 0));
     Assert.AreEqual(32767, BitConverter.ToInt16(soundData.BufferData, 2));
     Assert.AreEqual(28743, BitConverter.ToInt16(soundData.BufferData, 4));
     Assert.AreEqual(29749, BitConverter.ToInt16(soundData.BufferData, 6));
 }
 public void TestIeeeParsing()
 {
     BinaryReader reader = GenerateIeeeTestData();
     var soundData = new WaveSoundData(reader);
     Assert.AreEqual(44100, soundData.SampleRate);
     Assert.AreEqual(ALFormat.Stereo16, soundData.Format);
     Assert.AreEqual(8, soundData.BufferData.Length);
     Assert.AreEqual(16383, BitConverter.ToInt16(soundData.BufferData, 0));
     Assert.AreEqual(32767, BitConverter.ToInt16(soundData.BufferData, 2));
     Assert.AreEqual(3276, BitConverter.ToInt16(soundData.BufferData, 4));
     Assert.AreEqual(0, BitConverter.ToInt16(soundData.BufferData, 6));
 }
 public void SkipUnknownChunk()
 {
     BinaryWriter writer = GenerateDefaultWaveData();
     writer.Write(new[] { 't', 'e', 's', 't' });
     writer.Write(128);
     writer.Write(new byte[128]);
     writer.BaseStream.Position = 0;
     var reader = new BinaryReader(writer.BaseStream);
     var soundData = new WaveSoundData(reader);
     Assert.AreEqual(ALFormat.Stereo8, soundData.Format);
     Assert.AreEqual(16, soundData.BufferData.Length);
 }
 public void TestParsing()
 {
     BinaryWriter writer = GenerateDefaultWaveData();
     writer.BaseStream.Position = 0;
     var reader = new BinaryReader(writer.BaseStream);
     var soundData = new WaveSoundData(reader);
     Assert.AreEqual(44100, soundData.SampleRate);
     Assert.AreEqual(ALFormat.Stereo8, soundData.Format);
     Assert.AreEqual(16, soundData.BufferData.Length);
     for (int index = 0; index < 16; index += 2)
     {
         Assert.AreEqual(34, soundData.BufferData[index]);
         Assert.AreEqual(14, soundData.BufferData[index + 1]);
     }
 }
示例#6
0
 protected void LoadSound(Stream fileData)
 {
     var streamReader = new BinaryReader(fileData);
     soundData = new WaveSoundData(streamReader);
     length = CacheLengthInSeconds();
     bufferHandle = CreateNativeBuffer();
 }