您的位置:首页 > 移动开发

Android Webview完美支持播放各种视频。(解决无法播放优酷视频的问题以及周末无法播放优酷视频的问题)

2017-01-24 16:28 956 查看
通常我们会有这样的业务需求:手机端展示某个H5页面,H5页面来源可能是优酷、56、爱奇艺等某个视频网站的一个视频。用户可以直接操作观看。很简单。但是很容易出现问题。比如属性没有处理好。会出现可以加载56、爱奇艺视频都没有问题  但是无法加载优酷视频的bug。网上介绍的解决办法良莠不齐。大部分都是一些过时的属性。而且还没有效果。解决思路如下:

webSetting.setDefaultTextEncodingName("utf-8") ;//这句话去掉也没事。。只是设置了编码格式
webSetting.setJavaScriptEnabled(true);	//这句话必须保留。。不解释
webSetting.setDomStorageEnabled(true);//这句话必须保留。。否则无法播放优酷视频网页。。其他的可以
webview.setWebChromeClient(new WebChromeClient());//重写一下。有的时候可能会出现问题
webview.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);
}
}
});
webview.loadUrl("http://v.youku.com/v_show/id_XMjY1MDYzOTQ1Mg==.html?f=49258329&spm=a2hww.20023042.m_223465.5~5~5~5!2~5~5~A&from=y1.3-idx-beta-1519-23042.223465.4-1");


好了。设置好这些属性。就一切OK了。。最后。可以在清单文件Androidmanifest.xml里application节点下加上属性 android:hardwareAccelerated="true"。提高加载速度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐