webview播放网络视频
来源:互联网 发布:ubuntu 断点续传工具 编辑:程序博客网 时间:2024/05/06 21:27
根据开发需求,需要在app中加载网络上的视频。本来是挺简单的一件事,webview.loadUrl(视频地址),但是在处理全屏的时候总是失败。
下面用代码说话:
//全屏显示的视图对象 private View mFullVideoView; //一个通知webview退出全屏的回调接口 private WebChromeClient.CustomViewCallback mCustomViewCallback; private void initWebview() { mWebView = (WebView) findViewById(R.id.wv_load_web); final WebSettings settings = mWebView.getSettings(); settings.setCacheMode(WebSettings.LOAD_DEFAULT); settings.setAppCacheEnabled(true); settings.setDatabaseEnabled(true); settings.setDomStorageEnabled(true); settings.setJavaScriptEnabled(true); settings.setLoadsImagesAutomatically(true); mWebView.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); } @Override public void onShowCustomView(View view, CustomViewCallback callback) {// super.onShowCustomView(view, callback); //改变屏幕方向,SCREEN_ORIENTATION_LANDSCAPE--横排,SCREEN_ORIENTATION_PORTRAIT--竖排 MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); mWebView.setVisibility(View.GONE); //判断mFullVideoView是否为空,来判断是否处于全屏状态 if (mFullVideoView != null){ callback.onCustomViewHidden(); return; } //把全屏显示的视图对象添加到布局 mFrameLayout.addView(view); mFrameLayout.setVisibility(View.VISIBLE); //获取全屏显示视图对象 mFullVideoView = view; //退出全屏的回调接口 mCustomViewCallback = callback; mActionBar.hide(); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); } //关闭全屏显示 @Override public void onHideCustomView() {// super.onHideCustomView(); if (mFullVideoView == null){ return; } //设置屏幕竖排 MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); //隐藏全局布局 mFrameLayout.setVisibility(View.GONE); //移除全屏显示的视图对象 mFrameLayout.removeView(mFullVideoView); mFullVideoView = null; mCustomViewCallback.onCustomViewHidden(); mWebView.setVisibility(View.VISIBLE); mCustomViewCallback = null; }代码没有问题,能够实现全屏,但是横屏后会重新加载onCreate()方法,使得整个界面又重新加载。解决办法就是在配置文件中的activity中配置
android:configChanges="orientation|screenSize"属性。这样就可以正常全屏播放视频了。
0 0
- webview播放网络视频
- WebView 实现网络视频播放
- android webView 全屏播放网络视频
- Android webview加载html5网络视频全屏播放
- Android自定义WebView实现Youtube网络视频播放控件
- android WebView实现播放网络视频以及全屏显示
- WebView播放视频
- android webview 播放视频
- webView视频播放
- Webview播放视频bug
- android webview播放视频
- android webview视频播放
- $ webview html5 自动播放视频 $
- WebView全屏播放h5视频
- Android WebView 视频播放解决
- Android WebView 播放视频总结
- WebView播放视频的问题
- android webview无法播放视频
- Linux中安装文件共享服务器Samba
- 一种确定四分之一波片光轴方向的方法
- 使用golang快速开发微信公众平台(七):通过客服向用户发消息
- python_@符号
- CODEVS 1044拦截导弹
- webview播放网络视频
- Java小白进阶之二---移位操作符
- 根据当前日期得到本月月末、上月月末。。。。。。。
- Oracle中“行转列”的实现方式
- redis cluster 搭建
- 超分辨率重建——超采样与欠采样
- 每秒处理10万订单乐视集团支付架构
- 第八周 【项目四 -字符串加密】
- Career Management Lession 2/6 - Forge Relationships