使用NAudio(或其他)播放/分析20ms的WAV文件段

时间:2016-06-15 09:40:47

标签: c# bytearray wav binaryfiles naudio

我在使用NAudio组件时遇到了麻烦,只是出于我需要的简单目的。 我想在我的缓冲区(数组)中只有数据流,然后将其偏移20ms(并实时播放这些段)。 我认为我可以剥离标题,但在实现这一点时遇到了问题。

我尝试过使用它:

WaveFileReader reader = new WaveFileReader(fullFileName);

             byte[] buffer = new byte[reader.Length];
            int read = reader.Read(buffer, 0, buffer.Length);
            short[] sampleBuffer = new short[read / 2];
            Buffer.BlockCopy(buffer, 0, sampleBuffer, 0, read);

我可以看到 sampleBuffer 包含数据(真正的pos-neg值,如果我使用的是 byte [],我不会得到这样的值:sampleBuffer = File.ReadAllBytes(fullFileName) ; )。

我正在使用以下WAV文件:

Pcm 8000Hz 1 channels 16 bits per sample
* Extra Size: 0 Block Align: 2 Average Bytes Per Second: 16000
* WaveFormat: 16 bit PCM: 8kHz 1 channels
* Length: 351360 bytes: 00:00:21.9600000 

0 个答案:

没有答案
相关问题