我从 SoundCloud 流式传输音乐,使用他们的流式 API,而后者又使用 Apple 的 AudioToolbox 框架。您可以在此处找到 git 存储库。
该应用程序使用 ios 5 及更低版本可以正常播放。现在有了 ios 6,只要通过 AudioQueueDispose 处理 AudioQueue,我就会得到EXC_BAD_ACCESS。我试过注释掉这一行;果然它不再崩溃了,但显然我的音频流继续播放并且永远不会被释放。
我不确定是什么原因造成的。这是需要向 Apple 报告的错误吗?或者 ios 6 中的一些新功能会在处理后无意中导致在某处引用 audioQueue?有没有人注意到这样的行为?