2010-02-06 31 views
1

我正在制作一个媒体播放应用程序,该应用程序可从第三方解码器获得未压缩的线性PCM(原始)音频,但当我回放我能想象的最简单的音频格式时,我会发疯。在iPhone上播放线性PCM音频是否有“简单”方式?

最终的应用程序将逐步获取PCM数据作为源文件从服务器流,所以我最初查看音频队列(因为我可以看起来只是给它在移动字节),但结果是mindfudge - 特别是因为Apple自己的Audio Queue示例代码似乎在OpenGL的神奇的实地行程和不需要的封装上失效。我最终在(非流式)原型设计期间使用了AVAudioPlayer;我目前创建一个WAVE头,并将其添加到PCM数据的开头,以使AVAudioPlayer接受它(因为它不能采取原始PCM)

显然这是没有用的流(WAVE设置整个文件的长度在所以数据不能被添加到移动)..

..essentially:有没有办法给iPhone操作系统一些PCM字节并让它播放它们?

回答

1

您应该重新访问AudioQueue的代码。一旦你剥离了所有的垃圾,你应该有大约2页的代码加上一个可以提供原始PCM的回调。此回调也与您的主循环同步,因此您甚至不必担心锁定。