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

Posted

技术标签:

【中文标题】如何使用 c#.net 解码 amr 文件【英文标题】:how to decode amr files using c#.net 【发布时间】:2013-12-03 05:55:34 【问题描述】:

我需要将 amr 格式解码为 pcm 格式,然后使用 c#.net 将其转换为 mp3。但我几乎找不到任何图书馆这样做。使用 NAudio 似乎是不可能的。是否有任何基于 c# 的开源库可用于解码此格式文件?目前我正在使用 Windows Server 2012(64 位)。

NA 音频代码:

public void Decode() 

 .....
 var result= new MediaFoundationReader("..\\sample.amr");
 // later converted to  mp3 here

【问题讨论】:

【参考方案1】:

看起来你们两个正在做同样的事情:How to convert amr files to mp3 using C#

您通常需要安装 [第三方] AMR 解码器并将其集成到 Windows API(ACM、DirectShow、Media Foundation)中。然后,您将围绕此 API 使用您最喜欢的库,例如 NAudio。

AMR 解码器示例:MONOGRAM AMR Pack。

【讨论】:

【参考方案2】:

您不太可能找到 AMR 文件的 C# 解码器。我建议您只需找到一个可以调用以转换为 PCM 的命令行实用程序。比如sox好像可以用来解码AMR。

【讨论】:

以上是关于如何使用 c#.net 解码 amr 文件的主要内容,如果未能解决你的问题,请参考以下文章

媒体基金会 AMR 解码

opencore-amr移植至嵌入式设备

如何使用 C# 将 amr 文件转换为 mp3

如何播放 AMR 音频文件?

C# - 使用 ZXing.Net 解码 png QR 码

将带有 amr_nb 音频编解码器的 .mov 包装器转换为 aac/mp4a 编解码器