0

私はしばらく Javascript プログラミングを行ってきましたが、それは常にデータの更新、保存、操作などに関連していました。

ブラウザー内のオーディオ プレーヤーのようなものがインターネットからオーディオ (特にライブのストリーミング オーディオ) を取得し、コンピューターのスピーカーから再生する方法がわかりません。

これはJavascriptでどのように起こりますか?

たとえば、Web サイトは Javascript を使用してスピーカーにライブ オーディオをどのように配信しますか? http://player.streamtheworld.com/liveplayer.php?callsign=WVIEAM

4

1 に答える 1

1

ライブ オーディオは、事前に録音されたオーディオと大差ありません...受信したとおりに再生され、ライブの場合は録音時にエンコードされます。

最近のブラウザでは、オーディオ ストリーミングの最も基本的な形式は単純な<audio>タグです。属性をファイルからストリームに変更することsrcで、次のことが可能になります。

<audio src="http://cdn.audiopump.co/waug/main_mp3_256k" />

この場合、ブラウザは音声がライブ ストリームであることを知りません。わかっているのは、HTTP 経由で取得し、受信中に再生しているメディア データがあることだけです。

ブラウザーの互換性が良好な場合は、MediaSource APIを使用して、より詳細な制御 ( HLSのようにストリームの途中で異なる品質のストリームに切り替えるなど) を提供し、ブラウザーが何をキャッシュしようとしないようにすることをお勧めします。事実上、無限のサイズのファイルです。

たとえば、Web サイトは Javascript を使用してスピーカーにライブ オーディオをどのように配信しますか? http://player.streamtheworld.com/liveplayer.php?callsign=WVIEAM

この特定のサイトは Triton Digital によって運営されており、まだ Flash を使用しています。多くのサイトでは、HTML5 オーディオが広くサポートされていなかった時代からの名残りとして、今でもこれを行っています。今日これを行う理由はほとんどありません。

Flash を使用するその他の理由には、互換性のないサーバー プロトコルが含まれます。ストリーミング サーバーが RTMP を使用している場合、ブラウザは RTMP に対応していないため、Flash に行き詰っています。

ADTS でラップされた AAC をブラウザーが適切に処理しないため、ブラウザー内での AAC のストリーミングに問題がありました。(このカプセル化は、ほとんどの状況で AAC をストリーミングするために必要です。) ほとんどのブラウザーはこれを解決していますが、これが Triton Digital がまだ Flash ソリューションを使用している理由だと思います。Flash を使用することで、AAC/ADTS ストリームを再生できます。

于 2016-03-12T02:37:09.783 に答える