28

timesheets.js を使用しており、スライダーがアクティブなときに HTML5 ビデオを再生したいと考えています。私はこのコードを使用しています:

if (document.getElementById("v_"+element.id))
{
video = document.getElementById('v_'+element.id)
video.currentTime = 0;
video.play();
}

"video.currentTime = 0; を使用していない場合、ほとんどの場合動作します (ビデオが長すぎる場合を除く)。最初から再生されるようにビデオをリセットする必要があります。ビデオはリセットされますが、再生されません。遊びません。アイデアはありますか?

4

2 に答える 2

48

Stichy は彼自身の質問に十分な回答を投稿しましたが、この方法video.load()ではサーバーからビデオをリロードするため、不要な帯域幅が使用されます。

特に動画の読み込みは、サーバーに大きな負荷をかける可能性があります。ビデオが再生されるたびに、何メガバイトもロードしている可能性があると考えてください。

また、ユーザーがビデオの再ダウンロードを待つ必要がある短い期間もあります。

私が見つけた最も効率的でスムーズな解決策は、currenttimeプロパティを変更する前にビデオを一時停止することです。

そのようです:

video.pause();
video.currentTime = 0;
video.play();
于 2016-06-04T16:44:06.513 に答える