2

私はAudioQueueベースのアプリケーションがほぼ完全に機能しています。しかし、私は問題を抱えています。AudioQueueAllocateBufferを呼び出すとき、特に512のバッファーサイズを要求します(データに対してFFTを実行しているため)。ただし、コールバックが発生すると、512未満のバッファサイズが発生することがあります。

これは腹立たしいです。これらの問題をスムーズにするために、着信データのある種の内部バッファリングを設定する唯一の解決策はありますか?割り当てバッファに値を指定すると、iPhoneが異なる数のサンプルを返すのはなぜですか?

私はもうすぐ怒ってしまうので、どんな助けでも大歓迎です。

乾杯!

オスカー

4

1 に答える 1

2

解決策は、必要な量のデータをバッファリングするまで、着信オーディオ データの独自の内部バッファリングを設定することです。

割り当てるバッファ サイズは、最小ではなく、そのバッファを満たすことができるデータの最大量を示します。Audio Queue API は、他の iOS オーディオ API の上に基づいており、その動作は、多くのこと (基礎となる API が何をしているか、他のアプリによって要求されたオーディオ セッションまたはサンプル レート、バックグラウンド状態、 OS のバージョン、異なるデバイス モデル上の異なる基盤となるハードウェアなど)、最も低いレベルのパブリック オーディオ API (RemoteIO) でさえ、返されるバッファー サイズが変化します。

于 2011-09-26T20:12:18.653 に答える