如何将mp3读入字节数组

时间:2013-03-27 03:28:26

标签: c# naudio

我想将NAudio与MP3FileReader对象一起使用 将mp3读入字节数组然后我将尝试将其转换为创建频谱分析器 但我找不到任何有关其方法的文档。 你有什么建议或任何例子吗?

3 个答案:

答案 0 :(得分:1)

File.ReadAllBytes会将文件读入字节数组:

 var bytes = File.ReadAllBytes(fileName);

答案 1 :(得分:1)

MP3已编码。在MP3上执行FFT只会扰乱数据。首先解码,删除元数据,然后作为样本读入数组。确保元素大小与样本大小相同。

MATLAB和Octave非常适合信号处理。

抱歉,没有任何NAudio体验。

答案 2 :(得分:0)

要将音频传递到FFT,您需要先将其转换为PCM。 NAudio附带的Mp3FileReader会自动执行此操作。因此,当您调用Read时,您将获得16位PCM作为字节数组。如果您使用AudioFileReader代替,您可以将样本作为浮点数进行归一化,归一化为+/- 1.0范围,这是传递FFT的理想选择(尽管您需要分别计算每个通道的FFT)。如果你看一下NAudio WPF项目的源代码,你会发现它使用FFT来创建一个频谱分析仪。