2016-06-09 6 views
0

Я пытаюсь использовать NAudio lib, как показано ниже. Когда у меня есть файл WAV, сохраненный как Mono, 4 кГц, массив AudioBytesOriginal имеет все нули. Файл воспроизводится при двойном щелчке в Windows, поэтому данные есть. Он также играет в Audacity.NAudio 4000Hz WAV?

using (var waveFileReader = new WaveFileReader(FileNameIn)) 
       { 
        var thisIsWhat = waveFileReader.WaveFormat; // reports as 8KHz 
        AudioBytesOriginal = new byte[waveFileReader.Length]; 
        int read = waveFileReader.Read(AudioBytesOriginal , 0 , AudioBytesOriginal.Length); 
        short[] sampleBuffer = new short[read/2]; 
        Buffer.BlockCopy(AudioBytesOriginal , 0 , sampleBuffer , 0 , read); 

       } 

Мне нужно крайне низкую частоту дискретизации для воспроизведения на ограниченном устройстве, но я использую .NET Framework 4.6.1 с NAudio для обработки байт работы.

Спасибо.

ответ

0

несколько вещей, чтобы проверить

1) какова величина read? Это 0?

2) как далеко в sampleBuffer вы проверили? Даже полсекунды молчания в начале аудиофайла приведут к нескольким тысячам выборок с 0 значением

+0

значение чтения равно 16184. samplebuffer равен 8092, значение нуля в каждом элементе массива. – Snowy

+0

Я могу отправить вам оригинал wav (16k), если вам это нужно. – Snowy

+0

Что касается аудио байтов оригинала. что все нули? –