2012-04-16 6 views
1

2つのオーディオファイルからデータを読み込み、ミキシングして新しいオーディオファイルに書きたい。両方のオーディオが同じ持続時間を持ち、&のチャンネル数をサンプリングし、audio1の左チャンネルとaudio2の右チャンネルを取ってステレオ出力にしたいと思います。私は、パケットが読まれてデコードされるたびに、onAudioSamplesが呼び出されるMediaTool APIのデモで見ることができますが、このシナリオのために、私はonAudioSamplesが順番に呼び出されたときにAUDIO1とAUDIO2利用できる両方のデータを持っているために必要なものからXugglerのMediaTool APIを使用して2つのオーディオを混ぜる

audio2の右チャンネルでaudio1のサンプルの右チャンネルを変更する。

MediaTool APIを使用してこれを達成できますか?より低いレベルのAPIを使用する必要がありますか?

サンプルデータを変更する前に、両方のオーディオファイル(すべてConcatenateAudioAndVideoデモで実行されているようなもの)からすべてのパケットを読み取る必要がありますか?

while(reader1.readPacket() == null && reader2.readPacket()); 

ありがとうございます。

答えて

0

documentationでオーディオチャンネルを分割する方法が見つかりませんでした。しかし、IAudioSamplerIAudioResamplerは、オーディオチャンクに使用できます。それらのクラスから始めて、IMediaDataの下位レベルのデータを操作する場合。