Youtube再生ライブラリで「夜に駆ける」を再生するだけのAndroidアプリを作った

目次

  1. 背景
  2. 作ったもの
  3. 公式のライブラリはどうなのか?
  4. 使い方
    1. Dependencyの追加
    2. Viewの追加
    3. オブザーバーの追加
    4. VideoIdの設定
  5. まとめ
  6. PR

背景

こんにちは。 かりんとうマニア(@karintozuki)です。
AndroidでYoutubeの動画を埋め込みたい
android-youtube-player
というライブラリがあるので、使ってみました。

作ったもの

タイトルにあるようにアプリを開くと「夜に駆ける」が再生されます。
それだけですw

念のためですが、

著作権があるので、もちろんApp Storeでの公開はできません。

念のため。

公式のライブラリはどうなのか?

Youtubeには公式のAndroid用Player APIというものが用意されています。
https://developers.google.com/youtube/android/player

しかし、android-youtube-playerの作者曰く、公式ライブラリはバグがあり、
サポートもしっかりしていないため、プロダクションに使うにはちょっと頼りないとのことです。
また、公式で提供されるAPIはアプリの登録が必要なため
ちょっとめんどくさそうです。

こういった理由から、android-youtube-playerを使用してみることにしました。

使い方

GitHubにサンプルプロジェクトのソースをあげていますので、
こちらも参考にしてみてください。
https://github.com/PierfrancescoSoffritti/android-youtube-player

Dependencyの追加

build.gradleに以下を追加します。

build.gradle
1
2
3
dependencies {
implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:10.0.5'
}

バージョンは都度最新版を確認して適宜変更してください。

Viewの追加

Viewを追加します。

acrivity_main.xml
1
2
3
4
5
6
7
8
<com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView
android:id="@+id/youtube_player_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"

app:videoId="x8VYWazR5mE"
app:autoPlay="true"
app:showFullScreenButton="false" />

これだけでYoutubeが再生できるようになります。
便利ですね!

オブザーバーの追加

ViewだけでYoutubeが見られるようになるのですが、オブザーバーを追加すると、
Life cycleに対応して処理を自動でしてくれるようになります。

以下の二行を追加します。

MainActivity
1
2
val youTubePlayerView = findViewById<YouTubePlayerView>(R.id.youtube_player_view)
        lifecycle.addObserver(youTubePlayerView);

VideoIdの設定

先ほどの例だと、Viewに動画のIDをベタ書きしていましたが、
プログラム側で制御することも可能です。

コードは以下のようになります。

MainActivity
1
2
3
4
5
6
7
8
9
10
val youTubePlayerView = findViewById<YouTubePlayerView>(R.id.youtube_player_view)
        lifecycle.addObserver(youTubePlayerView);

        youTubePlayerView.addYouTubePlayerListener(object : AbstractYouTubePlayerListener() {
            override fun onReady(youTubePlayer: YouTubePlayer) {
                val videoId = "S0Q4gqBUs7c"
                youTubePlayer.loadVideo(videoId, 0f)
            }
        })

以下のように、
第一引数は動画のID、第二引数には再生開始位置を指定できます。

1
youTubePlayer.loadVideo(videoId, 0f)

まとめ

今回はめちゃくちゃ簡単にYoutubeを埋め込めるライブラリを紹介しました。
動画をアプリに組み込めると幅が広がりますね。

ただしYoutube上の動画を利用する際には
著作権にはお気をつけください!
基本的には自分がアップロードした動画を利用するのが吉かと思われます。

それでは今日はこの辺で。

PR

あなたの会社はあなたの技術を評価してくれていますか?
技術力を高めようと頑張っているのに、
技術が評価されないような会社にいたらそれは良い環境なのでしょうか?
エンジニアとして技術を高めたいのなら環境を選ぶことも大事です。

レバテックキャリア
エンジニアとして働いていて実務経験があるなら、
求人数の充実具合からレバテックキャリアがおすすめです。
IT転職ではデファクト・スタンダードですね。
▼レバテック キャリア 登録はこちら▼


Tech Clips
Tech Clipsは年収500万以上&自社サービスを持った会社に特化した求人サイトです。
首都圏限定になってはしまいますが、
収入を増やしたい、自社サービスを持った企業への転職をしたい人におすすめです。

▼Tech Clips 登録はこちら▼