2013-10-03 57 views

回答

0

我會做這樣的事情:

  1. 設置自動播放西元ATTR爲false。
  2. 添加腳本:

    瓦爾VID =的document.getElementById( 「bgVid」); vid.oncanplay = vid.play();

,或者,你可以嘗試:

vid.oncanplaythrough = vid.play(); 
0

我可以考慮的唯一解決方案將使這樣的事情:

HTML:

<div id="video-container" style="position:relative; overflow:auto"> 
<img src="poster.jpg" id="videoposter" width=600 style="position:absolute; z-index:2" /> 
<video src="video.mp4" poster="poster.jpg" style="width:600px; height:400px"></video> 
</div> 

<a href="#" id="videoplay">Play the video</a> 

JAVASCRIPT

var video = document.getElementById('videoelement'); 

var btn_play = document.getElementById('videoplay'); 
btn_play.onclick = function() { 
video.currentTime = 0; 
video.play(); 
}; 

video.onloadeddata = function() { 
document.getElementById('videoposter').style.display = 'none'; 
}; 
0

我認爲海報圖片在視頻開始播放之前稍微消失是正常現象。我會解決這個問題的方法是在視頻前添加一個圖像。告訴視頻開始播放後,等待視頻元素上的播放事件被觸發。然後隱藏(甚至快速淡出)圖像。

事情是這樣的:

var playedBefore=false,myvideo=document.getElementById('myvideo') 
myvideo.addEventListener('playing', 
    function(){ 
     if(!playedBefore){ 
      setTimeout(function(){ 
       document.getElementById('myposter').style.display='none'; 
      },100);// Just a little extra time. 
     } 
     playedBefore=true; 
    }); 
myvideo.play(); 

你可以亂用事件和函數調用在http://www.w3.org/2010/05/video/mediaevents.html

另一件要做的事情是在視頻播放之前調用load()方法,然後再播放它,以便在您撥打play()函數時準備播放。

下面是一個JSFiddle,它可以完成所有這些工作,並且可以淡化海報:http://jsfiddle.net/jdwire/CM4dg/