2011-11-22 249 views
3

我是android开发人员中的新成员。我有2个问题:如何在Android webview中播放全屏YouTube视频?

  1. 如何在点击播放标志后立即制作全屏视频?
  2. 当正常大小的视频和用户想要滚动具有页眉和静态模式的页面时,视频将覆盖页眉。当用户滚动到标题时,它应该位于标题下方。当用户滚动页面直到标题位置时,如何使视频低于标题?

这是我的代码:

 String widthAndHeight = "width='220' height='200'"; 
     String videoURL = "http://www.youtube.com/v/AyeJyctGhSc&feature=youtube_gdata"; 

     String temp = "<object "+widthAndHeight+">" + 
     "<param name='allowFullScreen' value='false'>" + 
     "</param><param name='allowscriptaccess' value='always'>" + 
     "</param><embed src='"+ videoURL +"'" + 
     " type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true'" + widthAndHeight + 
     "></embed></object>"; 

     video.getSettings().setPluginState(PluginState.ON); 
     video.getSettings().setJavaScriptEnabled(true); 
     video.getSettings().setJavaScriptCanOpenWindowsAutomatically(false); 
     video.getSettings().setPluginsEnabled(true); 
     video.getSettings().setSupportMultipleWindows(false); 
     video.getSettings().setSupportZoom(false); 
     video.setVerticalScrollBarEnabled(false); 
     video.setHorizontalScrollBarEnabled(false); 
     video.loadData(temp,"text/html", "utf-8"); 
+0

那是否对你的工作永远不会消失? –

回答

0

要播放YouTube视频

你必须解析URL和videoview

0

播放视频添加下面的代码在你的活动:

WebView.setWebChromeClient(new WebChromeClient() 

     @Override 
     public void onShowCustomView(View view, CustomViewCallback callback) { 
      customComponenet.addView(view); 
      mWebView.setVisibility(View.INVISIBLE); 
     } 

     @Override 
     public void onHideCustomView() { 
      if (customComponenet == null) 
       return; 
      // Hide the custom view. 
      customComponenet.setVisibility(View.GONE); 

      mWebView.setVisibility(View.VISIBLE); 
     } 
    }); 

其中customComponent是你的FrameLayout。

2

使用此源播放YouTube视频

 String video = "<iframe class=\"youtube-player\" style=\"border: 0; width: 100%; height: 100%; padding:0px; margin:0px\" id=\"ytplayer\" type=\"text/html\" src=\"http://www.youtube.com/embed/" 
       + youtubeId + 
       "?autoplay=1" 
       + "&fs=0\" frameborder=\"0\">\n" 
       + "</iframe>\n"; 
     mWebview.getSettings().setPluginState(PluginState.ON); 
     mWebview.setWebChromeClient(new WebChromeClient()); 
     mWebview.getSettings().setJavaScriptEnabled(true); 
     mWebview.setHorizontalScrollBarEnabled(false); 
     mWebview.setVerticalScrollBarEnabled(false); 
     mWebview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
     mWebview.getSettings().setBuiltInZoomControls(false); 
     mWebview.getSettings().setAppCacheEnabled(true); 
     mWebview.setInitialScale(0); 
     mWebview.getSettings().setLoadWithOverviewMode(true); 
     mWebview.getSettings().setUseWideViewPort(true); 
     mWebview.loadData(video,"text/html","UTF-8"); 
+0

不适合我。根本没有“全屏”按钮。 – User9527