はじめまして、エンジニアのaiです。
YouTubeのiOS/Androidのライブラリを使用する機会があったので使い方を簡単に紹介したいと思います。
<Android>
Developerサイトにサンプルアプリが公開されているのでそちらを参照してください。
リファレンスも日本語版があるので簡単に組み込めます。
https://developers.google.com/youtube/android/player/downloads/
https://developers.google.com/youtube/android/player/reference/com/google/android/youtube/player/package-summary
注意点はFragmentがsupport-library v4のFragment継承版が用意されていないことでしょうか。
再生だけれあればdeveloper keyの登録も必要ありません。
YouTube APIを使用しなければdeveloper keyなしで動画の再生はできてしまいます。
<iOS>
Developerで記載されているhelperライブラリを使用します。本稿はこちらがメインです。
YouTubeのIframeをラップしているシンプルなライブラリです。
CocoaPodsで簡単に導入できます。
pod "youtube-iso-player-helper"
再生するだけれあれば実装はとっても簡単です。
StoryboardまたはコードでYTPlayerViewを生成 (youtubeViewとします) しておきます。あとは以下のコードで完了です。お手軽!
[self.youtubeView loadWithVideoId:@"youtubeId"] //youtubeIdには再生したい動画のIDを指定してください。
Viewをタップするとプレイヤーが起動され、動画が再生されます。
プレイヤーを起動せず、インラインで再生したい場合は次のようにIFrameのパラメータを設定してあげます。
[self.youtubeView loadWithVideoId:@"youtubeId" playerVars:@{ @"playsinline":@(1), }];
ヘッダー部タイトルを表示したくない場合は @”showinfo”:@(0)を追加すればOKです。
[self.youtubeView loadWithVideoId:youtubeId playerVars:@{ @"playsinline":@(1), @"showinfo":@(0), }];
自分でプレイヤーのコントローラーを作りたい場合は@”controls”:@(0)を設定すればフッター部のシークバーが非表示になります。その他にも使用出来るパラメータがありますので、それらはIFrame APIのリファレンスを参照してください。
https://developers.google.com/youtube/player_parameters#Parameters
ロードメソッドの他に、再生/一時停止/停止/シーク用のメソッドも用意されているので簡単に独自のプレイヤーUIを作成することがきます。
- (void)playVideo; - (void)pauseVideo; - (void)stopVideo; - (void)seekToSeconds:(float)seekToSeconds allowSeekAhead:(BOOL)allowSeekAhead;
再生の経過時間をリアルタイムに取得したい場合はYTPlayerViewDelegateの次のメソッドを使用します。
- (void)playerView:(nonnull YTPlayerView *)playerView didPlayTime:(float)playTime
経過時間が通知されるのでそれに合わせて時間を更新するなりシークバーを更新するなりしてください。
以上、簡単にですがYouTubeのiOS/AndroidのSDK紹介でした。
本当にお手軽に組み込むことができるので、Youtubeのプレイヤーを作成してみたい人は試してみてください。