如何在Windows手机上录制和AMR音频剪辑?
麦克风仅提供PCM样本,在写入文件之前需要将其转换为AMR。
如何进行此转换?如果有人有任何示例代码,请分享。
答案 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
}
}