更新:以下の内容はすべて間違いありませんが、official YouTube API for Androidが利用可能になりました。
AndroidでYouTube動画を再生する最も簡単な方法は、インテントを起動してネイティブAndroid YouTubeアプリを起動することです。もちろん、認定されたGoogleデバイスではなく、Googleアプリの補完機能を備えていない場合は、この処理は失敗します。 (Kindle Fireはおそらくそのようなデバイスの最大の例です)。このアプローチの問題は、ビデオが終了したときにユーザーが自動的にあなたのアプリに戻らないということです。彼らは戻るボタンを押す必要があります。そして、あなたはおそらくそれらを失ってしまいました。
第2の選択肢として、MediaPlayer APIを使用してYouTube動画を再生することができます。しかし、このアプローチには3つの注意点があります。
1)YouTubeのGDataウェブサービスAPIを呼び出し、ビデオのIDを渡す必要があります。 H.264でエンコードされたストリームを再生するには、MediaPlayerに渡す必要があるRTSP URLとともに、大量のメタデータを取得します。これがMediaPlayerを使用しようとする試みが失敗した理由です。おそらく、正しいURLを使用してストリームしていなかったでしょう。
2)GData/MediaPlayerアプローチは、低解像度コンテンツ(176x144など)のみを再生します。これは、コンテンツの盗難を防ぐため、YouTubeの意図的な決定です。もちろん、これは非常に満足のいく経験を提供しません。高解像度ストリームを入手するためのバックドアハッキングはありますが、Androidのすべてのリリースでサポートされていないため、YouTubeの利用規約に違反しています。
3)RTSPストリームは一部の内部ネットワーク/ファイアウォールによってブロックされる可能性があるため、この方法はすべてのユーザーにとって機能しない可能性があります。
3番目のオプションは、アプリケーションにWebViewを埋め込むことです。ここには2つのアプローチがあります:
1)Flashオブジェクトを埋め込み、YouTube用の標準デスクトップFlashプレーヤーを実行できます。 Javascript APIを使用してプレーヤを制御し、イベントをネイティブAndroidアプリに中継することさえできます。このアプローチはうまくいきますが、残念なことにFlashはAndroidプラットフォームで廃止されており、Android 4.1以降では動作しません。
2)<video>
タグを埋め込み、YouTubeをHTML5経由で再生できます。これのサポートは、Androidのさまざまなリリースによって異なります。 Android 4でもうまく動作します。0以降。以前のリリースではHTML5 <video>
が多少不自然になりました。したがって、アプリケーションがサポートしなければならないAndroidのリリースによっては、HTML5をAndroid 4.x以降に埋め込むハイブリッドアプローチや、Androidのすべての以前のバージョンでFlashを使用するハイブリッドアプローチがあります。
ここでは、YouTubeビデオを再生するためにHTML5を使用する方法について、StackOverflowにいくつかのスレッドがあります。それらのどれもあなたが1つの場所で従わなければならないプロセス全体を本当に記述するものではありません。ここではそれらのいくつかのリンクです:
Android - How to play Youtube video in WebView?
How to embed a YouTube clip in a WebView on Android
Play Youtube HTML5 embedded Video in Android WebView
このすべてが来る週/月で劇的に簡単になります。 Google I/O 2012で、彼らはあなたのアプリケーションにYouTubeコンテンツを直接埋め込むことをサポートする、新しいAndroid用YouTube APIを発表/デモしました。これはAndroid 2.2(この執筆時点ではAndroidベースの約95%)です。それは十分に速く到着することはできません。
http://www.gadgetsaint.com/android/play-youtube-android-youtube-player-api/ – ASP