2012-09-25 193 views
1

我是Android的小菜鸟,尽管我已经阅读了很多教程,但我仍然无法弄清楚如何在我的webview中播放youtube视频。我可以在没有任何问题的情况下浏览网站,但是当我点击视频时什么也没有发生。我曾尝试将android:hardwareAccelerated =“true”添加到我的清单中,但没有成功。任何帮助是极大的赞赏。以下是我迄今为止:如何在webview中播放Youtube视频?

huffingtonpost = (WebView)findViewById(R.id.webView1); 
    huffingtonpost.setWebViewClient(new WebViewClient()); 
    huffingtonpost.getSettings().setJavaScriptEnabled(true); 
    huffingtonpost.getSettings().setPluginState(PluginState.ON); 
    huffingtonpost.getSettings().setUseWideViewPort(true); 
    huffingtonpost.getSettings().setLoadWithOverviewMode(true); 

    try{ 
    huffingtonpost.loadUrl("http://www.youtube.com/KitcoNews"); 
    }catch (Exception e){ 
     e.printStackTrace(); 
    } 

我的清单

<application 
    android:hardwareAccelerated="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 

回答

0

下面是一个代码示例:

myWebView = (WebView) findViewById(R.id.webview_compontent); 

String playVideo= "<html><body>Youtube video .. <br> <iframe class=\"youtube-player\" type=\"text/html\" width=\"640\" height=\"385\" src=\"http://www.youtube.com/embed/bIPcobKMB94\" frameborder=\"0\"></body></html>" 

myWebView.loadData(playVideo, "text/html", "utf-8"); 

如果URL是从的EditText getted或别的东西,你可以只是操纵字符串playVideo

希望这会有所帮助。

+0

谢谢回答。此方法适用于观看单个视频,但我希望能够像通常浏览网站时一样查看频道或播放列表页面上的视频。这是我尝试查看http://www.youtube.com/KitcoNews的频道网址,该网址在设备浏览器中显示得很好。你知道如何在webview中显示吗? –

+0

@ B.Money我不知道该怎么做。抱歉。 –

0

如何在android webview中播放Youtube频道?

公共类MainActivity扩展活动{

@Override 
    public void onCreate(Bundle savedInstanceState) { 

      super.onCreate(savedInstanceState); 

      //setContentView(R.layout.main); 

     String html="http://www.youtube.com/KitcoNews"; 
      // Let's display the progress in the activity title bar, like the 
      // browser app does. 
      getWindow().requestFeature(Window.FEATURE_PROGRESS); 

      WebView webview = new WebView(this); 
      setContentView(webview); 

      webview.getSettings().setJavaScriptEnabled(true); 

      final Activity activity = this; 
      webview.setWebChromeClient(new WebChromeClient() { 
      public void onProgressChanged(WebView view, int progress) { 

      activity.setTitle("Loading..."); 
       activity.setProgress(progress * 100); 

       if(progress == 100) 
        activity.setTitle(""Done); 

      } 
     }); 


webview.setWebViewClient(new WebViewClient() { 

public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
      //Users will be notified in case there's an error (i.e. no internet connection) 
      Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show(); 
} 
}); 
     //This will load the webpage that we want to see 
     webview.loadUrl(html); 

    } 
    } 
相关问题