我不小心将应用程序的目标sdk版本从17更改为23,然后将其上传到Google Playstore。
在那之后,我发现我的应用程序中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);
这是我用于网络 View 的资源,并且一切正常。
由于已将目标sdk版本上载到Google Play商店中,因此无法降低它的版本,请告知我是否有任何方法可以使目标sdk 23中的youtube视频播放器在android webview中工作。
多谢您的解答。
但是在这种情况下,我必须在iframe中显示带有youtube视频的随机网页,这些网页不在我的控制范围内。
因此,我想知道是否有任何方法可以通过更改某些选项或覆盖某些类等方法使视频在webview中播放。
最佳答案
不要使用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();
关于android - Youtube视频无法在Android Webview中播放(目标23),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35763085/