wav to mp3使用媒体基础NAudio 1.7

时间:2013-11-08 07:51:32

标签: c#-4.0 naudio lame

........

using (var reader = new MediaFoundationReader("\\track.wav"))
{

  MediaFoundationEncoder.EncodeToMp3(reader, "\\outputfile.mp3", 192000);

}
...........

在这个代码中,当我试图将wav文件转换为mp3时,它会抛出异常,例如,''没有合适的MP3编码器可用'。我通过传递不同的比特率测试它但没有用。我有一个Fraunhofer mp3编解码器和lame安装在我的电脑上与Windows 7操作系统。但是将wav转换为wma和mp4工作正常。请在我出错的地方纠正我。 通过使用Acm和lame,我能够在我的电脑上将wav转换为mp3,但我不知道为什么它不可能与媒体基础。还有可能将流对象传递给媒体基础读者功能吗?

1 个答案:

答案 0 :(得分:1)

ACM和Media Foundation Transforms是两个完全不同的东西。您可以将编解码器设置为ACM,但不能使用MFT,反之亦然。因为你有一个ACM MP3编码器,并不意味着你可以用Media Foundation编码MP3。

您可以使用NAudio源附带的NAudioWpfDemo应用程序来探索计算机上安装的Media Foundation Transforms。

不,目前不支持从流中创建MediaFoundationReader。