我在使用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