ネットサービスとかGoogleとか豆知識とか。

Index > プログラミング > Javascript > YouTubeのPlayer APIでHTML5プレイヤーかどうかを判別する方法
Javascript
2013年04月05日 09:33

YouTubeのPlayer APIでHTML5プレイヤーかどうかを判別する方法

  • このエントリーをはてなブックマークに追加
  • ... PV
スポンサード リンク

YouTubeのプレイヤーをJavaScriptから操作できる「Player API」というものがありますが、この API を使って「ユーザーがHTML5版のプレイヤーを使っているかどうか」を判別する方法がないか探ってみました。

他にも方法があるかもしれませんが、結論からいうと、今のところ「getAvailablePlaybackRates」というメソッドの結果で区別ができます。

iframe API » YouTube Player API Reference for iframe Embeds - YouTube — Google Developers
JavaScript API » YouTube JavaScript Player API Reference - YouTube — Google Developers

このメソッドは iframe API でも JavaScript API でも利用できて、

// HTML5版の場合
> player.getAvailablePlaybackRates();
[0.25, 0.5, 1, 1.5, 2]

// HTML5版でない場合
> player.getAvailablePlaybackRates();
[1]

このようにHTML5プレイヤーかどうかで異なる結果が返ります。

getAvailablePlaybackRates は現在のプレイヤーで利用可能な「再生速度」を取得するメソッドで、現在のところ再生速度を変更する機能はHTML5プレイヤーだけでサポートされており、そのためHTML5版かどうかで異なる結果が返されるということのようです。

なお、今後Flash版のプレイヤーのほうで再生速度をサポートするようになったらこの方法は使えなくなると思われます。