我正在使用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) .
对于低于17的API级别,我使用:
var video = $('video');
video.bind("loadeddata", function(){
setTimeout(function(){
video[0].play();
},100);
});
这适用于所有设备,但Android 4.0.4(三星galaxy s3) . 在这个设备上,它随机工作(我找不到任何复制方案 . 它只是随机工作) . 我注册了“玩”活动:
video.bind("playing", function(){
console.log("playing");
});
我看到视频无法播放时会触发此事件 . 我看到里面有玩家形象的灰色屏幕 . 即使在几秒钟之后,视频的当前时间也保持为0 .
2 回答
您可能需要在java接口方法中覆盖@JavascriptInterface .
所以,将代码更改为
像这样 . 希望它能帮助你 .
这里是演示
http://jsfiddle.net/dineshk/fvnr0zex/2/
这是绝对的工作现在在我的应用程序中 .
当使用Javascript附加视频标记时,这将起作用 .
这里是Javascript代码