Youtube视频无法在Android Webview中播放(目标23)

时间:2016-03-03 04:15:36

标签: android iframe webview youtube android-6.0-marshmallow

我意外地将应用程序的目标sdk版本从17更改为23并将其上传到Google Play商店。

之后,我发现我的应用中的webview上的youtube视频没有开始播放视频,只是永远加载。

我发现这是因为Google在目标sdk 23中停止支持webview上的插件。

Youtube视频播放器看起来与目标sdk为17时的显示效果不同。

    mWebView = (WebView) findViewById(R.id.webview1);
    mWebView.setWebViewClient(new WebViewClientClass());
    mWebView.setWebChromeClient(new MyWebChromeClient());

    WebSettings set = mWebView.getSettings();

    set.setUserAgentString("Mozilla/5.0 (Linux; U; Android 2.0; en-us; Droid Build/ESD20) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17");
    set.setJavaScriptEnabled(true);     
    set.setBuiltInZoomControls(true);       
    set.setLoadsImagesAutomatically(true);      
    set.setCacheMode(WebSettings.LOAD_NO_CACHE);    
    set.setSupportMultipleWindows(false);
    set.setPluginState(WebSettings.PluginState.ON);

    mWebView.loadUrl(url);

    getWindow().addFlags(16777216);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

这是我用于webview的源代码,它正常工作。

由于上传到Google Play商店后无法降低目标sdk版本,如果有任何方法可以让网页上的youtube视频播放器在目标sdk 23的android webview中工作,请告诉我。

感谢您的回答。 但在这种情况下,我必须使用iframe中的youtube视频显示随机网页,这些视频不在我的控制范围内。

所以我想知道是否有任何方法可以通过更改某些选项或覆盖某些类等来使视频在webview中播放。

1 个答案:

答案 0 :(得分:0)

请勿使用webview,使用videoview并设置网址

VideoView v = (VideoView) findViewById(R.id.video_view);         MediaController mc = new MediaController(this);         mc.setAnchorView(v);         mc.setMediaPlayer(v);         v.setMediaController(mc);         v.setVideoURI(Uri.parse(linkN));         v.start();