0

所以我今天在 SO 上进行了相当多的搜索,并取得了重大进展,但现在我遇到了一个我从未见过的问题。我已经使用 iframe 将 YouTube 视频嵌入到 HTML 文件中:

<body>
    <div align="center">
    <iframe class="youtube-player" type="text/html" width="480" height="320"
        src="http://www.youtube.com/embed/9DNAyD4ll6E?html5=1" frameborder="0">
    </div>
</body>

我在我的活动中修改的 WebView 中显示它,如下所示:

    WebView welcomeWebView = (WebView) findViewById(R.id.welcomeVideo);
    welcomeWebView.setHorizontalScrollBarEnabled(false);
    welcomeWebView.setVerticalScrollBarEnabled(false);
    welcomeWebView.getSettings().setJavaScriptEnabled(true);
    welcomeWebView.loadUrl("file:///android_asset/welcome.html");

我遇到的问题是出现了静止图像显示和控件,但是当我单击播放时,我看到的是一个灰色屏幕,其中有一个胶片和播放图标。这是点击播放之前/之后的屏幕截图

http://www.ptrprograms.com/youtubeapp.png
http://www.ptrprograms.com/youtubeapp2.png

如果有人以前看过这个或者可以指出我显示视频的正确方向,我会非常感激。谢谢!

编辑:我也知道我可以使用意图在 YouTube 应用程序中打开它,但我的客户(我捐赠此应用程序的非营利组织)非常具体地希望它嵌入到我们可以的页面中有一个文本视图,下面有更多信息。

4

1 回答 1

1

所以我放弃了 webview 的外部资产,而是决定将它加载到活动本身中,它似乎工作得更好(它实际上运行:))

WebView webView = (WebView) findViewById(R.id.welcomeVideo);
    String play= "<html><body><div align=\"center\"> <iframe class=\"youtube-player\" type=\"text/html\" width=\"480\" height=\"320\" src=\"http://www.youtube.com/embed/9DNAyD4ll6E?rel=0\" frameborder=\"0\"></div></body></html>";
    webView.setWebChromeClient(new WebChromeClient() {
    });
    webView.getSettings().setJavaScriptEnabled(true);
    webView.loadData(play, "text/html", "utf-8");
    webView.setBackgroundColor(0x00000000);
于 2013-02-19T03:51:16.277 回答