2014-01-15 126 views
0

我有一個HTML5視頻,只有在通過手機編譯時才閃爍黑色。視頻開始時,海報和視頻的第一幀之間會出現黑色閃光。閃光持續0.5秒至5秒。當我採用完全相同的頁面並在瀏覽器中運行而不是手機時,它會從海報無縫播放到視頻。PhoneGap內嵌html5視頻黑色閃存視頻啓動前

如果我一次播放視頻並回到視頻,就沒有閃光燈,這只是第一次。我在等待足夠的時間完成視頻測試的過程中進行了測試,因此並不是它們尚未完全加載。

我可以想到一些竅門來解決這個問題,但我希望有一個乾淨的解決方案。

的Javascript:

onVideoExit() 
videoElement.currentTime = 0; 
videoElement.pause(); 

onVideoEnter() 
videoElement.play(); 

HTML:

<div> 
    <video width="140" height="210" webkit-playsinline preload> 
     <source src=http://www.w3schools.com/html/mov_bbb.mp4 type="video/mp4"> 
    </video> 

</div> 

config.xml文件:

<preference name="AllowInlineMediaPlayback" value="true" /> 
+0

一個側面說明,「預加載」屬性對此沒有任何影響,它只是需要更長的視頻關閉海報,但黑色閃光的長度相同 – brandon

+0

等待loadeddata事件還沒有按沒有幫助。即使在播放視頻前等待5分鐘,閃光仍會發生。自刷新視圖後第一次播放視頻時,它會閃爍黑色。 (如果視頻很小或者我在快速上網,它不會閃黑)。我認爲IOS webview庫沒有正確處理加載的事件。視頻需要時間從海報圖片切換到視頻 – brandon

回答

0

你可以嘗試添加事件偵聽器,知道什麼時候是正確加載視頻。

var theVideo = document.getElementById("myAwesomeVideo"); 
theVideo.addEventListener('loadeddata', function() { 
    theVideo.play(); 
}); 
+0

忘了提,我試過了。這只是在手機上。移動Safari瀏覽器處理它很好。我可以設置preload屬性或等待loadeddata事件。不管如何,它在播放內聯之前閃爍黑色的時間似乎取決於帶寬和視頻大小 – brandon