2017年9月17日日曜日

Swift3 で YoutubePlayer を使って動画を再生する方法

概要

Swift3 で YouTube の動画を再生する方法を紹介します
今回は YouTubePlayer というライブラリを使って再生させてみます

環境

  • macOS X 10.12.6
  • Xcode 8.3.3 (8E3004b)
  • YouTubePlayer 0.4.0

ライブラリインストール

cocoapods でインストールすることができます

  • vim Podfile
pod 'YouTubePlayer'
  • pod install

View を設置して YouTubePlayerView をカスタムクラスに設定する

まず Main.storyboard を編集します
ViewController に 1 つ View を配置し Class に「YouTubePlayerView」を設定し Module に「YouTubePlayer」を設定しましょう
Constraints は適当に設定してください
swift3_with_youtubeplayer1.png

IBOutlet で .swift ファイルに接続する

設置した YouTubePlayerView を Control + ドラッグで .swift ファイル上に接続しましょう
.swift ファイルには import が必要なので以下を追記します

import YouTubePlayer

うまく接続できると以下の変数が自動で追加になります

@IBOutlet weak var player: YouTubePlayerView!

swift3_with_youtubeplayer2.png

こんな感じになれば OK です

YouTube の動画を再生するロジックを追記すうる

.swift ファイル側で追加した View を制御して動画を再生してみましょう
といっても以下の 1 行を追加するだけです

player.loadVideoID("1rlB8HSuWks")

今回は viewDidLoad 内でコールしています
ここで指定している ID は動画にアクセスしたときに URL に含まれる watch?v=1rlB8HSuWks の部分です

動作確認

あとは実行するだけです
シミュレータでも動作します
swift3_with_youtubeplayer3.gif

再生、停止はもちろん早送りや早戻し、全画面表示も対応しています

最後に

Swift3 で YouTubePlayer を使って YouTube の動画を再生してみました
今回試したシミュレータの iOS のバージョンが 10.3.1 だったので iOS11 でも動作するかは不明です
Github で公開されているコードは一応メンテされているっぽいですが今後も続くかは不明です
おそらく内部的には AVFoundation の AVPlayer などを使っていると思うので自分でやろうと思えば同じことはできますが結構簡単に使えるので、今後もエンハンスしてほしいなと思います

すでに Swft3 の環境でビルドすると YouTubePlayer のライブラリの警告が 10 個ほど出るので心配な気もしますが、、、

参考サイト

0 件のコメント:

コメントを投稿