2

私は周りを検索しましたが、RemoteIO Audio Unit からオーディオを保存する良い例やチュートリアルは見つかりませんでした。

私のセットアップ: MusicPlayer API を使用して、いくつかの AUSamplers -> MixerUnit -> RemoteIO があります。

オーディオ再生はうまくいきます。オーディオ出力をファイルに保存する機能を追加したいと思います。RemoteIO のレンダー コールバックでこれを行いますか?

コード例へのヒントやポインタは大歓迎です!

4

1 に答える 1

1

Audio Unitコールバックのレイテンシ要件が厳しいため、RemoteIOコールバック内で同期ファイルアクセス(またはブロックする可能性のあるその他の呼び出し、メモリ管理やOSロックアクションを伴う)を行わないでください。代わりに、オーディオデータを別のバッファ(たとえば、より大きな循環バッファ)にコピーし、コピーされたデータの量を示す状態を設定します。次に、別のスレッドで、データの量が十分になったら、そのバッファーの内容をファイルに書き込みます。これは生のPCMファイルである可能性があり、後でAVAssetReader/Writerによって別のオーディオファイルタイプに変換できます。

于 2012-04-06T16:55:25.670 に答える