3

Androidで1つのアプリケーションを作成しています。私のアプリケーションはオーディオを録音し、SD カードに保存して
リスト形式で表示します。私はこれをすべて行いますが、このオーディオを編集する必要があります。たとえば、録音
を開いてから、この録音を最後から再開し、その録音にオーディオを追加できるようにする必要があります。

のように: 私の録音「MyRecord01」の時間が 04.06 秒で、録音にさらにオーディオを追加したい
場合、04.07 から開始してオーディオを追加する必要があります。

私はたくさん検索しましたが、関連するものは何も見つかりませんでした。任意のリンクまたは参照に私を案内してください。
もしくは何かヒントをください。
前もって感謝します。

4

2 に答える 2

1

必要なコードは次のとおりですそれがうまくいくことを願っています。

問題が間違っていると判断した場合は、お気軽にコメントして教えてください。

于 2012-08-13T14:01:15.757 に答える
0

これはそれほど難しくありません。重要なのは、録音したオーディオがどのようにフォーマットされているかを理解することです。WAV や AIFF などの非圧縮形式を使用すると、最も簡単です。WAV ファイル形式の (多くの) 説明の 1 つを次に示します: https://ccrma.stanford.edu/courses/422/projects/WaveFormat/

ほとんどの WAV ファイルは、データ チャンクが最後であれば簡単に追加できます (これは形式の要件である可能性がありますが、確かなことは思い出せません)。最後でない場合は、まずファイルをコピーして、データ チャンクが最後になるように変更する必要があります。ファイルが大きい場合、これは時間のかかるステップになる可能性があります。

それが完了したら、新しいオーディオ データをデータ チャンクに追加し、データ チャンク サイズ (データ チャンク内)、チャンク サイズ (RIFF 記述子内) など、ファイル内の別の場所にあるいくつかのデータを更新するだけです。 Subchunk1 のサイズ (fmt チャンク内)。(説明を読めば、すべて理解できるでしょう。) 追加中にアプリがクラッシュした場合に簡単に修正できるように、追加中にこれらのデータで何かをしたい場合があります。ユーザーのデータを破壊したい。

プロセスは AIFF と似ていますが、詳細に違いがあります。

MP3 の場合、これがどのように機能するかは頭の中で 100% 確信が持てません。MP3 ファイルは一連の独立したチャンクとして構造化されており、各チャンクには独自のミニ ヘッダーがあるため、メモリが機能する場合、プロセスは概念的に簡単です。理論的には、より多くのチャンクを追加できます。ただし、実際には、圧縮や ID3 タグなどのために、より複雑になります。

于 2012-08-06T01:04:20.823 に答える