Как считать файл Wav в массив байт - C#
Формулировка задачи:
Добрый день дорогие.
Подскажите пожалуйста, как считать wav файл в byte.
Выглядит это вот так Буду очень признателен за информативный ответ.
byte[] buffer = ReadDataFromExternalSource(); // читаем данные откуда-нибудь
Решение задачи: «Как считать файл Wav в массив байт»
textual
Листинг программы
double[] readAmplitudeValues(bool isBigEndian) { var file = System.IO.File.OpenRead("golos.WAV"); int MSB, LSB; // старший и младший байты byte[] buffer = new byte[file.Length];//Читаем данные откуда-нибудь file.Read(buffer, 0, buffer.Length); double[] data = new double[buffer.Length / 2]; for (int i = 0; i < buffer.Length; i += 2) { if (isBigEndian) // задает порядок байтов во входном сигнале { // первым байтом будет MSB MSB = buffer[2 * i]; // вторым байтом будет LSB LSB = buffer[2 * i + 1]; } else { // наоборот LSB = buffer[2 * i]; MSB = buffer[2 * i + 1]; } // склеиваем два байта, чтобы получить 16-битное вещественное число // все значения делятся на максимально возможное - 2^15 data[i] = ((MSB << 8) | LSB) / 32768; } return data; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д