F.Ko-Jiの「一秒後は未来」

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版のプレイヤーのほうで再生速度をサポートするようになったらこの方法は使えなくなると思われます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など