在Android应用中嵌入YouTube HTML5的问题

时间:2013-02-19 01:37:06

标签: android html5 youtube

所以我今天在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应用中打开它,但我的客户(我正在捐赠此应用的非营利组织)非常具体,希望将其嵌入到页面中我们可以在其中找到包含更多信息的文本视图。

1 个答案:

答案 0 :(得分: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);