2012-04-06 4 views
2

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

マイセットアップ:MusicPlayerのAPIを使用して、私はいくつかのAUSamplersを持っている - > MixerUnit - > RemoteIO

オーディオ再生が素晴らしい作品。オーディオ出力をファイルに保存する機能を追加したいと思います。私はRemoteIOのレンダリングコールバックでこれを行うでしょうか?

ヒントやサンプルコードへの参考になりました。

答えて

1

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

+3

ExtAudioFileWriteAsync(outFile、numberFrames、&bufferList);これを行うため、RemoteIOコールバックから呼び出すことができます。それは本当にそこにあるすべてです。 – hooleyhoop

+0

録音は動作していますが、音が歪んでいます - 指定したフォーマットに問題がありますか?私はここに質問@を投稿しました:http://stackoverflow.com/questions/10067117/recording-from-remoteio-resulting-caf-is-pitch-shifted-slower-distorted - ヒントは非常に感謝! –

+0

解決策をここに掲載しました:http://stackoverflow.com/questions/10067117/recording-from-remoteio-resulting-caf-is-pitch-shifted-slower-distorted –

関連する問題