1

HTML5 には、ビデオ内のバッファリングされた時間範囲の範囲を表示する関数があります。最後に追加された「バッファリング」セクションを表示したいのですが、これは非常に難しいことがわかっています。

基本的に、ビデオの時間 (00:16 など) をクリックすると、ビデオがまだバッファリングされていない場合は、バッファリングが開始されます。そのため、ビデオがロードされると、16 秒から 18 秒、次に 16 秒から 20 秒というようにバッファができてしまいます。ここで、バッファリングされていないビデオのその前の別の場所をクリックするとします。00:05 をクリックします。「バッファリングされた」アレイには、16 ~ 20 および 5 ~ 6 が含まれます。

ただし、5 秒から 6 秒は、時間範囲配列の 16 秒から 20 秒の前に追加されます。つまり、配列の最後の要素を最新のバッファー セクションとして選択するだけではなく、最初の要素を選択する必要があります。次に、5 のマークの前の別の場所をクリックすると、配列の最初の部分が別の値になります。この方法で追加されているため、追加された最新のバッファー セクションが見つかりません。

これを見つけるための最善の方法は何ですか?

4

1 に答える 1

2

これを行う最も簡単な方法は、新しいものがバッファーに追加されるたびTimeRangesに、プロパティ内のオブジェクトのコピーを作成することです。buffer次に、この「履歴」を使用して、時間範囲が追加された順序を見つけることができます。

たとえば、jQuery の場合:

var history = [];
$(yourvideo).on("seeked",function(){
    history.push(jQuery.extend({}, this.buffered));
});
于 2013-02-26T19:10:05.113 に答える