Esempio n. 1
0
 public AudioSample GetSampleFromArray(byte[] data, float volume, float pitch)
 {
     Stream stream = new MemoryStream(data);
     if (stream.ReadByte() == 'R'
         && stream.ReadByte() == 'I'
         && stream.ReadByte() == 'F'
         && stream.ReadByte() == 'F')
     {
         stream.Position = 0;
         int channels, bits_per_sample, sample_rate;
         byte[] sound_data = LoadWave(stream, out channels, out bits_per_sample, out sample_rate);
         AudioSample sample = new AudioSample()
         {
             Pcm = sound_data,
             BitsPerSample = bits_per_sample,
             Channels = channels,
             Rate = sample_rate,
         };
         return sample;
     }
     else
     {
         stream.Position = 0;
         AudioSample sample = new OggDecoder().OggToWav(stream, volume, pitch);
         return sample;
     }
 }