多くのオーディオ要素を含むページがあり、その中には非常に長いものがあります(最大2時間まで)。要するに、彼らは、次のような作成され、制御されている: HTML5 Audio要素を一時停止すると、ファイル全体がダウンロードされます
var a = new Audio();
a.preload = 'metadata';
a.src = 'long-track.mp3';
a.play();
それが果たしている
は、ブラウザ(この場合ではChromeは、)正しく範囲の要求を行い、サーバが「206部分コンテンツ」を返し、何のために一度に約2分のデータのように見えます。 〜2MBのデータがロードされた後、データの要求を停止します。ここまでは順調ですね。次に、これが実行されます:a.pause();
これにより、ブラウザはファイルの残りすべてをダウンロードします。明らかに、ユーザーがいくつかのトラックの最初の数秒を聞くことを決めた場合、これは問題になる可能性があります。ギガバイトの不要なデータのダウンロードを開始します。
私はhow to force the full file to be bufferedと尋ねるいくつかの他の質問を見たことがありますが、実際には正反対です。
あなたが一時停止したいときにどのように動作するか知っていますか? – nickf
これを実行すると、その特定の