当前位置: 首页 > 知识库问答 >
问题:

YouTube视频不在WebView中播放-Android

徐绪
2023-03-14

我是绑定播放YouTube视频在WebView,WebView显示视频的第一个外观与播放按钮,但点击播放按钮后开始进度条和2-3秒后停止进度条和屏幕空白与黑色。

Image1:带播放按钮的视频首次查看

Image2:点击播放按钮后,屏幕变为空白。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    WebView wv = (WebView) findViewById(R.id.webView1);
    wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setPluginsEnabled(true);
    final String mimeType = "text/html";
    final String encoding = "UTF-8";
    String html = getHTML();
    wv.loadDataWithBaseURL("", html, mimeType, encoding, "");
}

public String getHTML() {
    String html = "<iframe class=\"youtube-player\" style=\"border: 0; width: 100%; height: 95%; padding:0px; margin:0px\" id=\"ytplayer\" type=\"text/html\" src=\"http://www.youtube.com/embed/"
            + "J2fB5XWj6IE"
            + "?fs=0\" frameborder=\"0\">\n"
            + "</iframe>\n";
    return html;
}

共有1个答案

祝嘉懿
2023-03-14

在将HTML内容加载到WebView之前添加这些行。

wv.setWebChromeClient(new WebChromeClient() {
});

从文档中可以看到:

为了在应用程序中支持内联HTML5视频,您需要打开硬件加速,并设置WebChromeclient。对于全屏支持,onShowCustomView(View,WebChromeClient.CustomViewCallback)和onHideCustomView()的实现是必需的,getVideoLoadingProgressView()是可选的。

 类似资料:
  • 有人可以帮助使用这个代码来播放嵌入网站的youtube视频吗?我试过各种方法,包括硬件加速=True。 webview显示了youtube页面和缩略图,但点击它们时什么也不会发生。 在某些硬件加速的设备上,它只播放声音,但不播放视频。谢谢大家!

  • 是否可以从webview播放youtube视频,就像我从浏览器访问youtube网站时视频开始播放时一样,它在全屏播放视频。 以下是我到目前为止的代码:

  • 我正在制作RSS阅读器应用程序,我从URL获取RSS数据,RSS数据可以包含到YouTube视频链接。 下面是一个链接到youtube vide的例子: 而当我运行我的应用程序时,没有视频,全是黑色的,我无法播放。

  • 我正在开发一个应用程序,在其中我需要播放YouTube视频,我尝试使用webView和videoView,我四处搜索了很多,我实际上找到了一些解决方案,但它们似乎不适合我的应用需要: 所以我首先想知道,在应用程序中播放YouTube视频的最佳方式(方法)。我应该使用WebView并尝试使视频适合视图和额外的,或者我应该尝试VideoView(我猜这有点复杂,因为能够播放视频我必须从Youtube获