hum*_*rch 2 c# audio naudio sampling
我有以下代码将音频文件的样本读入字节数组.
int signal_read = signal.Read(signal_sample, 0, signal_length);
MessageBox.Show(signal_read + "");
Run Code Online (Sandbox Code Playgroud)
哪个signal是WaveFileReader类的对象.
MessageBox.Show始终显示从软件Audacity获取的实际样本数的两倍.
难道read方法无法返回读取的音频样本的数量?
不,它返回读取的字节数.
因此,对于16位PCM wav,它将为您提供两倍的样本量.如果它是一个立体声16位,你会得到四倍.
您可能希望使用填充float[][]数组的重载,而不是读取字节.例如,对于单声道音频:
var array = new float[][] { new float[sampleCount] };
var actualSamples = signal.Read(array, sampleCount);
Run Code Online (Sandbox Code Playgroud)