てくてくテック

気ままに開発のメモを書いていこうと思います。主にSwiftかと。

youtube-ios-player-helperで再生できないことがある

はじめに

youtube の動画でたまに再生されないものがあったので、それについてのお話

現象

youtube-ios-player-helperを使ってyoutubeの動画再生していました。 大半の動画は再生されるのですが、一部の動画(ex. ID: A_bdeYlpasE)で再生されませんでした。 再生されないというのも、押した反応はあるのですが、その後何も起きないという感じでした(下図参照)。 https://gyazo.com/6f3708a2a932c326362ada6904dfc047

また、全デリゲートメソッドを監視してみましたが特にエラーが出たりもしませんでした。

原因と対処法

何回もやっていたら偶然か違う挙動をしました。

f:id:k-s-9190118:20161111105648p:plain

これを元にライブラリのgithubを調べてみたら、issueが幾つか上がってます#197。 対応としてはパラメーターにoriginを追加すれば良いようです。

self.playerView?.load(withVideoId: "A_bdeYlpasE", playerVars: ["playsinline":1, "origin" : "https://www.youtube.com"]