Android HTML5 Video视频标签自动播放与自动全屏问题解决
2013-07-28 00:16
1076 查看
为了解决 HTML5Video视频标签自动播放与全屏问题,在网上找了很多相关资料,网上也很多关于此问题解决方法,但几乎都不能解决问题,特别对各大视频网站传回来的html5网页视频自动播放与全屏问题,我是这样解决的:
这段代码网上很多地方能找到的,但这是实现全屏播放的前提,一旦触发全屏事件,系统就会调用onShowCustomView方法
实现自动播放功能,就是在网络加载完成后,再延时一些时间如1s后,执行这JAVA脚本
这样就可以自动开始播放了
要实现让它自动全屏播放,可以执行这JAVA脚本:
注意实现全屏播放要在视频开始播放后,才能调用,否则可能会现异常
如果你想知道视频什么时候开始播放,就是得到视频开始播放事件,方法如下:
先在代码上定义这样接口
然后在在视频开始播放之前,执行这JAVA脚本
当然了你也可以得到视频播放结束事件执行这JAVA脚本
一般在android平台上,网络视频网站可能不会给你传回Html5 Video网页,这时候就可以设置UserAgent,如可能设置成IPhone或IPad环境,让它返回tml5 Video网页
以上方法就是我在Android 网页视频一些心得,也许能给在你这方面开发提供帮助
webview.setWebChromeClient(new WebChromeClient() { public void onShowCustomView(View view, CustomViewCallback callback) { Log.e("Media", "onShowCustomView ............ "); if (myCallback != null) { myCallback.onCustomViewHidden(); myCallback = null ; Log.e("Media", "myCallback.onCustomViewHidden()..."); return; } long id = Thread.currentThread().getId(); ViewGroup parent = (ViewGroup) webview.getParent(); String s = parent.getClass().getName(); Log.v("WidgetChromeClient", "rong debug Ex: " + s); parent.removeView( webview); parent.addView(view); myView = view; myCallback = callback; } private View myView = null; private CustomViewCallback myCallback = null; public void onHideCustomView() { long id = Thread.currentThread().getId(); Log.v("Media", "onrong debug in hideCustom Ex: " + id); if (myView != null) { if (myCallback != null) { myCallback.onCustomViewHidden(); myCallback = null ; } ViewGroup parent = (ViewGroup) myView.getParent(); parent.removeView( myView); parent.addView(webview); myView = null; } } });
这段代码网上很多地方能找到的,但这是实现全屏播放的前提,一旦触发全屏事件,系统就会调用onShowCustomView方法
实现自动播放功能,就是在网络加载完成后,再延时一些时间如1s后,执行这JAVA脚本
String js="javascript: var v=document.getElementsByTagName('video')[0]; " +"v.play(); "; webview.loadUrl(js);
这样就可以自动开始播放了
要实现让它自动全屏播放,可以执行这JAVA脚本:
String js="javascript: var v=document.getElementsByTagName('video')[0]; "+"v.webkitEnterFullscreen(); "; webview.loadUrl(js);
注意实现全屏播放要在视频开始播放后,才能调用,否则可能会现异常
如果你想知道视频什么时候开始播放,就是得到视频开始播放事件,方法如下:
先在代码上定义这样接口
private final class DemoJavaScriptInterface { DemoJavaScriptInterface(){} public void clickonAndroid(){ Toast.makeText(getApplicationContext(), "视频开始播放...",Toast.LENGTH_SHORT).show(); } public void endonAndroid(){ Toast.makeText(getApplicationContext(), "视频结束",Toast.LENGTH_SHORT).show(); } }
webview.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");
然后在在视频开始播放之前,执行这JAVA脚本
String js="javascript: var v=document.getElementsByTagName('video')[0]; " +"v.addEventListener('playing', function() { window.demo.clickonAndroid(); }, true); "; webview.loadUrl(js);
当然了你也可以得到视频播放结束事件执行这JAVA脚本
String js="javascript: var v=document.getElementsByTagName('video')[0]; " +"v.addEventListener('ended', function() { window.demo.endonAndroid(); }, true); "; webview.loadUrl(js);
一般在android平台上,网络视频网站可能不会给你传回Html5 Video网页,这时候就可以设置UserAgent,如可能设置成IPhone或IPad环境,让它返回tml5 Video网页
webview.getSettings().setUserAgentString("Mozilla/5.0 (iPad; CPU OS 5_1 " + "like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko ) Version/5.1 " + "Mobile/9B176 Safari/7534.48.3");
以上方法就是我在Android 网页视频一些心得,也许能给在你这方面开发提供帮助
相关文章推荐
- Android HTML5 Video视频标签自动播放与自动全屏问题解决
- 【转】Android HTML5 Video视频标签自动播放与自动全屏问题解决
- Android Webview中解决H5的音视频不能自动播放的问题
- HTML5 video标签有声音有播放但看不到图像的问题解决
- Android使用VideoView出现无法播放此视频问题的解决方法
- 在andriod手机上video视频播放时自动置顶自动全屏的问题
- 不完全解决Android微信HTML5 播放视频的问题(不显示控制条,可交互)
- h5-video3 解决html5 audio iphone,ipd,safari不能自动播放问题
- 解决微信浏览器,video播放视频全屏问题
- 解决百度富文本编辑不能上传视频成功但是在IE浏览器不能播放、显示的问题、解决浏览器不支持video标签
- Android编程使WebView支持HTML5 Video全屏播放的解决方法
- HTML5添加 video 视频标签后仍然无法播放的解决方法
- html5-video视频标签播放视频实现过程中遇到的一系列问题。
- HTML5添加 video 视频标签后仍然无法播放的解决方法
- Android之通过VideoView控件播放一个视频出现的问题以及我的解决办法
- cordova开发:android端用video.js播放视频,解决退出全屏后应用被状态栏遮挡
- HTML5添加 video 视频标签后仍然无法播放的解决方法 IIS添加MIEI类型
- Android Webview中解决H5的音视频不能自动播放、只有声音没有图像的问题
- HTML5添加 video 视频标签后仍然无法播放的解决方法 IIS添加MIEI类型
- HTML5添加video视频标签后仍然无法播放的解决方法