0

N チャネルで個別のオーディオ ファイルの再生を実装する必要があります。ファイルは順次または並列に再生できます。Androidに実装する必要があります。

タイムライン:

|ファイル a...|ファイル d....|ファイル b...|......|ファイル k|....

|.....|ファイル g|ファイル c..|ファイル p.|....

私は 2 つのオプションを考えています。1 つは、ファイルを解凍して同時に再生する FMOD です。私が調査したところ、AudioTrack を使用してこれを手動で再生するよりも、FMOD がうまく適合し、はるかに簡単なようです。ただし、FMOD を使用すると、マージされた出力全体を再生せずに保存できるかどうかわかりません。

ここでソリューションを使用して出力をwavファイルにリダイレクトできることは知っていますが、最終出力を即座に作成してFMODを使用して保存することは可能ですか? それとも、手動で PCMS を 1 つのストリームにマージする必要がありますか..

ありがとう。

4

1 に答える 1

1

ここで重要な問題は、ファイルを保存する必要がある理由です。これをオフラインで行うことができれば、はるかに簡単になります。複数のファイル (並行して再生されたものを含む) の連結を記録する必要がある場合、FMOD を使用すると十分に可能です。

1 つの方法は、wave-writer-nrt 出力モードを使用することです。これにより、リアルタイムよりも高速に FMOD のプレイサウンド呼び出しに基づいて wav ファイルを出力できます。

もう 1 つの方法は、カスタム DSP を使用して、再生時にサブミックスのデータ ストリームにアクセスすることです。これは、実際に他のサウンドを同時に再生したい場合に便利です。

もう 1 つは、単純にサウンド オブジェクトを作成し、Sound::lock を使用して PCM データにアクセスする方法です。このデータを目的地に連結することができます。すべてのサウンドが同じサンプル レートとチャンネルである必要があることに注意してください。そうでない場合は、処理を行う必要があります。また、オーディオを自分でミックスしたい場合を除き、並列サウンドに対してこれを行うことはできないことに注意してください。

于 2011-09-30T05:07:02.367 に答える