多个音频队列的同步

时间:2016-06-28 14:07:58

标签: ios audio core-audio audioqueue audioqueueservices

Apple的音频队列文档声称具有"其他高级功能支持多个音频队列的预定播放和同步"。但是,网上的任何地方都找不到相同的文档。

我有三个音频队列,需要同步播放/停止/暂停/恢复。任何指针都表示赞赏。

1 个答案:

答案 0 :(得分:1)

AudioTimeStamp头文件中有许多使用AudioQueue的有趣外观函数。

特别是AudioQueueStart有一个名为AudioTimeStamp的{​​{1}}参数。 也许您可以使用inStartTime字段来指定主机的时基mHostTime,您应该可以使用它来同步多个音频队列。

然后我想您会在mach_absolute_time中使用inStartTime参数在适当的时间排队缓冲区。不知道你如何同步停止...

就我个人而言,我发现AudioQueueEnqueueBufferWithParameters比LPCM产生更多心痛,所以我自己使用远程io音频单元(或现代等效音频单元)混合并输出三个音频流,因为你得到同步播放,恢复/停止,暂停免费。