YouTubeのPlayer APIでHTML5プレイヤーかどうかを判別する方法
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版のプレイヤーのほうで再生速度をサポートするようになったらこの方法は使えなくなると思われます。
コメントを残す