如何使用 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的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 c#.net 解码 amr 文件

java实现windows下amr转换为mp3(可实现微信语音和qq语音转换)

linux下ffmpeg转换amr为mp3大小为0的解决方案

linux下ffmpeg转换amr为mp3大小为0的解决方案

网易云音乐文件,怎么转换成mp3格式?

Amr音频转换Mp3格式