iPhoneアプリで2つの.cafオーディオファイルをマージしたいですか?
方法を教えていただけますか?
ありがとう!
オプション1:
このリンクを参照してください:
その投稿のinvalidnameの答えは言う:
MP3はストリーム形式です。つまり、ファイルの先頭または末尾に大量のメタデータがありません。これには多くの欠点がありますが、利点の1つは、MP3ファイルを1つのファイルに連結して再生できることです。
これは、NSMutableDataに連結することで実行していることとほぼ同じですが、その欠点は、メモリが不足する可能性があることです。もう1つのオプションは、NSFileHandleを使用してディスク上にファイルを作成することです。
これは、ほとんどのファイル形式(aac / m4a、aif、cafなど)では機能しません。MP3は文字通りディスクにダンプされた単なるストリームであり、フレームヘッダーにメタデータが含まれています(またはID3ではフレーム間に挟まれています)。そのため、MP3が機能します。
オプション-2:
2つの.cafオーディオファイルをiPhoneの1つのオーディオファイルに結合します
この投稿のMidhereによる回答:
ExtAudioFileServiceを使用してそれを行うことができます。iOS開発者ライブラリでは、1つのオーディオファイルを別の形式に変換するための2つの例を提供していました。これらでは、読み取り用に1つのオーディオファイルを開き、書き込み用に別のファイル(変換されたオーディオ)を開いています。コードを変更または更新して、2つのファイルから読み取り、同じ形式(caf)または圧縮形式で1つの出力ファイルに書き込むことができます。まず、最初のオーディオファイルを開き、そこからすべてのパケットを読み取り、新しいオーディオファイルに書き込みます。最初のオーディオファイルが終了したら、ファイルを閉じ、2番目のオーディオファイルを開いて読み取ります。次に、2番目のオーディオファイルからすべてのパケットを読み取り、新しく作成されたオーディオファイルに書き込み、2番目のオーディオファイルと新しいオーディオファイルを閉じます。
これらのサンプルコードのリンク(1、2)を見つけてください....これがお役に立てば幸いです...そして幸運を祈ります。:)
それで、それを別のフォーマットに変換してから、それを組み合わせてみてください。
オプション-3:
参照する:
この投稿のdinethによる回答:
誰かが答えを知りたがっているなら、それをする方法があります。AudioFilesAPI呼び出しを使用する必要があります。基本的に、あなたは:
正しいパラメータ(ビットレートなど)でAudioFileCreateを使用して新しいオーディオファイルを作成します。最初のファイルを開き、パケットを読み取り、新しく作成されたファイルに書き込みます。2番目のファイルを開き、同じことを行います。最初のファイルを書き込んだ後、カウンターがゼロになっていないことを確認してください。AudioFileClose-これで完了です。注意事項:ローカルファイルの場合、スペースをエスケープするメソッドを実行する必要があります
以上です!
オプション-4:
少し別のメモで。
あなたはCAFでファイルを記録していて、それらを結合しようとしていると思います。その場合、最終的にcaf以外の形式でファイルを記録してみることができます。
そのためにこのリンクを試してみてください:
お役に立てれば。