iPad 上的 AudioQueueStart() 问题

Posted

技术标签:

【中文标题】iPad 上的 AudioQueueStart() 问题【英文标题】:Problem with AudioQueueStart() on iPad 【发布时间】:2010-08-13 22:20:17 【问题描述】:

我在使用音频队列服务时遇到以下问题,希望其他人听起来很熟悉。

首先我执行:

AudioQueueAddPropertyListener(audioQueue, kAudioQueueProperty_IsRunning, MyAudioQueueIsRunningCallback, self);

然后我执行:

AudioQueueStart(audioQueue, NULL);

两个调用都没有返回错误,但 MyAudioQueueIsRunningCallback 永远不会被调用。我什至可以打电话给AudioQueueGetProperty 来检查kAudioQueueProperty_IsRunning 的属性,这个检查确认该属性是非零的。

我显然留下了很多代码,但我认为这些是必需品。最奇怪的部分是代码在 iPad 3.2.2 上在为 Debug 而不是 Release 编译时可以正常工作。在 iPhone 4.0 和 iPod 4.0 以及 xcode 中的两个模拟器上为 Release 编译时,它也可以正常工作。

如果有什么不同,我使用的代码来自this file。

【问题讨论】:

你有没有想过这个问题?我也遇到了同样的问题。 【参考方案1】:

我遇到了同样的问题,这就是解决方案,

AudioQueue problem

基本上,您必须从 MainThread(也许是 UI Thread)启动 AudioQueue

【讨论】:

以上是关于iPad 上的 AudioQueueStart() 问题的主要内容,如果未能解决你的问题,请参考以下文章

AudioQueueStart 返回错误代码 -50

AudioQueueStart() 方法无法在 ios4 后台播放音乐

音频队列:AudioQueueStart 返回 -50

在 iphone4 中打电话后 AudioQueueStart 失败

使用 AudioQueueStart() 时的延迟

AudioQueueStart 返回 561015905 (AVAudioSessionErrorCodeCannotStartPlaying)