これはそれほど難しくありません。重要なのは、録音したオーディオがどのようにフォーマットされているかを理解することです。WAV や AIFF などの非圧縮形式を使用すると、最も簡単です。WAV ファイル形式の (多くの) 説明の 1 つを次に示します: https://ccrma.stanford.edu/courses/422/projects/WaveFormat/
ほとんどの WAV ファイルは、データ チャンクが最後であれば簡単に追加できます (これは形式の要件である可能性がありますが、確かなことは思い出せません)。最後でない場合は、まずファイルをコピーして、データ チャンクが最後になるように変更する必要があります。ファイルが大きい場合、これは時間のかかるステップになる可能性があります。
それが完了したら、新しいオーディオ データをデータ チャンクに追加し、データ チャンク サイズ (データ チャンク内)、チャンク サイズ (RIFF 記述子内) など、ファイル内の別の場所にあるいくつかのデータを更新するだけです。 Subchunk1 のサイズ (fmt チャンク内)。(説明を読めば、すべて理解できるでしょう。) 追加中にアプリがクラッシュした場合に簡単に修正できるように、追加中にこれらのデータで何かをしたい場合があります。ユーザーのデータを破壊したい。
プロセスは AIFF と似ていますが、詳細に違いがあります。
MP3 の場合、これがどのように機能するかは頭の中で 100% 確信が持てません。MP3 ファイルは一連の独立したチャンクとして構造化されており、各チャンクには独自のミニ ヘッダーがあるため、メモリが機能する場合、プロセスは概念的に簡単です。理論的には、より多くのチャンクを追加できます。ただし、実際には、圧縮や ID3 タグなどのために、より複雑になります。