AudioQueueServices を使用してデータの連続ストリームを記録しています。バッファがデータでいっぱいになったときにのみコールバックが呼び出されることを理解しています。実際には、最初のコールバックはバッファがいっぱい、2 番目のコールバックは 3/4 いっぱい、3 番目のコールバックはいっぱい、4 番目は 3/4 いっぱい、というように続きます。これらのバッファは 8000 パケット (8khz オーディオを録音) であるため、毎回 1 秒のオーディオをコールバックに戻す必要があります。Audio Queue のバッファ サイズが正しいことを確認しました (動作によってある程度確認されています)。私は何を間違っていますか?別の RunLoop を使用して AudioQueueNewInput で何かを行う必要がありますか? 試してみましたが、これは違いを生むようには見えませんでした...
ちなみに、デバッガーで実行すると、各コールバックは8000 個のサンプルでいっぱいです。これはスレッド化/タイミングの問題だと思います。