V/G Controller

V/G Controller サンプルダウンロード

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は以下のようになります。

    codemessagedescription
    -1*PostMessage API exception code
    -99player type is not definedPlayer typeが定義されてない。
    -99player type must be one of v2, v3, v4 and flash.Player typeが正常なデータではない。
    -99this browser does not support postMessagePostMessage APIに対応しないブラウザ
    -99listener 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

set_current_time(current_time)

current_time 位置に移動します。play(start_at) メソッドは該当位置に移動後即時に再生を開始しますが、set_current_time(current_time) メソッドは現在のplaying/paused状態を維持します。

Parameters:

  • current_time Integer 移動する時間

Return:

  • No return

get_current_time()

現在の位置をリターン

Parameters:

  • No parameter

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の表示有無

set_video_visibility(visibility) V3 V4

Video 画面の表示・非表示を設定 (Audioには影響なし)パラメータをtrueにすると表示、falseにすると非表示になります。

Parameters:

  • visibility Boolean Video 表示設定

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() V2

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 ファイルの呼出URL

  • url String TS ファイル(media file)の呼出URL

  • duration Integer TS ファイルの全体時間

  • auto_level Boolean ABR 有無

  • level Integer 現在ビットレートレベル値

  • media_sequence Integer メディアシーケンスナンバー

  • program_date_time Integer Program Date Time

  • tag_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サイトデータからデータを削除して再度お試しください。

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タイプで転送

playbackrateschange 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]

videosettingchange V2

映像設定変更の際に発生

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

Copyright © CATENOID, lnc. All Rights Reserved.
E-mail. jp_sales@catenoid.net | Tel. 03-4405-8462