1

如何在 windows phone 上录制和 AMR 音频剪辑?

Microphone 仅提供 PCM 样本,在写入文件之前需要将其转换为 AMR。

如何进行这种转换?如果有人有任何示例代码,请分享。

4

1 回答 1

0

我认为没有任何可用于 WP7 的库可以做到这一点。现有的 .Net 库使用本机代码或第三方库来执行转换。

因此,您可以选择实现自己的转换库(听起来像是一个不错的开源项目!),或者设置一个使用现有库执行转换的 Web 服务。

要执行第一个选项,您可能会从OpenCode-arm之类的库开始,并将代码转换为 C#。有时这种转换非常简单,而有时它们可​​能非常复杂。但大多数情况下,如果您有时间,可以进行转换。

更快的替代方法是设置一个 Web 服务,您可以在其中上传返回 AMR 数据的 PCM 数据。在此服务中,您可以使用可用于 .Net 和其他平台的现有库之一。

你没有说你需要 AMR 文件做什么。如果您打算将其发送到某个地方,那么也许您可以发送 PCM 数据并在服务器端进行转换?

编辑:

如果您选择设置一个 Web 服务,一个简单的 shell 可以说明它的工作原理是设置一个托管转换方法的类并实现一个执行转换的公共方法:

[ServiceContract]
public class ConvertService
{
  [OperationContract]
  public byte[] ConvertPcmToAmr(byte[] pcmData)
  {
     // Do the conversion here and return the data
  }
}
于 2012-10-08T09:43:35.803 回答