Как считать файл 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д