2012-01-20 4 views
3

私の理解から、Audio Queue Servicesはオーディオユニットを使用するオーディオユニットよりも高いレベルのAPIです。 OpenALではオーディオユニットも使用しています。 Audio UnitsはiOSの最低レベルのオーディオAPIです。カスタムオーディオ効果が必要な場合や、オーディオキューサービスを使用することができますか?

サウンドを録音し、オーディオストリームにカスタムフィルタを適用して再生する必要があります。オーディオキューサービスは録音に適しているようで、再生にも使用できます。しかし、AURemoteIOオーディオユニットのように、オーディオストリームに独自のアルゴリズムを適用できるかどうかはまだ不明です。

答えて

5

私の個人的な、そして時には苦しい経験から、ストリーミングタイプのアプリケーションにAudioQueueを使用するといいでしょう。それ以外の場合は、AudioUnitを使用してください。後者は低レベルかもしれませんが、私は複雑さに大きな違いは見られませんでした。

正直言って、AudioUnitはもっと操作が簡単でした。

AudioUnitでは、他のプラグインを使用してエフェクトを適用できるはずです。しかし、iOS 5 AURemoteIOが唯一のAudioUnitだったまで。明らかにiOS 5にはもっと多くのものがあります。まだ確認する機会はありませんでした。

バッファに対してアルゴリズムを実行して手動で実行する場合は、かなり多くのオープンソースDSPコードを見つけることができます。商用アプリもあります。本当に良いライブラリの1つは、ピッチシフトとタイムストレッチのためのDirac DSPです。

ここでは、この他の質問への回答でAURemoteIOを使用しての素晴らしいチュートリアルです:

Stopping and Quickly Replaying an AudioQueue

+1

+1。私はAudioUnitをとても楽しく使っています。ボイラープレートAUセットアップコードが完成したら、もう一度それを見る必要はありません。ほぼすべてがあなたのコントロール下にあるコールバックメソッドで起こります。 –

1

圧縮されていないオーディオを録画して保存する場合は、オーディオAPIを使用しないでキャプチャしたオーディオバッファまたはファイルに、独自のカスタムオーディオエフェクトを直接適用できます。次に、iOSオーディオAPIを使用して結果を再生します。

関連する問題