私は、decodeAudioData を使用して、より大きな mp3 ファイルの最初の部分を JavaScript でデコードして再生しようとしています。私の最初の粗雑なアプローチは、mp3 の先頭からいくつかのバイトを切り取り、decodeAudioData に供給することでした。驚くべきことではありませんが、これは失敗します。
掘り下げた後、decodeAudioData は、Fair Dinkum Thinkumによって文書化されているように、「有効な mp3 チャンク」でしか機能しないようです。
ただし、有効な mp3 チャンクの構造については明確化されていません (前述の著者はこれについて触れていません)。そこに存在するさまざまなmp3スプリッターを認識していますが、プログラムでこれに取り組みたいと思います。(サーバー側でnodejsを使用して、一種の「貧乏人のストリーミング」を実装しようとしています)。
では、mp3 フレーム ヘッダーの分割で十分でしょうか、それとももっと行う必要がありますか? (おそらく、最後にいくつかのデータを追加して、すべてのチャンクを「閉じる」?) 「バイトリザーバー」はどうですか? これは問題を引き起こしますか? 記録のために、私は現在 128kbps の cbr mp3 を使用しています。これにより、何らかの方法でプロセスが簡素化されますか?
decodeAudioData が有効なデータとして期待するものに関する情報をいただければ幸いです。
ありがとうございました。
PS: これはおそらく、Fair Dinkum Thinkum の投稿についての説明を求める要求であることは承知していますが、私の評判が低いため、コメントを投稿できません。そのため、他に方法がわかりませんが、新しい質問があります。再度、感謝します。