美文网首页
Android使用webview解析视频并播放

Android使用webview解析视频并播放

作者: 心中有梦丶身边有你 | 来源:发表于2017-08-25 13:52 被阅读0次

我的项目中后台返回的直接就是一个播放视频的地址
比如:优酷的:“https://v.youku.com/v_show/id_XMjk4NjA5MzMyNA==.html?spm=a2hww.20023042.m_223465.5555!25!25A”

布局文件就是一个webview,自己写就行。

首先要在active中初始化你的webview。
private video_url = "https://v.youku.com/v_show/id_XMjk4NjA5MzMyNA==.html?spm=a2hww.20023042.m_223465.5555!25!25A"
核心代码:

 WebSettings webSettings= webView1.getSettings();
                            webSettings.setDefaultTextEncodingName("utf-8") ;//这句话去掉也没事。。只是设置了编码格式
                            webSettings.setJavaScriptEnabled(true);  
                            webSettings.setDomStorageEnabled(true);//必须保留。。否则无法播放优酷视频网页。。其他的可以
                            webView1.setWebChromeClient(new WebChromeClient());//重写一下。有的时候可能会出现问题
                            webView1.setWebViewClient(new WebViewClient(){//不写的话自动跳到默认浏览器了。。跳出APP了。。
                                public boolean shouldOverrideUrlLoading(WebView view, String url) {//这个方法必须重写。否则会出现优酷视频周末无法播放。周一-周五可以播放的问题
                                    if(url.startsWith("intent")||url.startsWith("youku")){
                                        return true;
                                    }else{
                                        return super.shouldOverrideUrlLoading(view, url);
                                    }
                                }
                            });
                            webView1.loadUrl(video_url);//我这里的地址用的是固定的

而做完这些,我们还需要写一个退出页面,视频注销,停止播放的方法。

  @Override
    protected void onPause () {
        webView1.reload ();
        super.onPause ();
    }

这样就可以了

相关文章

网友评论

      本文标题:Android使用webview解析视频并播放

      本文链接:https://www.haomeiwen.com/subject/zuuudxtx.html