android webview 播放 video经验总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了android webview 播放 video经验总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3011字,纯文字阅读大概需要5分钟。
内容图文
在目前PC浏览器上,对video的支持基本都没什么问题了。但是如果用webview去跑这样的页面就会遇到许多问题。
下面一段html
1 <! DOCTYPE html > 2 < html > 3 < head > 4 </ head > 5 < body onload ="test()" > 6 < video id ="video01" autoplay ="autoplay" > 7 < source src ="mov_bbb.mp4" type ="video/mp4" /> 8 < p >no support text</p> 9</video>10</body>11<script>1213function test() { 14var video01 = document.getElementById("video01"); 15 video01.preload ="auto"; 16 video01.autoplay =true; 17 video01.loop =true; 18} 19</script>20</html>
用js控制视频的自动播放,循环播放等特性,在PC上都没啥问题。但是如果用webview去装载的话,自动播放和循环播放可能用不了。
在android的webview上autoplay自动播放这个特性支持跟设备有关系,和android的版本号没关系(这个试过的)。并且大多数设备都是不能自动播放的。并且loop这个特性也基本上是不支持的。
如果在页面上自己添加一个按钮,通过点击按钮来调用video.play()方法,能不能播放呢。
< div > < button id ="playBtn01" >play</button></div>
js代码
var playBtn01 = document.getElementById("playBtn01"); playBtn01.addEventListener("click", function() { video01.play(); });
这样是可以正常播放的。
于是便会想到能不能在某个特定的时候(例如某个事件发生,或者定时器时间到)调用video.play()方法让其自动播放呢?
修改一下代码
1 function test() { 2 3 var video01 = document.getElementById("video01"); 4var timer = null; 5var playing = false; 6 7 video01.addEventListener("playing", function() { 8 playing = true; 9 }); 1011 timer = setInterval(playInterval, 1000); 121314function playInterval() { 15if (playing === false) { 16 video01.play(); 17 } else { 18if (timer !== null) { 19 clearInterval(timer); 20 } 21 } 22 } 23 }
@Override public void onPageFinished(WebView view, String url) { super .onPageFinished(view, url); // ...... view.loadUrl("javascript:onPageFinished();"); }
在js端
function onPageFinished() { console.log("page -- onPageFinished"); //在这里调用video.play播放便可以了var video01 = document.getElementById("video01"); video01.play(); }
这样便可以自动播放了。
原文:http://www.cnblogs.com/laozhbook/p/androidwebviewvideo.html
内容总结
以上是互联网集市为您收集整理的android webview 播放 video经验总结全部内容,希望文章能够帮你解决android webview 播放 video经验总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。