IFrame Player APIの関数を利用する(再生画質:getAvailableQualityLevels / setPlaybackQuality / getPlaybackQuality)

CGI'sトップページ > Youtube API メモ > IFrame Player APIの関数を利用する(再生画質:getAvailableQualityLevels / setPlaybackQuality / getPlaybackQuality)

IFrame Player APIの関数を利用する(再生画質:getAvailableQualityLevels / setPlaybackQuality / getPlaybackQuality)

関数名 機能概要/構文/パラメータ
  1. getAvailableQualityLevels
  2. setPlaybackQuality
  3. getPlaybackQuality
  1. 設定可能な再生画質
  2. 再生画質を設定
  3. 再生画質を取得
  1. player.getAvailableQualityLevels():Array
  2. player.setPlaybackQuality(suggestedQuality:String):Void
  3. player.getPlaybackQuality():String
2.
suggestedQuality 再生画質(small , medium , large , hd720 , hd1080 , highres , default 等設定可能)

以下のサンプルでは onStateChangeイベント内で、設定可能な画質、現在の画質を取得し、それぞれ、levelsとcurrentというIDを持つHTML要素に表示しています。
(動画が読み込まれていないと取得できない模様、バッファが0以上で取得としている)

また、変更のラジオボタンをクリックした際、setPlaybackQuality を使用して画質を設定しています。

また、setPlaybackQualityにより実際に画質が変わればonPlaybackQualityChange イベントが起動します。 これをもって再生画質変更成功ということでコールバック関数内でその旨をresultというIDを持つHTML要素に表示しています。
(動画読込直後にもonPlaybackQualityChange イベントは起動している様で再生直後にも表示されます)
また、onPlaybackQualityChange イベントではイベントオブジェクトの data プロパティに変更後の再生画質が格納されるので、 それをcurrentというIDを持つHTML要素に表示しています。


サンプルコード


サンプル




■現在の画質

■設定可能な画質
※高画質から順にリストされる。

■画質を変更
※Youtube側のドキュメントによると「無効な画質を設定すると有効な画質の中で 2 番目に低い画質が設定される」となっているが必ずしもそうではない模様。
small medium large hd720 hd1080 highres default

■再生速度率の変更について成功したかしないか
※成功した場合のみ成功した旨が表示されます。


Youtube API メモ Indexへ戻る