2016-12-04 16 views
0

html5ビデオを完全に読み込んだ後に再生する方法を探しています。ビデオがまだ読み込まれている間に、ビデオプレースホルダーの画像が表示されます。 前に私はsetTimeout関数を使用しましたが、これを達成する方法ではありません。HTML5ビデオの読み込み後

setTimeout(function() { 
    $('banner__video--fallback').fadeOut(); 
    $('.banner__video')[0].play(); 
}, 800); 

このように、読み込まれた後にビデオを再生する方法は何ですか?

EDITED: 解決策 'canplaythrough'ビデオでは、ビデオがまだ完全に読み込まれる前に再生されています。

$('.banner__video')[0].addEventListener("canplaythrough", function() { 
    $('banner__video--fallback').fadeOut(); 
    $('.banner__video')[0].play(); 
}, false); 
+0

可能な複製を(http://stackoverflow.com/questions/13864795/wait-until-an-html5-video-loads)[HTML5のビデオ負荷まで待って] – SLePort

答えて

0

なぜHTML5ビデオ属性を使用しないのですか? JavaScriptは必要ありません。

<video autoplay poster="/placeholder.jpg"> 
    <source src="video.webm" type="video/webm"> 
    <source src="video.mp4" type="video/mp4"> 
</video> 

autoplayは、ロードされるとすぐにビデオを再生し、ポスターは、ビデオがロードされている間にビデオの中に立つように画像を割り当てます。

あなたがここに続きを読む必要があります。のhttp://www.w3schools.com/html/html5_video.asp

0

次のようなAJAX呼び出しでビデオをダウンロードすることができます Another: Force Chrome to fully buffer mp4 videoまたはちょうどcanplaythroughプロパティを使用します。

+0

だから私はcanplaythroughに行こうとしていますが、完全に読み込まれる前に再生していました。 $( '。banner__video')[0] .addEventListener( "canplaythrough"、function(){ $( 'banner__video - fallback') .fadeOut(); $( '。banner__video')[0] .play(); }、false); –

+0

@MaryOleksiukはい、このイベントは再生に十分なデータが読み込まれたときにトリガされるためです。 ajaxコールで試してください(リンクを参照)。 – mitch

関連する問題