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

标签 android iframe webview youtube android-6.0-marshmallow

我不小心将应用程序的目标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/

相关文章:

android - 推送通知不适用于牛轧糖和奥利奥同时工作

javascript - 单击 iframe 中的按钮后如何将整个浏览器窗口移动到另一个页面?

iframe - Rocket.Chat自动登录

android - 不同屏幕分辨率的 webview textsize

javascript - UWP:webview不使用navigateToString方法显示页面

java - webview android 应用程序问题

android - 在编辑 TextView 中编辑特定单词时如何删除底层线

android - Android L 中是否有 Snackbars 的代码,或者我们是否应该自己实现它们?

iframe - Facebook登录和youtube嵌入iframe冲突

android - 在 Android 上使用 FFMPEG