2011-12-10 13 views
0

私は以下のコードを使ってYouTubeからビデオを再生しましたが、動作しません。vnd.youtube:videoidがアンドロイドで再生していません

Webページは表示されませんが、その動画IDで利用可能です。このコードで何が間違っていますか。私を助けてください。

setContentView(R.layout.youtube1); 
     web=(WebView) findViewById(R.id.video1); 


     web. getSettings().setJavaScriptEnabled (true); 
     web. getSettings().setJavaScriptCanOpenWindowsAutomatically (false); 
     web. getSettings().setPluginsEnabled (true); 
     web. getSettings().setSupportMultipleWindows (false); 
     web. getSettings().setSupportZoom (false); 
     web. setVerticalScrollBarEnabled (false); 
     web. setHorizontalScrollBarEnabled (false); 


     web. loadUrl ("vnd.youtube:3MWr19Dp2OU"); 

     web. setWebViewClient (new WebViewClient() { 
      @ Override public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      if (url.startsWith("vnd.youtube")){ 

      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); 

      return true; 
      } 
      else 
      { 
      return false; 
      } 
      } 
     }); 

答えて

0

形態vnd.youtube:<video_id>のURIは、YouTubeアプリケーションを起動(デバイス上で利用可能な場合)、それは<video_id>によって識別されたビデオをロードするため(例えば、あなたの3MWr19Dp2OU)にIntentと共に使用することができます。しかし、WebViewに頼っている場合は、WebViewが動画を読み込むためには、標準URL(例:http://www.youtube.com/v/3MWr19Dp2OU)を使用する必要があります。

しかし、あなたがすぐにわかるように、WebViewのYouTube動画の再生はあまり信頼できません。おそらくより実行可能な解決策は、代わりにVideoViewを悪用することです。

関連する問題