音楽を生成するアプリを書いています。私は OpenAL を使用して次のことを行っています。ピッチを変更します。オーディオをミックスします。結果のオーディオを再生します。再生中のオーディオを録音する必要があります。OpenAL では出力オーディオを録音できないことを理解しています。私が見つけた他のオプションは、オーディオユニットを使用することです。ただし、オーディオをミックス/ピッチ/ゲインして録音する必要があるため、出力バッファーにアクセスできるように、すべてのオーディオ処理を記述する必要があるようです。これは正しいです?または、これを行うために使用できる別の iOS API があります。そうでない場合、出力を記録できるサードパーティのソリューションは既にありますか (有料のソリューションは問題ありません)。
質問する
805 次
2 に答える
1
あなたは正しいです。
Audio Units は、アプリがオーディオを処理してから録音できる唯一の iOS パブリック API です。
OpenAL の出力を記録しようとすることは、非公開 API の使用に対する Apple の規則に違反する可能性があります。
別の方法として、RemoteIO オーディオ ユニット上で実行する OpenAL の必要な部分を完全に書き直すこともできます (一部の部分はオープン ソースである可能性があります)。
于 2013-03-22T03:49:41.773 に答える
0
最適な方法は、必要なだけの柔軟性が得られる Core Audio である可能性が高いです。拡張オーディオ ファイル サービスのリファレンス ページを参照してください。
拡張オーディオ ファイルを使用すると、ファイル形式とオーディオ ストリーム バッファを設定して、最終的なミックス出力を送信し、ExtAudioFileWrite()
関数を使用してサンプルをファイルに書き込むことができます。
于 2013-03-21T23:11:08.373 に答える