パブリック ストリーミング API を使用して、Grooveshark から曲をストリーミングできます。これをjPlayer(jplayer.org)で使用していますが、曲を正しくストリーミングしています。
しかし問題は、Firefox (最新バージョンで確認済み) では、曲の全継続時間が00:00 から曲全体の長さまで増加し続けることです。基本的に、完全な曲の長さはバッファリングされた曲の量です。
たとえば、04: 00 分の長さの曲はバッファリングを開始します。曲の 4 分の 1 (つまり 01:00 分) をバッファすると、 jPlayerは曲の長さを 01:00分と表示しますが、本来は 04:00 分です。
スクリーンショット: (再生中の曲の合計の長さは 05:06 分です)
http://i.stack.imgur.com/wzxPx.png
Google Chrome (最新バージョンで確認) では、曲の全期間が表示され、jplayer では、曲の先頭からでも曲全体がバッファリングされていることが示されます。
スクリーンショット: (Chrome は曲全体がバッファリングされていることを示していますが、まだバッファリング中です)
http://i.stack.imgur.com/PSkct.png
jPlayer は最初に HTML5 を使用し、HTML5 がサポートされていない場合はフラッシュにフォールバックします。Google Chrome は、HTML5 を使用した mp3 の再生をサポートしています (Grooveshark ストリームは mp3 です)。ただし、Firefox は HTML5 の mp3 をサポートしていません。
したがって、 Firefox が flash を使用し、Chrome が HTML5 を使用していることは明らかです。
今私が解決したい問題は次のとおりです:-
- Firefox で曲全体を取得し、他のすべてをそのまま維持します。
- Chrome で曲の全期間を保持し、バッファされた曲の正しい量を表示します。
これはすべて、grooveshark Web サイト自体も同じ stream.php ファイルを使用しているため可能です。
Grooveshark も独自のフラッシュ プレーヤーを提供していますが、十分な機能がなく、特に HTML5 ではありません。
jPlayer でそれが不可能な場合は、HTML5 をサポートし、ストリーミングに適したより良い代替案を提案してください。