我们是用Webview加载了网上的视频,在手机上播放。比如优酷网,土豆网。爱奇艺等。但是突然发现一旦播放美拍网的视频就无法播放。显示如下图:
我的代码如下:
public class MainActivity extends Activity { @Bind(R.id.webview) WebView webview; @Bind(R.id.tv) TextView tv; @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(MainActivity.this); WebSettings webSetting=webview.getSettings(); webSetting.setJavaScriptEnabled(true); webview.getSettings().setDefaultTextEncodingName("utf-8") ; webSetting.setDomStorageEnabled(true); webview.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); webview.loadUrl("http://www.meipai.com/media/692048387"); 最后发现是因为 重写了shouldOverrideUrlLoading方法导致的。
修改为 public boolean shouldOverrideUrlLoading(WebView view, String url) { if(url.startsWith("intent")||url.startsWith("youku")){ return true; }else{ return super.shouldOverrideUrlLoading(view, url); }
之所以这样写是因为优酷视频也会有这样的问题,所以这样写可以避免优酷视频无法播放的问题
PS:感谢 千峰 荣佳伟老师 给予指导。
