アプリ内でYouTube再生
Androidアプリ内でYouTubeを再生するには
VideoViewを使う
もしくは
Android YouTube Player API
を使う
Android YouTube Player APIを使う場合
Google Map のAPIを使うときみたいに
Google APIs ConsoleでAPIを使えるようにしておく必要がある
そして、
Simple API Accessの keyをメモしておく
ここまでできたら
Android YouTube Player APIをダウンロードする
これをダウンロードしたら解凍して
libsから
YouTubeAndroidPlayerApi.jar
を
プロジェクトへ追加する
Eclipseを使っているなら
libs以下へ配置すれび自動認識される
ここまでできたら
レイアウトファイルへ
YouTubeを再生するためのViewを追加する
<com.google.android.youtube.player.YouTubePlayerView android:id="@+id/youtube" android:layout_width="match_parent" android:layout_height="wrap_content"/>
次に、Javaでの操作だけど
YouTubeを再生するためには
YouTubeBaseActivityを継承し
OnInitializedListenerを実装する必要がある
さらに
レイアウトファイルで追加したYouTubePlayerViewインスタンスへ
API key の設定も必要になる
まずは、継承から
extends YouTubeBaseActivity implements OnInitializedListener
を追加
次に、API キーなどを変数へ格納
private static final String DEVELOPER_KEY ="取得したAPIキー"; private static final int RECOVERY_DIALOG_REQUEST = 1;
次に、onCreate()の中で
YouTubePlayerViewへDeveloperキーを設定
YouTubePlayerView youtubeView = (YoutubePlayerView)findViewById(R.id.youtube); youtubeView.Initialize(DEVELOPER_KEY, this);
次に、初期化失敗のときの処理
@Override public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult errorReason){ //初期化失敗の処理 if(error.Reason.isUserRecoverableError()){ //エラー回避可能ならダイアログで表示 errorReason.getErrorDialog(this, RECOVERY_DIALOG_REQUEST).show(); }else{ //エラー回避不可能ならトーストで表示 String errorMessage = String.format(getString(R.string.error_player), errorReason.toString()); Toast.makeText(this, errorMessage, Toast.LENGTH_SHORT).show(); } }
そして、初期化成功のときの処理
@Override public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored){ //YouTubeの動画Idを設定 if(!wasRestored){ player.cueVideo("再生したい動画のID"); } }
また、YouTubeにアクセスするということで
AndroidManifest.xmlへ
インターネットにアクセスする権限を追加する
<uses-permission android:name="android.permission.INTERNET"/>
このように、YouTubePlayerViewを使うことで
動画再生のためのボタンやフルスクリーン機能なども自動で実装される
このあたりの制御には
YouTubePlayerViewクラスに実装されているメソッドを使う
APIや制御方法などは、Google Map APIに近い
あと、YouTubeの動画IDは
YouTubeのURLの中の
https://www.youtube.com/watch?v=
の後の部分になる