2
我剛開始學習CoreAudio書中的AudioQueues(粗略剪切)。 我做了AudioQueue播放示例教程,它與Apple教程示例基本相同。一切工作正常。如何讓AudioQueue在不凍結GUI的情況下播放?
當我嘗試在具有GUI的應用程序中實現代碼時,問題就開始了。我通過將代碼粘貼到NSObject子類的'init'方法來測試它。我可以通過插入一個空的DO ... WHILE循環到我的init結尾,但這會使GUI凍結(顯然是......)!!
顯然,只要AudioQueueNewOutput爲inCallbackRunLoop和CallbackRunLoopMode參數傳遞NULL,AudioQueue應該自動在其自己的單獨線程中運行。這只是沒有發生。我只聽到緩衝區啓動1.5秒鐘。
顯然,有一些基本的東西,我不明白的事情是如何工作的?
卡斯帕
-(void) start
{
CheckError(
AudioQueueStart(queue, NULL),
"AudioQueueStart failed");
printf("Playing...\n");
do {
} while (0 == 0); //WHY IS THIS MAKING IT PLAY???
}