如何使用 C# 将 amr 文件转换为 mp3
Posted
技术标签:
【中文标题】如何使用 C# 将 amr 文件转换为 mp3【英文标题】:How to convert amr files to mp3 using C# 【发布时间】:2013-12-03 06:17:02 【问题描述】:我正在使用 NAudio MFT 将不同的音频格式转换为 MP3。 现在我想使用 Naudio MFT 将 amr 文件转换为 MP3。但是,当我将 amr 文件作为 MFT 的输入时,它抛出了以下异常“来自 HRESULT 的异常:0xC00D36C4”。有什么方法可以实现吗?
我的 C# 代码:
public byte[] ConvertAMRToMP3( )
var data = new MediaFoundationReader("..\\amr\\test.amr");
MediaFoundationEncoder.EncodeToMP3(data, "..\\test.mp3", 128000);
......
我正在使用 windows server 2012 64 位平台。
提前致谢。
【问题讨论】:
【参考方案1】:0xC00D36C4
is MF_E_UNSUPPORTED_BYTESTREAM_TYPE
"不支持给定 URL 的字节流类型。"
Media Foundation 编解码器不支持 AMR。
【讨论】:
嗨@Roman,感谢您的快速回复,如果有什么方法可以使用 C# 将 amr 文件转换为 mp3,请给我建议 您需要编解码器来支持 AMR 解码。你需要 Media Foundation MFT 通过 Media Foundation 来做,或者你需要一个 ACM 格式解码器。或者,DirectShow 解码器,然后您将更改您的代码以通过 DirectShow 进行转码。总而言之,您需要组件来处理这种格式,因为库存组件不涵盖它。以上是关于如何使用 C# 将 amr 文件转换为 mp3的主要内容,如果未能解决你的问题,请参考以下文章
java实现windows下amr转换为mp3(可实现微信语音和qq语音转换)
linux下ffmpeg转换amr为mp3大小为0的解决方案