私は、CoreAudioの本(荒削り)からAudioQueuesについて学び始めました。 私はAudioQueue再生のサンプルチュートリアルを行いました。これはAppleのチュートリアルの例と基本的に同じです。すべてがうまくいきます。GUIをフリーズせずにAudioQueueを再生する方法は?
私は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???
}