/// <summary> /// Вернёт байты готового тестового сетерео файла длинной в 1 секунду, с частотой дискретизации 44.1 кГц и 32 битным значением звука который вы можете воспроизвести. /// Если не вылетит в ошибку - библиотека работает :) /// </summary> /// <returns></returns> public Byte[] GetTestWAVData() { Int32[,] sound = new Int32[44100, 2]; Random ran = new Random(); for (Int32 i = 0; i < sound.GetLength(0); i++) { sound[i, 0] = (Int32)(Math.Sin(i * 0.1f * (i / 1000f)) * (Int32.MaxValue * 0.05f)); } for (Int32 i = 0; i < sound.GetLength(0); i++) { sound[i, 1] = (Int32)(Math.Sin(i * 0.1f * Math.Abs(Math.Cos(i / 10000f))) * (Int32.MaxValue * 1f)); } WAVElib wlib = new WAVElib(); wlib.SampleRate = 44100; wlib.BitsPerSample = 32; wlib.Sound = sound; Byte[] res = wlib.GetWAVData(); wlib.Dispose(); return(res); }
/// <summary> /// Возвращает байты готового WAV файла в соответствии с заданными значениями. /// Не сохраняет значения в самом объекте, пожтому такие свойства как Duration или Data не будут доступными. /// </summary> /// <returns></returns> public Byte[] GetWAVData(UInt32 SampleRate, UInt16 BitsPerSample, Int32[,] Sound) { WAVElib wlib = new WAVElib(); wlib.SampleRate = SampleRate; wlib.BitsPerSample = BitsPerSample; wlib.Sound = Sound; Byte[] res = wlib.GetWAVData(); wlib.Dispose(); return(res); }