视频未在 Webview android (Google TV) 内播放
Posted
技术标签:
【中文标题】视频未在 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
【讨论】:
以上是关于视频未在 Webview android (Google TV) 内播放的主要内容,如果未能解决你的问题,请参考以下文章
HTML5 视频未在 android webview 中播放
视频未在 Webview android (Google TV) 内播放
Android WebView 混合内容未在 api 级别 < 21 中加载