2014-01-15 179 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