【发布时间】:2009-12-28 20:30:55
【问题描述】:
我整晚都在想办法解决这个问题。我的代码和苹果的例子here基本一样。但是,设备只播放队列中的第一个缓冲区(我在应用程序启动时听到第一个缓冲区的内容)。之后,设备根本不会发出声音。尽管 AQS 继续触发我的 AudioQueueOutputCallback 函数,但播放仍在运行。此外,对 AQS 的每次调用都返回 0,因此没有失败。
现在,只要我从回调函数中调用AudioQueueEnqueueBuffer,我就可以播放后续缓冲区。这不起作用,因为我只能从我的AudioFileStream_PacketsProc 回调中填充缓冲区并将其排入队列,因为数据从套接字进入AudioFileStreamParseBytes。
其他人有这个问题吗?对我来说似乎是 AQS 中的一个错误......
谢谢, 安德鲁
【问题讨论】: