objective C语言 iOS 6.1 AudioQueueStop, AudioQueueDispose erro



在我的iOS应用程序中使用Audio Queue,我在iOS6.1上测试时遇到了一些问题,尽管它在iOS6上运行良好。

问题是AudioQueueStopAudioQueueDispose不立即返回,或者有时它们崩溃。

:

if (_audioQueue)
{
  auto err = AudioQueueStop(_audioQueue, true);   // Some delay before return
  for (int i = 0; i < kNumberAudioQueueBuffers; i++) {
    AudioQueueFreeBuffer(_audioQueue, _audioQueueBuffer[i]);
  }    
  err = AudioQueueDispose(_audioQueue, true);    // This also has delay
  _audioQueue = nil;
}

这不是在主线程上调用,而是在另一个线程上调用,但其他东西,如AudioQueueNewoutputAudioQueueStart也在该线程上调用。

实际上我试着运行一个简单的应用程序,使用AudioQueue作为测试,在这种情况下,它工作得很好(在iOS6和6.1上)。所以我代码中的其他部分可能会受到影响,但我无法弄清楚。

是否有人有类似的问题,并希望修复?

我看到AudioQueueSetProperty()和kAudioQueueProperty_MagicCookie有类似的问题。每次调用时,我的应用程序都会崩溃,而它在iOS 6.0或更早的版本上运行良好。我认为苹果在6.1中搞砸了音频队列的实现

相关内容

  • 没有找到相关文章

最新更新