0

さまざまなサウンドのオーディオ バッファーをリアルタイムで操作する必要があるオーディオ アプリを実行しています。バックグラウンドで実行されている非同期クロックが必要です。これにより、オーディオ再生の停止時間と開始時間、および記録と記録の停止など、さまざまなオーディオ操作の目的でミリ秒単位のさまざまなコールバックで時間を取得できます。

精度によって、さまざまなプロセスによって引き起こされるレイテンシーを特定し、コードでそれを補正できるようにする必要があります。

iOSでそのような時計をどのように実装しますか?

4

2 に答える 2

1

RemoteIO オーディオ ユニットを使用していて、オーディオ セッションから非常に短いオーディオ バッファーを要求している場合、リモート コールバックとコールバック バッファー内の PCM サンプルをカウントすることが、オーディオをサブミリ秒の解像度に合わせる最も正確な方法のようです。それ以外は、コールバック間のレイテンシーの分だけずれます。

かなり正確な単調な時間測定のために、mach_time.h ヘッダーでタイマーを使用することもできますが、これはオーディオ再生レートに同期されず、サブシステム間のさまざまな遅延も考慮されません。

于 2012-11-02T21:25:35.290 に答える