我正在使用Webview,有一个html5视频标签:
<video id="video" class="video-full-screen" preload="none" poster="{poster URL here}" webkit-playsinline>
<source id="mp4" src="{Video mp4 source here}" type="video/mp4">
<p>Your user agent does not support the HTML5 Video element.</p>
</video>
对于 Android API 17+ 的自动播放,我使用视频标签上的 autoplay="autoplay"
属性,同时使用 setMediaPlaybackRequiresUserGesture
(设为 false)。
对于 API 级别低于 17 的情况,我使用:
var video = $('video');
video.bind("loadeddata", function(){
setTimeout(function(){
video[0].play();
},100);
});
这个功能在所有设备上都可以使用,但是在Android 4.0.4(三星Galaxy S3)上无法正常工作。在这个设备上,它的工作是随机的(我找不到任何复现场景,它只是随机地工作)。 我注册了“ playing”事件:
video.bind("playing", function(){
console.log("playing");
});
我看到当视频无法播放时,会触发这个事件。我看到一个灰色屏幕,里面有播放器图像。即使过了几秒钟,视频的当前时间仍然为0。