2011-07-06 4 views
16

サーバからPCMオーディオデータを小さなチャンクで受信し、アレイに格納しています。今私はいくつかのHTML5機能を使用して、間違いなくこれらのオーディオチャンクを順番に再生したいと思います。私は「可能」のソリューションとしてで探しています2つのオプションがあります。Data URI HTML5のオーディオデータストリーミング

  • Web audio API
    1. HTML5オーディオタグ私は、これらのオプションを調査していますが、私は他のオプションまたはビューを提案してください私が見ている2つの選択肢についてクロスプラットフォームのソリューションは最高ですが、私はChromeのソリューションのみを解決することができます

    答えて

    2

    オプション1は、オーディオタグが生のオーディオデータを再生しないため、おそらく動作しません(PCMオーディオデータ、または私は間違っていますか?)。すべてのブラウザには特定のコーデックが必要です。オーディオタグの先頭には、ギャップのないものを再生するための信頼性がありません。

    オプション2が動作する可能性があります。 WebオーディオAPIには、おそらく生データで埋められて再生されるバッファが含まれていますが、これまで試みたことはありません。今の大きな欠点はそれです。 a。 Chromeのみb。ユーザーはabout:flagsと入力してchromeを設定し、Web Audioを有効にする必要があります。

    第3の選択肢は、中間的なものであるオーディオデータAPIです。私はそれを自分で試したことはありませんが、スペックからはあなたが探しているもののように見えます。あなたは:) https://wiki.mozilla.org/Audio_Data_API#Writing_Audio

    自分でいくつかの研究を行う必要があるだろうので、私は私の頭の上にこれらの答えを与えている、と私はまだHTML5にかなり新たなんだということ、しかし実装についてではありませんしてください知らんオーディオ。

    +1

    生のPCMを再生しないことについては正しいですが、WAVファイルは生のオーディオ(「ラッパー」は44バイトのヘッダーを意味します)を囲む非常に薄いラッパーです。これはしばしば行われています。しかし、今はもちろん、2年後、WebオーディオAPIがより良い賭けと思われます。 –

    19

    音声のスケジューリングは、Web Audio APIが設計したものです。デコードされたPCMオーディオチャンクが型付き配列(AUDIO_CHUNKS)である場合は、各チャンクのオーディオバッファを作成し、正確な時刻(次々に)のスケジュールをnoteOn()を使用して行うことができます。何かのように: