V/G Controller
Kollus VG ControllerはVideogatewayで提供されるメディアの一部機能を外部から制御するためのJavascript libraryとなります。Kollus VG Controllerは以下の目的で提供しています。
- Playerの種類に関わらず同一コードで制御することが可能
- インストール ・使用が比較的に簡単
- Playerの感知・実行が不要 (Videogatewayから自動で感知・呼出)
- 3rd party Javascript libraryが不要
メソッドとイベントリスト名に表記するFlash, V2, V3, V4 Playerは対応しているPlayerの種類となります。
※注意: V2, V3 PlayerはKolllus VODで暗号化されたコンテンツの再生に使用されるKollus security playerとなり、インストールが必要です。
Flash: 非暗号化ファイルの場合、HTML5 Playerが起動しない環境ではFlash Playerが起動します。[^1]
V2: 暗号化されたファイルの場合、IE(ActiveX), Chrome・Firefox(NPAPI)環境でV2 Playerが起動します。[^2]
V3: 暗号化されたファイルの場合、Edge・Chrome 45以降のブラウザ環境でV3 Player(HTML5基盤暗号化Player)が起動します。
V4: 非暗号化ファイルの場合、基本的にV4 Player(標準 HTML5 Player)が起動します。
メソッド・イベントにPlayerバージョンの表記がないものは全てのPlayerが対応
[^1]: Adobe社から2020年以降にFlash Playerの対応中止を公表しています。
https://blogs.adobe.com/conversations/2017/07/adobe-flash-update.html
[^2]: Chrome 42+ / Firefox 52+ バージョンではNPAPI対応を中止しました。
セットアップ
VgControllerClient
(顧客のhtml pageに挿入)
... <script src="https://file.kollus.com/vgcontroller/vg-controller-client.latest.min.js"></script> <script> window.onload = function() { try { var controller = new VgControllerClient({ target_window: document.getElementById('child').contentWindow }); // ここからイベントリスナーを登録したり、ウェブページElementにメソッドをbindしてください。 } catch(e) { // Videogateweay Controller Libraryは window.postMessage APIを使用するため、 // 該当機能に対応していないブラウザでは動作しません。 // ここに適切なfail-overコードを追加してください。 } }; </script> <body> <iframe id="child" src="http://v.jp..."></iframe> </body> ...
- VgControllerClient 生成の際にパラメータで転送するtarget_windowには、Webページに添付しているKollus Videogateway iframeのHTMLElementにcontentWindow属性を入力します。
- このスクリプトはwindow.postMessage API を使ってPlayerとの通信を行うため、該当機能に対応していないブラウザでは動作しません。
- Web Page内部に複数のiframeをembedしている場合、制御するiframe毎にVgControllerClient を生成する必要があります。
- 以前バージョンとの互換性を考慮して(v0.5以前) new VgControllerClient()の代わりにnew Kollus.VideogatewayController()を使用しても正常に動作します。
try-catch文のException code listは以下のようになります。
code message -1 * PostMessage API exception code -99 player type is not defined Player typeが定義されてない。 -99 player type must be one of v2, v3, v4 and flash. Player typeが正常なデータではない。 -99 this browser does not support postMessage PostMessage APIに対応しないブラウザ -99 listener is not callable. イベントリスナーが関数形ではない
VgControllerServer
(Kollus VG view html pageに挿入)
... <script src="/path/to/vg-controller-server.1.1.6.min.js"></script> <script> window.onload = function() { try { var player = [PLAYER オブジェクト Element (v2, v3, v4, flash player)]; var controller = VgControllerServer(player, { player_type: 'v4', //[v2, v3, v4, flash] target_window: window.parent, media_info: {media_info_object} //1.1.4バージョンにて字幕関連メソッドを使用する際に必要です。 }); //player オブジェクトの生成及び初期化が完了されてからイベントを登録してください。 //player オブジェクトが初期化されてない状態で setEventListeners メソッドを呼出す場合、 //VG-Controllerが正常に動作しない可能性があります。 controller.setEventListeners(); } catch(e) { // VG Controllerは window.postMessage APIを使用しているため、 // 該当機能に対応していないブラウザでは動作しません。 // ここに適切な fail-over コードを追加してください。 } }; </script> ...
CDN
Vg-Controller Client LibraryをCDNで提供します。最新バージョンのライブラリを使用するには以下のリンクを挿入してください。
http://file.kollus.com/vgcontroller/vg-controller-client.latest.min.js
以前バージョンのライブラリを使用するにはlatestの代わりにバージョン名を入力してください。
http://file.kollus.com/vgcontroller/vg-controller-client.1.1.4.min.js
VR Contents (mobile device)
iframe 内部で呼び出す360 VR コンテンツの場合、Android・iOS デバイスで再生する際に正常に動作しません。
- Androidの場合にはOrientation値が正常に適用されないため左/右の方向が逆になることがあります。
- iOSの場合にはiOS 13以降からGyroscopeを正常に動作させるためにはDeviceMotion権限を取得する必要がありますが、
- この権限がiframe内部では取得することができないため正常に動作しません。(iOS 13 未満のバージョンではsafari設定から'動作と方向へのアクセス'オプションを変更しなければなりません。)
上記Android・iOSの動作問題を解決するためにはVG-Controller 1.1.10+ を設置する必要があり、VG-Controller ClientからDeviceMotion イベントを自動で登録してVG-Controller Serverとの通信を行います。(周期的にiframe 外部のイベントをiframe内部に転送します。)
- iOSの場合には上記の内容の上、更にController.set_vr_overlay() メソッドを実行させる必要があります。詳しい内容は以下のメソッド項目からset_vr_overlayメソッドを参考にしてください。
※Known Issue: iOS 13.4 バージョンでは権限を取得しても DeviceMotionの rotationRate値が正常に発生しないエラーが報告されています。
Intent Scheme Call Bug (iframe in Android)
Player ページがiframe内部からVGを呼出す構造になっている場合、稀にAndroidデバイスでKollus security player (Android Player アプリ)が実行されない現象があります。
Android OSでは Intent Schemeを使用して呼出していますが、Chrome + iframe 環境で正常に動作していません。
この場合にはVG-Controller 1.1.15+を使用してください。(VG-Controllerが自動で感知・処理します。)
イベントリスニング
Playerのイベントが発生した際に使用者が定義したcallback関数を実行するためのイベントリスナー(EventListener)を登録する方法となります。
controller.on('event_name', function(param) { // イベントリスナー });
単一イベントに複数のリスナーを登録することができます。この場合、イベントが発生すると登録されている全てのリスナーが実行されます。
controller.on('event_name', function(param) { // 1番目のリスナー }); controller.on('event_name', function(param) { // 2番目のリスナー }); // イベント発生の際に1番目、2番目リスナーが全て実行 // 但し、JAVA Scriptイベントループとcallback関数の実行方式によって // リスナーが順番通りに実行されない可能性があります。
イベントリスナーを登録する関数である「on」 はメソッドチェイニング(Method chaining)に対応しています。
controller.on('event_name_1', function(param) { // 1番目のリスナー }).on('event_name_2', function(param) { // 2番目のリスナー });
メソッド使用
Videogateway Controller Libraryが対応するメソッドを呼び出す方法となります。
controller.play();
上記の記載だけで呼び出すことができますが、場合によってはパラメーターが必要なメソッドもあります。
controller.set_volume(90);
参考事項
メソッドリスト
on(event_name, callback_function)
イベントリスナーを登録します。
controller.on('event_name', function(param) { // event_nameに該当するイベントが発生したとき、2番目の因子であるcallback functionを実行 });
Parameters:
- event_name String callback functionをbindするイベント名
- callback_function Function イベント発生する際に実行されるcallback functionとなります。場合によってcallback functionにはパラメータが付与されることがあります。
Return:
- Object VG-Controller Client オブジェクトをリターンします。
off(event_name)
登録されたイベントリスナーを削除します。
controller.off('event_name');
Parameters:
- event_name String callback functionでbindされたイベント名
Return:
- Object VG-Controller Client オブジェクトをリターンします。
get_progress()
再生進行中の位置情報をリターンします。
Parameters:
No parameter
Return:
Object percent, position, durationをpropertyで持つobjectをリターンします。各入力値の説明はprogressイベントを参考にしてください。
play([start_at])
コンテンツを再生します。
controller.play();
特定時点から再生する場合、以下のように再生する位置をパラメータで入力してください。
controller.play(10); // 10秒時点から再生
Parameters:
- start_at Integer (Optional) 再生を開始する位置:省略した場合最初から再生開始
Return:
No return
pause()
コンテンツ再生を一時停止します。
Parameters:
- No parameter
Return:
No return
set_volume(volume)
音量を変更します。音量は 0 <= volume <= 100 の間のIntegerタイプの値を入力します。範囲外の値は0か100に調整されます。
Parameters:
- volume Integer 変更する音量
Return:
No return
get_volume()
現在設定された音量値をリターンします。
Parameters:
- No parameter
Return:
Integer 現在設定されている音量
mute()
ミュートをOn/Offにします。On/Offはスイッチ方式で作動します。(呼出す度に状態が変更)
Parameters:
- No parameter
Return:
No return
ff()
set_jumpstep メソッドで設定された入力値の通りに現在の再生位置から後ろに移動します。初期値は10秒です。
Parameters:
- No parameter
Return:
No return
rw()
set_jumpstep メソッドで設定された入力値の通りに現在の再生位置から前に移動します。初期値は10秒です。
Parameters:
- No parameter
Return:
No return
current_time(current_time) _
play(start_at) メソッドは該当位置に移動後即時に再生を開始しますが、set_current_time(current_time) メソッドは現在のplaying/paused状態を維持します。
Parameters:
Integer 移動する時間
Return:
No return
current_time(current_time) _
現在の位置をリターン
Parameters:
Return:
Number 現在の位置 (小数点5桁まで)
set_screen() V2 V3 V4
全体画面をOn/Offします。On/Offはスイッチ方式で作動します。(呼出す度に状態が変更)
- Flash Player 対応不可
- IE, Firefox対応不可
Parameters:
- No parameter
Return:
No return
get_screen()
現在画面モードをリターン:set_screenの対応有無(V2, V3, V4 Player)に関係なくget_screen関数は全てのPlayerから画面モードをリターンします。
- 全体画面Off : windowed
- 全体画面On : fullscreen
Parameters:
- No parameter
Return:
String リターンされる現在の画面モード:windowed, fullscreenのいずれかの値
set_jumpstep(jumpstep)
ff メソッド、または rw メソッドで移動する位置を設定します。位置は「秒単位の定数」で入力します。
Parameters:
- jumpstep Integer 移動する時間値
Return:
No return
get_jumpstep()
現在設定されている移動する時間値をリターン
Parameters:
- No parameter
Return:
Integer リターンされる時間値
set_control_visibility(visibility)
Player Control panelの表示・非表示を設定:trueは表示、falseは非表示
Parameters:
- visibility Boolean Control panelの表示有無
Return:
No return
get_control_visibility()
layer Control panelの表示・非表示設定をリターン
Parameters:
- No parameter
Return:
Boolean Control panelの表示有無
video_visibility(visibility) V3 _V4
パラメータをtrueにすると表示、falseにすると非表示になります。
Parameters:
visibility Boolean
Return:
No return
set_speed(speed) V2 V3 V4
倍速範囲を設定します。(0.5 <= speed <= 4) 最大倍速はPlayerの設定により変更することがあります。倍速は0.1刻みで調整することができます。範囲外の値を入力する場合範囲の最低、最大値(0.5と4)で固定されます。
Parameters:
- speed Integer 設定する倍速値
Return:
No return
get_speed() V2 V3 V4
設定された倍速値をリターン: Javascriptには明確なFloatタイプがないため、小数点を表現するためにStringタイプでリターンします。
Parameters:
- No parameter
Return:
String 設定された倍速値。定数(1, 2, 3, 4)の場合、小数点を表示します。(1.0, 2.0, 3.0, 4.0)
set_playback_rates(playback_rates) V3 V4
倍速値のグループを設定:Array typeとなり順番は無視されます。(Player側で整列してUIを構成)二重配列形態で表示される場合、UIから見られる倍速値グループの行数を設定することができます。この場合、最初の因子は倍速値の配列となり2番目の因子は行数を意味します。ex) [[0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4], 2]
Parameters:
- playback_rates Array 設定する倍速値グループの配列
Return:
No return
get_playback_rates() V3 V4
倍速値グループの配列をリターン
Parameters:
- No parameter
Return:
Array 設定された倍速値グループの配列
set_topmost(topmost) V2
ウィンドウの最上位配置を設定: 最上位に設定した場合、閲覧中のブラウザがバックグラウンドに入っても他のウィンドウより前面に表示されます。
Parameters:
- No parameter
Return:
No return
get_topmost() V2
ウィンドウの最上位配置設定をリターン: V2 Player以外のPlayerから呼出された場合falseをリターンします。
Parameters:
- topmost Boolean trueは設定on, falseは設定off
Return:
Boolean 設定内容
set_brightness(brightness) V2
映像の明るさを設定します。この設定はV2 Playerのみ対応します。映像の明るさは -50 <= brightness <= 50となります。範囲外の値を入力する場合範囲の最低、最大値(-50と50)で固定されます。
Parameters:
- brightness Integer 明るさ設定値
Return:
No return
get_brightness() V2
明るさ設定値をリターン: V2 Player以外の場合常に0をリターンします。
Parameters:
- No parameter
Return:
Integer 明るさ設定値
set_contrast(contrast) V2
映像のコントラストを設定します。この設定はV2 Playerのみ対応します。映像のコントラストは -50 <= contrast <= 50となります。範囲外の値を入力する場合範囲の最低、最大値(-50と50)で固定されます。
Parameters:
- contrast Integer コントラスト設定値
Return:
No return
get_contrast() V2
コントラスト設定値をリターン: V2 Player以外には常に0をリターンします。
Parameters:
- No parameter
Return:
Integer コントラスト設定値
set_saturation(saturation) V2
映像の色調を設定します。この設定はV2 Playerのみ対応します。映像の色調は -50 <= saturation <= 50となります。範囲外の値を入力する場合範囲の最低、最大値(-50と50)で固定されます。
Parameters:
- saturation Integer 色調設定値
Return:
No return
get_saturation() V2
色調設定値をリターン: V2 Player以外には常に0をリターンします。
Parameters:
- No parameter
Return:
Integer 色調設定値
set_repeat_start([position])
リピート再生の開始位置を設定します。因子なしで呼び出す場合現在の位置を開始位置として設定します。
controller.set_repeat_start();
因子で位置(秒)値を入力すると指定した位置をリピート再生の開始位置として設定します。
controller.set_repeat_start(10); // 10秒時点を開始位置に設定
設定されている終了位置より開始位置が後になる場合、終了位置が解除されます。
Parameters:
- position Integer (Optional) 開始位置値
Return:
No return
set_repeat_end([position])
リピート再生の終了位置を設定します。因子なしで呼び出す場合現在の位置を終了位置として設定します。
controller.set_repeat_end();
因子で位置(秒)値を入力すると指定した位置をリピート再生の終了位置として設定します。
controller.set_repeat_end(20); // 20秒時点を開始位置に設定
設定されている開始位置より終了位置が前になる場合、開始位置が解除されます。
Parameters:
- position Integer (Optional) 終了位置値
Return:
No return
unset_repeat()
リピート再生設定を解除
Parameters:
- No parameter
Return:
No return
get_repeat() V2 V3 V4
リピート再生設定状態をリターン: V3, V4 Playerは状態の文字列と時間がリターンします。V2 Playerの場合状態の文字列のみリターンします。状態文字列はcancel, start, endの3種類となります。
Parameters:
- No parameter
Return:
No return
refresh_bookmark()
Playerのbookmarkリストを更新
Parameters:
- No parameter
Return:
No return
enable_fullscreen_button() V3 V4
Playerの全体画面ボタンを有効にします。(IE バージョン10 以前のバージョンはfullscreen 機能に対応していないためfullscreen buttonは自動で無効になります。)
Parameters:
- No parameter
Return:
No return
get_player_id() V2 V3
PlayerのユニークIDをリターンします。この関数は「ready」イベントが呼出されるまでにはnullをリターンします。
Parameters:
- No parameter
Return:
String PlayerのユニークID
get_hardware_id() V2 V3
ハードウェアユニークIDをリターンします。この関数は「ready」イベントが呼出されるまでにはnullをリターンします。
Parameters:
- No parameter
Return:
String ハードウェアユニークID
get_player_type()
現在のPlayer Typeをリターン:Flash, V2, V3, V4
Parameters:
- No parameter
Return:
String 現在のPlayer Type
set_subtitle_visibility(visibility)
字幕表示を設定
Parameters:
- visibility Boolean 表示設定
Return:
No return
set_subtitle_shadow_rect(is_rect)
字幕の背景スタイルを設定:パラメータがtrueならblock形の不透明背景となり、falseなら文字の陰影として設定されます。
Parameters:
- is_rect Boolean 字幕の背景スタイルがBlock形であるかの有無
Return:
No return
get_subtitle_shadow_rect()
字幕の背景スタイルがBlock形の不透明背景に設定されているかをリターンします。
Parameters:
- is_rect Boolean 字幕の背景スタイルがBlock形であるかの有無
Return:
No return
set_subtitle_font_size(size) V3 V4
字幕フォントのサイズを設定します。
Parameters:
- size Integer 字幕フォントのサイズです。単位はpxです。
Return:
No return
get_subtitle_font_size() V3 V4
字幕フォントのサイズを設定をリターン
Parameters:
- No parameter
Return:
- size Integer 字幕フォントのサイズです。単位はpxです。
get_video_info() Flash V4
コンテンツのwidth, height, bitrate 値をリターンします。この関数は「ready」イベントが呼出されるまでにはnullをリターンします。
Parameters:
- No parameter
Return:
Object width, height, bitrateがpropertyになるObjectをリターン
set_lms_check()
Playerが終了またはブラウザを閉じた場合LMSデータが転送されたことを確認してから削除されるように設定します。
Parameters:
No parameter
Return:
No parameter
set_keyframe_seek_default(is_default) V2
Seekする際にKeyframe移動をdefaultにするかを設定
Parameters:
is_default
Boolean
default 設定有無
Return:
No parameter
set_short_key(enable) V2
ショートカットキーのOn/Off設定
Parameters:
enable
Boolean
ショートカットキー設定
Return:
No parameter
set_enable_close_event()
close callback 関数の使用有無を設定
Parameters:
No parameter
Return:
No parameter
get_enable_close_event()
close callback 関数の使用設定をリターン
Parameters:
No parameter
Return:
Boolean
使用設定をリターン
set_close_callback_fn(fn)
ブラウザを閉じた際に実行する関数を登録します。
Parameters:
fn
Function
閉じた際に実行する関数
Return:
No parameter
get_lms_data() V4
現在まで保存されたLMS dataをリターンします。
Parameters:
No parameter
Return:
Object
LMS data
get_hls_frag_data() V4
hlsのfrag dataを呼出す
Parameters:
No parameter
Return:
base_url
String
M3U8 ファイルの呼出URLurl
String
TS ファイル(media file)の呼出URLduration
Integer
TS ファイルの全体時間auto_level
Boolean
ABR 有無level
Integer
現在ビットレートレベル値media_sequence
Integer
メディアシーケンスナンバーprogram_date_time
Integer
Program Date Timetag_list
Array
Tags [key, value]encrypted
Boolean
Encrypt 有無
set_controls_inactive_time (time) V2
V3
V4
コントロールバーが非表示になる時間を設定します。0の場合固定 (V3, V4 のみ)
Parameters:
time
Integer
コントロールバーが非表示になる時間
Return:
No parameter
get_controls_inactive_time () V2
V3
V4
設定されているコントロールバーの非表示時間をリターン
Parameters:
No parameter
Return:
Integer
コントロールバーの非表示時間
set_controls_activity (activity) V3
V4
コントローラー(ControlBar, BigPlayButton)の有効・無効を設定
Parameters:
activity
Boolean
コントローラーの有効・無効設定
Return:
No parameter
get_controls_activity () V3
V4
コントローラー設定をリターン
Parameters:
No parameter
Return:
Boolean
コントローラー設定
set_controlbar_progress_only (enable) V2
V3
V4
コントロールバーのProgressBarのみ表示する設定
Parameters:
enable
Boolean
ProgressBar Only設定
Return:
No parameter
get_controlbar_progress_only () V2
V3
V4
ProgressBar Only設定をリターン
Parameters:
No parameter
Return:
Boolean
ProgressBar Only設定
set_controlbar_hide_playing (enable) V4
再生中にコントロールバーとプログレスバーまで非表示にする設定
Parameters:
enable
Boolean
再生中にプログレスバーまで非表示にする設定
Return:
No return
get_controlbar_hide_playing () V4
再生中にコントロールバーとプログレスバーまで非表示にする設定をリターン
Parameters:
No parameter
Return:
Boolean
再生中にプログレスバーまで非表示にする設定
set_subtitle_activity (activity) V2
V3
V4
字幕の位置を変更
Parameters:
activity
Boolean
trueの場合コントロールバー領域分だけ上に位置が上がり、falseの場合下がる
Return:
No return
get_subtitle_activity () V3
V4
字幕の位置をリターン
Parameters:
No parameter
Return:
Boolean
tコントロールバー領域分だけ上に位置が上がっているかをリターン
get_subtitles_LIST () V2
V3
V4
VGから字幕の順番を変更してPlayer側にリターンする場合があるため、APIを呼出して取得する字幕リストではなく、
VGのMediaInfoオブジェクト内部の字幕属性をリターンします。
Parameters:
No parameter
Return:
Array
字幕リストの配列オブジェクト
set_current_subtitle (index) V2
V3
V4
字幕を変更
Parameters:
index
Number
get_subtitles_list()メソッドでリターンされた字幕配列のindex値
Return:
No return
set_ratio (type) V2
V3
V4
画面拡大モードを変更
Parameters:
type String contain, fill, enlargementの中一つを適用することが可能
- contain: 比率に合わせて埋める
- fill: 画面全体に埋める
- enlargement: 縦幅に合わせて埋める(左右にスクロール可能)
Return:
No return
get_error_detail () V2
V3
V4
Errorが発生した場合、code, message, param値をオブジェクトでリターンする。param値はmessage以外にも追加で情報を転送する必要がある場合含まれます。
Parameters:
No parameter
Return:
Object
Errorの詳細値をリターン {code, message, param}
set_vr_overlay (options) V3
V4
iOSデバイスはDeviceMotion権限を取得するためNative CodeであるDeviceMotionEvent.requestPermissionメソッドを呼び出す必要があります。
User Action (Touch)を必要とするため、iframeオブジェクト上にTouch Eventを受け取るための任意のオブジェクトが必要になります。
VG-Controller Client初期化してから該当メソッドを呼出すとVG-Controller Client 内部から自動でTouch Eventオブジェクトを生成し、権限を受け取る準備をします。
※iOS 13.4バージョンでは権限を取得してもDeviceMotionのrotationRate値が正常に適用されないエラーが判明されています。
var controller = new VgControllerClient({ target_window: player.contentWindow }); controller.set_vr_overlay({ target_element: document.getElementById('player').parentElement, permission_request_help_message: 'Custom Info Message' });
Parameters:
options
object
- target_element (必須)
- 任意のTouch Eventオブジェクトを生成するDom Elementです。ifrmaeオブジェクトの親Elementを指定してください。
- 重要:iframeオブジェクトの親Elementはposition値がrelativeまたはabsoluteでなければなりません。
- permission_request_help_message
- 既にDeviceMotion Permissionを実行している場合にはブラウザデータ保存所に該当値が保存されます。Permissionをキャンセルした場合、キャンセル状態で保存されるため、requestPermissionを実行することができません。実行できない状況に対した説明文を設定してください。説明文を設定していない場合、以下のデフォルト内容が表示されます。
- "動作と方向"へのアクセス権限がないためジャイロスコープが動作しません。設定 > Safari > 詳細 > Webサイトデータからデータを削除して再度お試しください。
- 既にDeviceMotion Permissionを実行している場合にはブラウザデータ保存所に該当値が保存されます。Permissionをキャンセルした場合、キャンセル状態で保存されるため、requestPermissionを実行することができません。実行できない状況に対した説明文を設定してください。説明文を設定していない場合、以下のデフォルト内容が表示されます。
- target_element (必須)
Return:
No return
set_custom_error (code, message, param) V3
V4
Playerのエラーメッセージを変更します。
メソッドの実行時点がエラーが起きている状態であれば、画面に表示されているエラーメッセージとparam値を入れ替えた内容で表示します。
メソッドの実行時点がエラーが起きていない状態であれば、該当エラーが発生した場合に入れ替えたエラーメッセージとparam値を表示することにします。
※Error code 値が変更の基準になるため、Error codeを正確に入力してください。
Parameters:
code Integer エラーコード
message String ユーザーエラーメッセージ
param String ユーザー Param メッセージ
Return:
No return
set_close_button (enable, fn) V4
Playerの右上に閉じるボタンを追加します。(Mobile player only)閉じるボタンがクリックされた際にCallback関数を実行します。※ready event 以降に呼出してください。
Parameters:
enable Boolean 閉じるボタン配置有無
fn Function 閉じるボタンクリックされた際に実行する関数
Return:
No return
hide_controlbar_button (value) V4
コントロールバーから特定ボタン (fullscreen, setting)を除去します。fullscreenボタンを除去する場合、hide_control_bar(['fullscreen'])を呼出してください。※ready event 以降に呼出してください。
Parameters:
value Array 除去するボタン (fullscreen, setting) 配列
Return:
No return
set_chat_config (value) V4
チャットウィンドウに必要な情報を表示するcustomer_pageをTab page形で表示するように設定します。urlを入力してhtmlページにリンクしたり、html tagをそのまま入力することも可能です。※ready event 以降に呼出してください。
- ブラウザのセキュリティポリシーのため、urlは https のみ対応します。
- htmlを入力する場合、<script>tagは動作しません。
const config = { customer_page: [{ title:'関連情報', url:'https://google.com', //html:'<h2 style="color:red">正しいHTMLの書き方</h2>' }] }; controller.set_chat_config(config);
Parameters:
value Object チャット設定 (Json object)
Return:
No return
hide_controlbar_button (value) V4
Android webview環境にて、チャットのキーボードが立ち上がる際にwebviewの位置がキーボードに合わせて動かないため正常に見えなくなるのでこの問題を修正するためにこのメソッドを呼出する必要があります。
height値は全体が見える状態(キーボードがない状態)を1.0とします。例えばキーボードが立ち上がって画面の40%が被られたと想定した場合には height = 0.6 を呼出して対応します。
Parameters:
value Integer 画面対比キーボードの縦幅パーセンテージ
Return:
No return
dispose () V3
V4
Playerオブジェクトを削除
Parameters:
No parameter
Return:
No return
イベントリスト
loaded
Playerの読込が完了するとイベントが発生します。
ready
Playerの読込が終わってから再生情報をサーバーから獲得して再生準備が完了された時点
play
再生開始の時に発生:一時停止状態から再度再生した際にも発生します。
progress
再生中に毎秒発生
controller.on('progress', function(percent, position, duration) { // 因子の順番は上記の通りになります。 });
V3, V4 Playerの場合、HTML5 Video Playerの構造上の都合のためprogressイベントが正確に1秒毎に発生しない可能性があります。 (0.1秒から最大0.5秒まで差が発生する可能性があります。)V3, V4 Playerにprogressイベントで作業する場合上記の内容に注意してください。
Parameters:
- percent Integer 進行率のパーセントとなります。範囲は 0 <=percent <=100となります。
- position Integer 現在再生中の位置値となります。単位:秒
- duration Integer コンテンツの長さとなります。 単位:秒
pause
一時停止した場合に発生
done
再生を完了した場合に発生:再生完了はdurationの最後の時点に到達した際に判別
muted Flash V3 V4
ミュート状態が変更された際に発生 (ミュートOn/Off 何れも発生)
controller.on('muted', function(is_muted) { // is_mutedがtrueはミュートOn, falseはミュートOff });
V2 Playerの場合には現状mutedイベントは対応していません。ミュート状態になる場合volumechangeイベントが発生し、変更された音量を0で転送します。
Parameters:
- is_muted Boolean trueはミュートOn, falseはミュートOff
close V2
Playerが終了またはブラウザを閉じると発生
seeking V4
シークが始まると発生
seeked V4
シークが終わると発生
scalemodechange Flash
スケールモードが変更された際に発生します。
controller.on('scalemodechange', function(scalemode) { // ... });
Flash Playerのみ対応:パラメータは以下の中で決まります。
- letterbox, stretch, zoom, none
Parameters:
- scalemode String letterbox, stretch, zoom, none の中で一つ
topmostchange V2
ウィンドウの最上位配置設定が変更した際に発生
controller.on('topmostchange', function(is_topmost) { // is_topmostがtrueは最上位設定On, falseは最上位設定Off });
V2 Player以外のPlayerではイベントが発生しません。
Parameters:
- is_topmost
Boolean
trueは最上位設定On, falseは最上位設定Off
screenchange
全体画面のOn/Offの際に発生
IE10 以前のバージョンでenable_fullscreen_button()が有効化されている場合、fullscreen ボタンをクリックしても実際の動作はしませんがscreenchangeイベントはリターンされます。
controller.on('screenchange', function(screen) { // ... });
screen パラメータは2つの文字列を転送します。screen: windowed, fullscreen
Parameters:
- screen
String
windowedは全体画面Off, fullscreenは全体画面On
volumechange
音量変更の際に発生
controller.on('volumechange', function(volume) { // volumeの範囲は 0 <= volume <= 100 });
Parameters:
- volume
Integer
変更された音量:範囲は 0 <= volume <= 100
speedchange V2
V3
V4
倍速変更の際に発生:倍速最大値はPlayerの設定により変更
controller.on('speedchange', function(speed) { // speed範囲は 0.5 <= speed <= 4 });
Parameters:
- speed
String
変更された倍速:範囲は 0.5 <= speed <= 4となります。Javascriptの特性で2.0は2に表記されるため、Integerタイプの代わりにStringタイプで転送
V3
V4
倍速値グループが変更されると発生
controller.on('playbackrateschange', function(playback_rates) { // playback_ratesは配列の文字列となり、単一または二重配列でリターン });
Parameters:
playback_rates
String
変更された倍速値グループの文字列単一配列 : 倍速値リストが1列で表示 ex) [1, 2, 3]
二重配列 : 倍速値リストが複数列で表示 ex) [[0.5, 1, 1.5, 2], 2]
映像設定変更の際に発生
controller.on('videosettingchange', function(videosetting) { // videosetting パラメータは次のObjectタイプ // // { // "brightness": 0, // "contrast": 0, // "saturation": 0 // } });
映像設定変更はV2 Playerのみ対応しています。他のPlayerではイベントが発生しません。範囲は全て -50 <= value <= 50となります。別途指定がなかった場合defaultは0となります。
Parameters:
- videosetting
Object
brightness(明るさ), contrast(コントラスト), saturation(色調)がpropertyになるobject
jumpstepchange
ff, rw メソッドから移動時間値が変更された際に発生
controller.on('jumpstepchange', function(jumpstep) { // jumpstep 単位:秒 });
Parameters:
- jumpstep
Integer
変更された移動時間値 (単位:秒)
subtitlevisibilitychange V2
V3
V4
字幕表示状態が変更されると発生
hlsfragchange V4
hlsのfragが変更されると発生
html5_video_supported V3 V4
V3, V4 Playerのみ発生します。PlayerがHTML5 Video 再生機能が使用できる環境だと判断してV4(HTML5 Video Player)を読み込んだ場合にはtrue, V3を読み込む場合にはfalseをリターンします。 (http://caniuse.com/#feat=video 参考)
Parameters:
- html5_video_supported
Boolean
PlayerがV4(HTML5 Player)で読み込む場合true, V3を読み込む場合falseがリターン
error
Playerが再生エラーをリターンした際に発生
controller.on('error', function(error_code) { // ... });
Parameters:
- error_code
Integer
Kollus Playerのエラーコード
device_orientation_changed v4
mobile deviceの縦/横が回転された際に発生
Parameters:
- orientation
String
縦: Portrait 横: Landscape