3

音楽を生成するアプリを書いています。私は OpenAL を使用して次のことを行っています。ピッチを変更します。オーディオをミックスします。結果のオーディオを再生します。再生中のオーディオを録音する必要があります。OpenAL では出力オーディオを録音できないことを理解しています。私が見つけた他のオプションは、オーディオユニットを使用することです。ただし、オーディオをミックス/ピッチ/ゲインして録音する必要があるため、出力バッファーにアクセスできるように、すべてのオーディオ処理を記述する必要があるようです。これは正しいです?または、これを行うために使用できる別の iOS API があります。そうでない場合、出力を記録できるサードパーティのソリューションは既にありますか (有料のソリューションは問題ありません)。

4

2 に答える 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 に答える