1

私はOpenALを使用してココアタッチアプリに取り組んでいますが、強制された場合は別のフレームワークに切り替えてもかまいません(3Dのものは本当に必要ありません)。

サウンドを逆方向に再生する方法を探していましたが、Audio Unitを使用した(非常に複雑な)例しか見つかりませんでした。OpenALを使用して逆方向に再生できるように、バッファを逆方向に保存する方法はありますか?

4

1 に答える 1

2

ウェーブ データの各サンプルを並べ替えることで、サウンドを逆方向に再生できます。これは、バイナリ データの操作と同じくらい簡単です。

openAL には、データの末尾から最初のデータまでサンプルを読み取る機能はありませんが、サンプル サイズのサイズのバッファーを使用してデータを openAL にエンキューすることで実行できます。たとえば、16 ビット ウェーブを使用している場合は、サイズが 2 バイトの大量のバッファが必要になり、それを openAL に 1 つずつ逆方向にエンキューする必要がありますが、これはあまり効率的ではありません。

最初にウェーブデータを前処理して逆方向に処理する方が良いので、通常のデータと逆方向のデータの 2 つのデータ (またはトラック) があれば、アプリのイベントに基づいてどのデータ/トラックを再生できます。

于 2010-03-06T16:34:17.087 に答える