2011-01-27 106 views
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??? 
} 

回答

2

原來,我的用戶數據結構並沒有聲明爲一個伊娃頭文件。菜鳥的錯誤...

相關問題