Android:明示的IntentでYouTube動画を再生する方法

※注意 これはまだ調査段階で、確定ではないですが、暫定でわかったことをメモするための投稿です。

最近になって、WebViewを少しだけ触るようになってきたのですが、普通にブラウザとして動くし、ふむふむ良いなーという感じでいじっていたら、たまたまYouTubeを表示したときに、動画が再生されませんでした。なんだと…!

Desireにデフォルトで入ってるブラウザではどうだ?と思ってブラウザでYouTubeを表示して再生ボタンをタップしたら、普通にYouTube Appが起動して動画が再生されました。そりゃそうですね…。

ちなみにちょっとまとめると、以下のように。(自分調べ)
○がYouTubeを再生できた。×がYouTube再生できなかったというやつです。

  • × WebView
  • ○ デフォルトのブラウザ
  • × Dolphin Browser
  • ○ Dolphin Browser HD

動画のURLを押されたタイミングで、YouTube Appに明示的Intentで起動して再生すればいいのかなと思ったのですが、まずその仕方がわからんと。とりあえず、YouTube Appを明示的Intentで起動できたので、それをメモってことで。

String videoId = "tHJGdnG6CpQ"; // サンプルとして指定。スキマスイッチのPV。
Intent videoClient = new Intent(Intent.ACTION_VIEW);
videoClient.setData(Uri.parse("http://m.youtube.com/watch?v=" + videoId));
videoClient.setClassName("com.google.android.youtube", "com.google.android.youtube.WatchActivity");
startActivity(videoClient);

上記を実行したところ、YouTube Appが起動して動画が再生されました。
WebViewから云々という話ではなく、YouTubeアプリを作って、再生のみYouTube Appに任せるときとかには使える手なのかなーとか、勝手に思っています。

しかし、デフォルトのブラウザで動画再生したら、メニューキーを押してもなんの反応もないから、ひょっとしたら普通にHTML5でビデオタグ内にYouTube動画を読み込んでいるだけなんだろうか…。なんかそんな気がしてきた。

また引き続き調査してみようと思いますー。


タグ Android | パーマリンク.

コメント・トラックバック一覧

  1. Pingback: 夢茶爺&苦茶爺のPC奮戦備忘録

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です