2

CoreAudio ブック (ラフ カット) から AudioQueues について学び始めたところです。基本的にAppleチュートリアルの例と同じです。すべてが正常に機能しています。

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???
}
4

1 に答える 1

2

私の userData 構造体は、ヘッダー ファイルで ivar として宣言されていませんでした。新人ミス…

于 2011-02-04T23:01:57.007 に答える