2013-02-19 60 views
0

因此,我在今天搜索了一些,并取得了重大进展,但现在我遇到了一个我从未见过的问题。我已经嵌入YouTube视频转换成HTML文件使用iframe这样:问题在Android应用程序中嵌入YouTube HTML5

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

+0

为什么不直接使用官方的youtube android apis? https://developers.google.com/youtube/android/player/ – schwiz 2013-02-19 04:36:29

回答

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);