Android WebView播放html5视频,退出全屏后为啥就是黑屏了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android WebView播放html5视频,退出全屏后为啥就是黑屏了相关的知识,希望对你有一定的参考价值。

android WebView播放html5视频,能进入全屏状态,也能播放,但是退出全屏后为什么就是黑屏了

参考技术A 能把你播放视频这段的代码发给我看下吗?谢谢。我的播放不能全屏、454988138@qq.com谢谢啦、 查看原帖>>本回答被提问者采纳

视频未在 Webview android (Google TV) 内播放

【中文标题】视频未在 Webview android (Google TV) 内播放【英文标题】:Video not playing inside Webview android (Google TV) 【发布时间】:2013-06-04 12:19:33 【问题描述】:

我有一个使用 Web 视图加载 HTML 内容的 Web 应用程序。我正在为 Google TV 开发它,其中包含视频的网页,所以我的问题是当我点击播放视频时,它会在另一个页面中打开,而不是在同一个网页视图中,并且它发生在 Google TV(Logitech)而不是移动设备上设备。

这有什么问题。

我的代码是:

webView = (WebView) findViewById(R.id.webview);


    WebSettings settings = webView.getSettings();
    //settings.setJavaScriptEnabled(true);
    settings.setAllowFileAccess(true);
    if (Build.VERSION.SDK_INT > 7) 
        settings.setPluginState(PluginState.ON);
     else 
        settings.setPluginsEnabled(true);
    

    webView.setWebChromeClient(new SimpleWebChromeClient());
    settings.setJavaScriptEnabled(true);
    settings.setUserAgentString("Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.77 Large Screen Safari/534.24 GoogleTV/000000");
    settings.setBuiltInZoomControls(true);
    settings.setSupportZoom(true);
    settings.setPluginsEnabled(true);
    settings.setLoadWithOverviewMode(true);
    settings.setUseWideViewPort(true);
    webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    webView.setScrollbarFadingEnabled(false);

 String fileName = "html_content/test.html";

 webView.loadUrl("file:///android_asset/" + fileName);

WebChromeClient 代码为:

 private class SimpleWebChromeClient extends WebChromeClient 

        /* (non-Javadoc)
         * @see android.webkit.WebChromeClient#onShowCustomView(android.view.View, android.webkit.WebChromeClient.CustomViewCallback)
         */
        @Override
        public void onShowCustomView(View view, CustomViewCallback callback) 
                super.onShowCustomView(view, callback);
                //Log.w(RedditTVHDActivity.LOG_PREFIX, "In OnShowCustomView");
        


【问题讨论】:

我刚刚在这里回答了这个问题:***.com/questions/16910802/play-video-inside-webview 【参考方案1】:

这是我用来在同一个窗口中打开 WebView 的。

webview.setWebViewClient(new WebViewClient() 
        @Override
        public boolean shouldOverrideUrlLoading(WebView w, String url)
            w.loadUrl(url); 
            return false; // then it is not handled by default action
       
    );

【讨论】:

如果仍然无法正常工作,请尝试使用以下内容加载网址:webview.loadDataWithBaseURL(url, html, "text/html", "utf-8", url); 我不知道整个上下文来告诉您这是否是一个更好的主意。 嗨,loaLearns,我添加了 WebChromeClient 的代码,它设置为 webview webView.setWebChromeClient(new SimpleWebChromeClient());这没有帮助吗?【参考方案2】:

根据您的活动名称,我假设您正在尝试让 Reddit TV 链接在您的应用中工作。其中大部分最终都是 YouTube 视频,因此最好使用原生 YouTube Android 播放器 API。以下是一些可供查看的 YouTube 示例应用:https://developers.google.com/youtube/android/player/sample-applications

【讨论】:

以上是关于Android WebView播放html5视频,退出全屏后为啥就是黑屏了的主要内容,如果未能解决你的问题,请参考以下文章

HTML5 视频未在 android webview 中播放

Android WebView播放html5视频,退出全屏后为啥就是黑屏了

Android webview html5 视频自动播放在 android 4.0.3 上不起作用

Android WebView 播放 HTML5/h.264/mp​​4 视频,如何进入 MediaPlayer

Android WebView 中的 HTML5 视频不一致

WebView 中的 Android HTML5 视频