amr在Windows Phone 7中录制

时间:2012-10-08 07:33:30

标签: windows-phone-7 recording amr

如何在Windows手机上录制和AMR音频剪辑?

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

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

1 个答案:

答案 0 :(得分: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
  }
}