2012-11-21 79 views
2

嵌入YouTube的iframe我需要嵌入我的应用程序YouTube视频,可能显示视频,而我的应用程序,而不是使用YouTube应用。我能够在使用的WebView和YouTube视频的iframe嵌入的事情,并能正常工作在我的设备2:一个有安卓4.1.1,其他4.2。 它doesen't工作的时候我的手机采用Android 2.3.4上的尝试:它显示的缩略图,但是当我点击它只是仍然是一个黑色的空间。 也许版本的Android 3.0 <支持doesen't HTML5标签? 对不起,我是比较新的这件事情。提前致谢。 这里是我的代码:的Android - 在应用

wbv = (WebView) this.findViewById(R.id.webView1); 
    wbv.setFocusable(true); 
    wbv.setFocusableInTouchMode(true); 
    wbv.getSettings().setJavaScriptEnabled(true); 
    wbv.getSettings().setPluginState(PluginState.ON); 
    wbv.getSettings().setRenderPriority(RenderPriority.HIGH); 
    wbv.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 
    wbv.getSettings().setDomStorageEnabled(true); 
    wbv.getSettings().setDatabaseEnabled(true); 
    wbv.getSettings().setAppCacheEnabled(true); 
    wbv.setWebViewClient(new WebViewClient()); 
    wbv.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 

    String html ="<html><body><iframe class=\"youtube-player\" type=\"text/html\" width=\"560\" height=\"315\" src=\"http://www.youtube.com/embed/ID\" frameborder=\"0\" allowfullscreen></iframe></body></html>"; 
    String mime = "text/html"; 
    String encoding = "utf-8";   
    wbv.loadData(html, mime, encoding);  

回答

0

因为对我来说,工作在以下方式:

final WebSettings settings = webView.getSettings(); 
settings.setDefaultTextEncodingName("utf-8"); 
settings.setJavaScriptEnabled(true); 
settings.setLoadsImagesAutomatically(true); 
settings.setPluginsEnabled(true); 
//settings.setPluginState(PluginState.ON); 
webView.loadUrl("http://www.youtube.com/embed/"+videoClip.youtubeId); 

使用AOS 2.3.4设备。我也工作,如果用你的方式,我的意思是IFrame:请

final String sUrl = "http://youtube.com/embed/"+videoClip.youtubeId; 
final String html ="<html><body><iframe class=\"youtube-player\" type=\"text/html\" width=\"560\" height=\"315\" src=\""+sUrl+"\" frameborder=\"0\" allowfullscreen></iframe></body></html>"; 
webView.loadData(html, "text/html", "utf-8"); 

但我可以证实,这两种方法并没有对我的升级Froyo(2.2.2)AOS设备的工作。它挥动一些蓝筹股一秒钟,这就是全部。它保持黑屏或框架。

+0

得到错误“或试图清晰浏览器缓存” –

+0

我认为它需要Flash Player ????确实是 –

+1

。为此,最好使用Google YouTube API。 – Stan