4
對我的iOS應用程序使用Audio Queue,我在iOS6.1上進行測試時遇到了一些問題,儘管它在iOS6上運行良好。iOS 6.1 AudioQueueStop,AudioQueueDispose錯誤
問題是AudioQueueStop和AudioQueueDispose沒有立即返回,或有時他們崩潰。
像這樣:
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;
}
這不叫上主線程,但另一個線程,但其他東西,例如AudioQueueNewoutput和AudioQueueStart還呼籲該線程。
其實我試圖運行一個簡單的應用程序,它使用AudioQueue作爲測試,在這種情況下它工作正常(在iOS6和6.1上)。因此,我的代碼中的其他部分可能會影響,但我無法弄清楚。
有沒有人有類似的問題,並希望修復?
我有同樣的問題。在我的情況下,AudioQueueDispose根本不會返回。你有沒有向蘋果公司提交錯誤報告?請讓我知道,如果你知道這一點 – dariaa
對不起,遲到的迴應。在我的情況下,問題是我註冊到AudioQueue的回調函數的時間。我使用互斥機制,並導致死鎖。但它並沒有發生在iOS6上。 – shingt