我正在为iOS开发一个流媒体应用程序,我正确地获取所有音频数据包并解码但现在我对如何在iPhone上播放它完全感到困惑..我使用ffmpeg解码数据包..我得到的所有代码远远是从文件播放音频,但我的情况下,我必须播放音频数据包,我从服务器按照他们即将到来的顺序...我不想将所有数据包保存到文件,所以任何代码,将帮助我解决我的问题很受赞赏。
揍你......
答案 0 :(得分:1)
您需要使用音频服务才能执行此操作。 AudioQueue
或AudioUnit
。 AudioQueue
更适合流式应用。
AudioQueue的经典示例是Apple's SpeakHere。
Matt Gallagher还有一些精彩的教程,包含流媒体示例代码。
请参阅Streaming MP3/AAC audio again。
如果您想转到AudioUnit
路线,请参阅Using RemoteIO audio unit。
通过将代码基于Matt Gallagher的样本,也可能使用SpeakHere,您应该能够播放已解码的数据包。请参阅我的其他答案,了解如何使用缓冲区而不是文件来播放。
不要忘记这是非常先进的东西。您需要熟悉缓冲区,指针等。确保您也了解帧,数据包等。将音频放在那里会有一些痛苦。