2009-08-25 9 views
3

2つのwavファイルを同時に再生したように1つに結合することは可能ですか?私はこれをプログラム的に行う必要があります。iPhone - 2つのwav/cafファイルを1つに結合する

私が今までに見つけた唯一の方法は、AVAudioRecorderを使って同時に両方を再生して出力を記録することでした。しかし、これは、ユーザーがヘッドフォンを使用している場合は機能しません。

誰かが正しい方向に向けることができますか?

ありがとうございました。

答えて

0

両方のwavsが同じエンコード/ビットレートなどを持っている場合は、2番目のファイルのwavヘッダー(wav形式の仕様に従って最初の44バイト)を取り除き、2番目の残りの部分を連結することができます最初にwav。

+0

しかし、ファイルを入れて順番に再生するのではないでしょうか?私はそれらを組み合わせて、結果のファイルを再生するので、同時に再生されているように感じます。 – lostInTransit

+0

わかりません。あなたのwavファイルによっては、この方法で検出可能な「遷移」があるかもしれません。 wav1の終わりとwav2の始まりのデータを補間することで、何とか "消す"ことができます。しかしもちろん、あなたのファイルのエンコーディング/コンテンツを分析する必要があります。 – ttvd

2

各ファイルのサンプルデータを読み、各サンプル値を平均し、結果を新しいファイルに書き込む必要があります。 ExtAudioFileを使用して、ヘッダーとサンプルデータを含むファイルを読み書きすることができます。

また、サンプルデータの長さによって値が異なるフィールドがあるため、ヘッダーをファイルの正しい長さで更新する必要があります。

関連する問題