iOS AudioQueue播放AAC数据总是延迟2-3秒
Posted
技术标签:
【中文标题】iOS AudioQueue播放AAC数据总是延迟2-3秒【英文标题】:iOS AudioQueue playing AAC data always delay for 2-3 seconds 【发布时间】:2018-07-26 12:39:27 【问题描述】:最近我在使用 AudioQueue 播放网络 AAC 数据。我的计划是,一旦收到 AAC 数据,audioqueue 将这个缓冲区排入队列并立即播放。
我在启动audioQueue时,使用AudioQueueStart(audioQueue, NULL)
尽快启动audioQueue。
但是,当我打印日志时,我注意到 AAC 缓冲区立即被 AudioQueueEnqueueBuffer(audioQueue, buffer, 0, NULL)
排队,但在排队缓冲区后播放的声音延迟了大约 2-3 秒。这意味着我在开始时接收并排队数据,但第一个声音在 2-3 秒后开始。
我想知道是不是因为音频队列服务将 AAC 解码为 PCM 本身,所以声音延迟了。如果是这样,我应该自己解码 AAC 并改用音频单元吗?
我迷茫了一段时间,希望有人能点亮我!
【问题讨论】:
【参考方案1】:终于找到原因了。当 AAC 数据迟到时,我暂停 audioQueue 并在数据到来时重新开始。 PAUSE 操作会导致播放延迟。
【讨论】:
以上是关于iOS AudioQueue播放AAC数据总是延迟2-3秒的主要内容,如果未能解决你的问题,请参考以下文章