iPhone AVAudioPlayer未能找到编解码器

iPhone AVAudioPlayer未能找到编解码器,iphone,avaudioplayer,Iphone,Avaudioplayer,我正在编写一个从服务器下载wav文件的应用程序,需要播放该文件。这些文件使用2:1压缩的mulaw编解码器。这些wav文件是由一个单独的进程动态创建的,因此我无法将文件预转换为不同的格式或编解码器,我需要能够按原样播放它们 我使用的AVAudioPlayer实例初始化如下: NSURL*audioURL=[[NSURL alloc]initWithString:@''; NSData*audioData=[[NSData alloc]initwithcontentsofull:audioURL

我正在编写一个从服务器下载wav文件的应用程序,需要播放该文件。这些文件使用2:1压缩的mulaw编解码器。这些wav文件是由一个单独的进程动态创建的,因此我无法将文件预转换为不同的格式或编解码器,我需要能够按原样播放它们

我使用的AVAudioPlayer实例初始化如下:


NSURL*audioURL=[[NSURL alloc]initWithString:@'';
NSData*audioData=[[NSData alloc]initwithcontentsofull:audioURL]

AVAudioPlayer*audio=[[AVAudioPlayer alloc]initWithData:audioData错误:nil]

[音频播放];
但是,当play方法执行时,我在模拟器上执行时会得到以下控制台输出:

AudioQueue编解码器策略1:未能找到请求类型的编解码器

我还尝试将下载的数据保存到本地文件,并使用文件URL,但结果是一样的。下载的文件在Mac和基于Windows的桌面媒体播放器上都可以正常播放

SDK文档声明iPhone支持mulaw编解码器,因此我不确定为什么它找不到它。如蒙协助,将不胜感激

谢谢。

安东尼

我在使用模拟器时也收到了相同的错误消息然而我在设备上试用了它,它工作得完美无缺

无论出于何种原因,模拟器并没有设备拥有的所有编解码器(mulaw是基于软件的解码,因此软件必须在两者之间有所不同)

希望对你有帮助


罗伯

好吧,一位官员感谢罗伯!这让我疯狂了一段时间,但最终它在设备上运行得很好,只是在模拟器上不行。

谢谢Rob,我将在设备上试用它。