私は現在、オーディオファイル(mp3ですが、デコード時間を短縮するためにWAVに変更できます)を再生し、同時にオーディオを録音するアプリを開発しています。
同期のために、オーディオの再生が開始された正確な時間を推定したいと考えています。
AudioQueue を使用して各バッファーを制御すると、最初のバッファーが空になった時間を推定できます。私の質問は次のとおりです。
- AudioQueue バッファが排出されてから実際に再生されるまでのハードウェア遅延はどのくらいですか?
- (ハードウェア遅延測定で) より優れたパフォーマンスを持つ低レベル API (具体的には AudioUnit) はありますか?
- バッファのデコードなしで、AudioQueue を使用してハードウェア レイテンシの上限を設定することは可能ですか? 5ms は私が扱えるもののように思えますが、それ以上は別のアプローチが必要になります。
ありがとう!