Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

V/G Controller 

Latest version 1.2.2

개요

...

Kollus VG Controller는 콜러스 플레이어 기능들을 고객사 웹사이트에서 Videogateway로 제공되는 미디어의 일부 컨트롤을 고객사 웹사이트 내에서 구현 할 수 있도록 지원하는 지원 하는 Javascript library입니다.   Kollus VG Controller는 다음과 같은 특징을 가지고 있습니다. 

...

html페이지에서 플레이어 구현

...

  • Videogateway에서 자동으로 실행되는 플레이어의 타입에 관계없이 동일한 코드로 제어 가능

  • 간단한 설치 + 쉬운 사용방법

  • 플레이어의 감지 실행을 고민할 필요가 없음

  • 서드파티 자바스크립트 라이브러리가 필요치 않음

메소드와 이벤트 목록 이름 옆에 표기되는 V3, V4 Player(1) 등은 Player를 의미합니다.

시작하기

...

VgControllerClient

(고객사 html page에 삽입)

아래 예시 코드를 영상이 보여질 html page에 적용하시면 됩니다.  

Code Block
...
<script src="/path/to/Vg-Controller Client Library는 CDN으로 제공합니다. script로 링크를 넣어주시면 됩니다. 자세한 내용은 CDN목록 확인하세요. 
<script src="https://file.kollus.com/vgcontroller/vg-controller-client.latest.min.js"></script> 
<script>
    window.onload = function() {
    try {
        vg-controller-client.1.1.16.min.js"></script>
<script>
	window.onload = function () {
		try {
			var controller = new VgControllerClient({
		//getElementById 값의 영상이 나올 iframe의 id값을 넣으시면 됩니다. 
        	target_window: document.getElementById(		target_window: document.getElementById('child').contentWindow
        ,
			});
        			// 여기서부터 이벤트 리스너를 등록하거나, 웹페이지 Element에 메소드를 bind하면 됩니다.
			controller.on('progress', function(percent, position, duration} catch (e) {	
				console.log(position)					
			})
			controller.on('ready', function() {
				console.log("ready");
				controller.set_custom_error(3012, "test", ""// Videogateweay Controller Library는 window.postMessage API를 이용하기 때문에
			// 해당 기능을 지원하지 않는 웹브라우져에서는 동작하지 않습니다.
			// 이 부분에 적절한 fail-over 코드를 추가하여 주십시요.
			console.error(e);
		}
	});
</script>
<body>
			controller.on('progress', function(percent, position, duration) {
				console.log('progress');
				// console.log(controller.refresh_bookmark());		
				console.log(controller.get_lms_data())										
			});

			controller.on('pause', function() {
				console.log("pause event");
				controller.enable_fullscreen_button();
				isPlaying = false;
			});

			controller.on('done', function() {
				console.log("done");
				isPlaying = false;
				
			});

			controller.on('muted', function(is_muted) {
				console.log("mute event");
				is_muted = true;		
			});

			controller.on('seeking', function() {//v4
				console.log("seeking");			
			});

			controller.on('seeked', function() {//v4
				console.log("seeked");			
			});

			controller.on('screenchange', function(screen) {
				console.log(screen);			
			});

			controller.on('volumechange', function(volume) {
				console.log(volume);			
			});

			controller.on('speedchange', function(speed) {
				console.log(speed);			
			});

			controller.on('playbackrateschange', function(playback_rates) {
				console.log(playback_rates);			
			});

			controller.on('videosettingchange', function(videosetting) {//v3
			console.log(videosetting);			
			});

			controller.on('jumpstepchange', function(jumpstep) {
				console.log(jumpstep);			
			});

			controller.on('subtitlevisibilitychange', function(visibility) {
				console.log(visibility);			
			});

			controller.on('hlsfragchange', function() {//v4
				console.log("hlsfragchange");			
			});

			controller.on('html5_video_supported', function(html5_video_supported) {//v4
				console.log(html5_video_supported);			
			});

			controller.on('error', function(error_code) {
				console.log(error_code);
			});

			controller.on('device_orientation_changed', function(orientation) {
				console.log(orientation);
			});
        } catch(e) {

            // 이 부분에 적절한 fail-over 코드를 추가하여 주십시요.
			console.error(e);
        }
    };
</script>
<body>
	<iframe id="child" src="http://v.kr..."></iframe>
</body>
...
  • VgController는 하나의 iframe 만 다룰 수 있습니다. 2개 이상의 iframe 같은 경우 각각 다른 VgController를 만들어야 합니다. 

  • 이전 버전과의 호환성을 위해 (v0.5이하) new VgControllerClient() 대신 new Kollus.VideogatewayController() 를 사용해도 정상적으로 작동합니다.

  • 본 스크립트는 window.postMessage API 를 이용하여 Player와 통신하므로, 해당 기능을 지원하지 않는 웹브라우져에서는 동작하지 않습니다.

  • try-catch문의 Exception code list는 다음과 같습니다.

...

code

...

message

...

description

...

-1

...

*

...

PostMessage API exception code

...

-99

...

player type is not defined

...

Player type이 정의되지 않았습니다.

...

-99

...

Player type이 유효한 값이 아닙니다.

...

-99

...

this browser does not support postMessage

...

브라우저가 PostMessage API를 지원하지 않습
니다.

...

-99

...

listener is not callable.

...

이벤트 리스너가 함수형이 아닙니다.

CDN

Vg-Controller Library를 CDN으로 제공합니다. 가장 최신 버전의 라이브러리를 사용하시려면 아래 링크를 script로 삽입하시면 됩니다.

Code Block
https://file.kollus.com/vgcontroller/vg-controller-client.latest.min.js

//이전 버전의 라이브러리를 사용하시려면 latest 대신 버전명으로 변경하여 호출하시면 됩니다.

https://file.kollus.com/vgcontroller/vg-controller-client.1.1.4.min.js

이벤트 리스닝

플레이어 재생, 정지 등 이벤트가 발생할때마다 callback 함수를 실행하도록 이벤트 리스너(EventListener)를 등록하는 방법입니다.

등록 방법은 아래와 같습니다.

Code Block
//이밴트 하나 실행 
controller.on('event_name', function(param) {
// 이벤트 리스너
});



//하나의 이벤트에 하나 이상의 리스너를 등록
controller.on('event_name', function(param) {
	// 첫번째 리스너
});
controller.on('event_name', function(param) {
	// 두번째 리스너
});




//이벤트 리스너를 등록하는 함수인 on 은 메소드 체이닝(Method chaining)을 지원합니다.
controller.on('event_name_1', function(param) {
	// 첫번째 리스너
}).on('event_name_2', function(param) {
	// 두번째 리스너
});
  • 하나 이상의 리스너를 등록한 경우 이벤트 발생시에 등록된 모든 리스너가 실행됩니다. 다만, 자바스크립트 이벤트 루프와 callback 함수가 실행되는 방식에 의해, 실행 순서가 바뀔 수 있습니다.

...

loaded

...

플레이어 로딩이 완료되면 이벤트가 발생합니다.

...

v3, v4

...

플레이어 로딩이 끝나고 재생 정보를 서버로부터 획득하였으며, 실제 재생준비가 완료된 시점입니다.

...

v3, v4

...

play

...

재생 시작시에 발생합니다. 초기 재생 시작을 제외하고 일시 멈춤 상태에서 다시 재생을 시작할때도 발생합니다.

...

v3, v4

...

progress

...

재생시 매초마다 발생합니다.

단,  HTML5 Video Player의 구조상 progress 이벤트가 정확하게 1초마다 발생하지 않을수 있습니다.

(0.1에서 최대 0.5초 가량 차이가 날 수도 있습니다.) progress 이벤트로 작업하실 경우 이 부분을 유념하여 주십시요.

Parameters:

  • percent 

    Status
    titleInteger
     진행 백분율입니다. 값의 범위는 0 <= percent <= 100 입니다. 

  • position

    Status
    titleNumber
     현재 재생중인 위치의 값입니다. 초단위입니다.  (소숫점 5자리 까지)

  • duration

    Status
    titleNumber
     동영상의 전체 재생 길이입니다. 초단위입니다. (소숫점 5자리 까지)

...

v3, v4

Code Block
controller.on('progress', function(percent, position, duration) {
	// 인자의 순서는 위와 같습니다.
});

...

pause

...

일시 정지시에 발생합니다.

...

v3, v4

...

done

...

재생 완료시에 발생합니다. 재생 완료는 duration의 끝까지 모두 재생한 경우를 의미합니다.

...

v3, v4

...

muted 

음소거 상태가 변경시 호출됩니다. (음소거시, 음소거 해제시 모두 발생)

Parameters:

...

Status
titleBoolean

...

v3, v4

Code Block
controller.on('muted', function(is_muted) {
	// is_muted가 true면 음소거, false면 해제입니다.
});

...

seeking

...

플레이 시점 변경시 호출됩니다.

...

 v4

...

seeked

...

 플레이 시점 변경이 끝났을 때 호출됩니다.

...

 v4

screenchange

전체, 일반화면 변경시 발생합니다. IE10 이하의 브라우져의 경우, enable_fullscreen_button()이

활성화 되어 있는 상태라면, fullscreen 버튼 클릭시 실제 fullscreen/windowed 전환이 이루어

지지는 않지만 screenchange 이벤트는 정상적으로 반환이 됩니다.

 screen 파라미터는 windowed, fullscreen 2가지 문자열 가운데 하나를 제공합니다. 

Parameters:

...

Status
titleString

...

v3, v4

Code Block
controller.on('screenchange', function(screen) {
	// ...
});

...

volumechange

음량 변경시 발생합니다.

Parameters:

...

Status
titleInteger

...

<iframe id="child" src="http://v.kr..."></iframe>
</body>
...
  • VgControllerClient 생성시 파라미터로 전달하는 target_window의 경우 홈페이지에 첨부한 Kollus Videogateway iframe의 HTMLElement에 contentWindow 속성을 입력해야 합니다

  • 본 스크립트는 window.postMessage API 를 이용하여 Player와 통신하므로, 해당 기능을 지원하지 않는 웹브라우져에 서는 동작하지 않습니다.

  • 웹페이지 내에 하나 이상의 iframe을 embed한 경우 제어할 iframe마다 서로 다른 VgControllerClient 를 생성해야 합니다.

  • 이전 버전과의 호환성을 위해 (v0.5이하) new VgControllerClient() 대신 new Kollus.VideogatewayController() 를 사용해도 정상적으로 작동합니다.

  • try-catch문의 Exception code list는 다음과 같습니다.

code

message

description

-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

이벤트 리스너가 함수형이 아닙니다.

CDN

...

Vg-Controller Client Library를 CDN으로 제공합니다. 가장 최신 버전의 라이브러리를 사용하시려면 아래 링크를 삽입하시면 됩니다

Code Block
https://file.kollus.com/vgcontroller/vg-controller-client.latest.min.js

이전 버전의 라이브러리를 사용하시려면 latest 대신 버전명으로 변경하여 호출하시면 됩니다.

Code Block
https://file.kollus.com/vgcontroller/vg-controller-client.1.1.4.min.js

Integrity 속성을 사용하면 VG-Controller Client Library의 악의적인 스크립트 변조를 방지할 수 있습니다. 스크립트 호출시 버전에 맞는 Integrity 속성값을 추가해 주시면 됩니다.

Code Block
<script src="https://file.kollus.com/vgcontroller/vg-controller-client.1.2.3.min.js"
integrity="sha256-esUCCL4RPYMS8AR+Sl3lNrFa5M+zgpt4Gb77qtz66OY=" crossorigin="anonymous">
</script>

버전별 Integrity 속성값은 여기를 참고하세요.

이벤트 리스닝

...

플레이어로부터 수신되는 각종 이벤트 발생시 사용자가 정의한 callback 함수를 실행하도록 이벤트 리스너(Event Listener)를 등록하는 방법입니다.

Code Block
controller.on('event_name', function(param) {
  // 이벤트 리스너
});

하나의 이벤트에 하나 이상의 리스너를 등록할 수도 있습니다. 이 경우 이벤트 발생시에 등록된 모든 리스너가 실행됩니다

Code Block
controller.on('event_name', function(param) {
  // 첫번째 리스너
});
controller.on('event_name', function(param) {
  // 두번째 리스너
});
// 이벤트 발생시 첫번째, 두번째 리스너가 모두 실행
// 다만, 자바스크립트 이벤트 루프와 callback 함수가 실행되는 방식에 의해, 첫번째 리스너가 반드시 먼저
// 실행된다고 보장할 수 없으며, 두번째 리스너가 실행되는 것이 첫번째 리스너가 실행된 뒤인 것도 아닙니다.

이벤트 리스너를 등록하는 함수인 on 은 메소드 체이닝(Method chaining)을 지원합니다.

Code Block
controller.on('event_name_1', function(param) {
  // 첫번째 리스너
}).on('event_name_2', function(param) {
  // 두번째 리스너
});
  • 하나 이상의 리스너를 등록한 경우 이벤트 발생시에 등록된 모든 리스너가 실행됩니다. 다만, 자바스크립트 이벤트 루프와 callback 함수가 실행되는 방식에 의해, 실행 순서가 바뀔 수 있습니다.

이벤트 목록 

loaded

플레이어 로딩이 완료되면 이벤트가 발생합니다.

v3, v4



ready
Anchor
ready
ready

플레이어 로딩이 끝나고 재생 정보를 서버로부터 획득하였으며, 실제 재생준비가 완료된 시점입니다.

v3, v4



play

재생 시작시에 발생합니다. 초기 재생 시작을 제외하고 일시 멈춤 상태에서 다시 재생을 시작할때도 발생합니다.

v3, v4



progress

재생시 매초마다 발생합니다.

단,  HTML5 Video Player의 구조상 progress 이벤트가 정확하게 1초마다 발생하지 않을수 있습니다.

(0.1에서 최대 0.5초 가량 차이가 날 수도 있습니다.) progress 이벤트로 작업하실 경우 이 부분을 유념하여 주십시요.

Parameters:

  • percent 

    Status
    titleInteger
     진행 백분율입니다. 값의 범위는 0 <= percent <= 100 입니다. 

  • position

    Status
    titleNumber
     현재 재생중인 위치의 값입니다. 초단위입니다.  (소숫점 5자리 까지)

  • duration

    Status
    titleNumber
     동영상의 전체 재생 길이입니다. 초단위입니다. (소숫점 5자리 까지)

v3, v4


Code Block
controller.on('progress', function(percent, position, duration) {
  // 인자의 순서는 위와과 같습니다.
});


pause

일시 정지시에 발생합니다.

v3, v4



done

재생 완료시에 발생합니다. 재생 완료는 duration의 끝까지 모두 재생한 경우를 의미합니다.

v3, v4



muted 

음소거 상태가 변경시 호출됩니다. (음소거시, 음소거 해제시 모두 발생)

다만, V2 Player의 경우 현재 muted 이벤트를 제공하지 않습니다. 대신 음소거가 되는 경우 volumechange 이벤트가 발생되고 변경된 음량을 0으로 제공합니다.

Parameters:

  • is_muted

    Status
    titleBoolean
    true면 음소거, false면 음소거 해제입니다.

v3, v4


Code Block
controller.on('muted', function(is_muted) {
	// is_muted가 true면 음소거, false면 해제입니다.
});


seeking

플레이 시점 변경시 호출됩니다.

 v4



seeked

 플레이 시점 변경이 끝났을 때 호출됩니다.

 v4




screenchange

전체, 일반화면 변경시 발생합니다. IE10 이하의 브라우져의 경우, enable_fullscreen_button()이

활성화 되어 있는 상태라면, fullscreen 버튼 클릭시 실제 fullscreen/windowed 전환이 이루어

지지는 않지만 screenchange 이벤트는 정상적으로 반환이 됩니다.

 screen 파라미터는 windowed, fullscreen 2가지 문자열 가운데 하나를 제공합니다. 


Parameters:

  • screen

    Status
    titleString
    windowed는 일반화면, fullscreen은 전체화면입니다.

v3, v4


Code Block
controller.on('screenchange', function(screen) {
	// ...
});


volumechange

음량 변경시 발생합니다.


Parameters:

  • volume

    Status
    titleInteger
    변경된 음량입니다. 범위는 0 <= volume <= 100 입니다.

v3, v4



Code Block
controller.on('volumechange', function(volume) {
	// volume의 범위는 0 <= volume <= 100 입니다.
});


speedchange  

배속 변경시 발생합니다. 배속 최대값은 Player의 설정에 따라 바뀔 수 있습니다.


Parameters:

  • speed

    Status
    titleString
    변경된 배속입니다. 범위는 0.5 <= speed <= 4 입니다.

    • Javascript 언어 특성상 2.0은 2로 표기 되기 때문에, Integer형 대신에 String형을 사용해 제공합니다.

v3, v4


Code Block
controller.on('speedchange', function(speed) {
	// speed의 범위는 0.5 <= speed <= 4 입니다.
});


playbackrateschange

배속 단위를 설정하는 배속값 그룹 변경시 발생합니다.


Parameters:

  • playback_rates

    Status
    titleString
    변경된 배속값 그룹의 문자열 입니다.

    • 단일배열 : 배속값 메뉴가 한줄로 나열됩니다. ex) [1, 2, 3]

    • 이중배열 : 배속값 메뉴가 여러줄로 나열될 수 있습니다. ex) [[0.5, 1, 1.5, 2], 2]

v3, v4


Code Block
controller.on('playbackrateschange', function(playback_rates) {
// playback_rates는 배열의 문자열이며,
//단일배열 또는 이중배열로 반환됩니다.
});


videosettingchange 

비디오 속성 변경시 발생합니다.

비디오 속성 변경 기능은V2 Player에만 존재하는 기능입니다. 다른 Player에서는 이벤트를 발생시키지 않습니다.
각 값의 범위는 모두 -50 <= value <= 50의 범위를 갖습니다. 사용자가 별도로 지정하지 않았을 경우 기본값은 0입
니다.


Parameters:

  • videosetting

    Status
    titleObject
    brightness(밝기), contrast(대비), saturation(채도)를 property로 갖는 object입니
    다.

v3


Code Block
controller.on('videosettingchange', function(videosetting) {
// videosetting 파라미터는 다음의 형태로
// 표시되는 Object 타입입니다.
//
// {
// "brightness": 0,
// "contrast": 0,
// "saturation": 0
// }
});


jumpstepchange

ff, rw 메소드를 통해 이동할 시간값 변경시 발생합니다.


Parameters:

  • jumpstep

    Status
    titleInteger
    변경된 이동할 시간값입니다. 초단위입니다.

v3, v4


Code Block
controller.on('jumpstepchange', function(jumpstep) {
	// jumpstep은 초단위입니다.
});


subtitlevisibilitychange 

자막의 화면출력 상태가 변경되면 발생합니다.


Parameters:

  • visible

    Status
    titleBoolean
    자막의 화면출력 여부 상태입니다


v3, v4



hlsfragchange 

hls의 frag(2)가 변경되면 발생합니다.

v4


html5_video_supported 

V3, V4 Player에서만 발생합니다.

Player가 내부에서 HTML5 Video 재생기능을 사용할 수 있다고 판단하여 HTML5 Video Player를 로드할 경우엔 true 를, 전용 플레이어를 재생해야 한다고 판단할 경우엔 false를 리턴합니다. (http://caniuse.com/#feat=video 참조)


Parameters:

  • html5_video_supported

    Status
    titleBoolean
    Player가 HTML5 Player로 로드될 경우 true, 전용 플레이어로 로드될
    경우는 false가 리턴됩니다.

v3, v4


error

Player가 재생오류를 반환하는 경우 발생합니다.


Parameters:

  • error_code

    Status
    titleInteger
    Kollus Player 에러 코드입니다.

v3, v4


Code Block
controller.on('error', function(error_code) {
	// ...
});


device_orientation_changed

모바일 디바이스인 경우 가로/세로 회전시 발생합니다.


Parameters:

  • orientation

    Status
    titleString
    세로 : Portrait, 가로 : Landscape

 v4


hls_manifest_loaded

v4 player hls manifest 가 로드될 시 발생합니다.

Parameters:

  • data

    Status
    titleObject
    hls manifest data 객체입니다.

v4

dash_manifest_loaded

v4 player dash manifest 가 로드될 시 발생합니다.

Parameters:

  • data

    Status
    titleObject
    dash manifest data 객체입니다.

v4

bitrate_data_loaded

Hls/Dash manifest가 로드 된 후 Bitrate 데이터를 오름차순으로 정렬한 후 배열에 담아 반환합니다.

Parameters:

  • bitrate_data

    Status
    titlearray
    Hls/Dash bitrate data object를 포함하는 배열 객체입니다.

v4

Code Block
controller.on('bitrate_data_loaded', function(bitrate_data) {
// bitrate_data는 Bitrate Data Object를 포함하는 배열객체 입니다.
//
// [
//  {
//    width: <int>,
//    height: <int>,
//    bitrate: <int>
//  }
// ]
});

waiting

재생중 waiting 이벤트가 발생될 때 1초마다 호출됩니다

Parameters:

  • time

    Status
    titleInteger
    연속으로 발생된 waiting 시간값입니다. (단위 : 초)

V4

user_active_changed

플레이어 컨트롤바가 활성/비활성화 될 때 이벤트를 발생합니다.

Parameters:

  • active

    Status
    titleBoolean
    플레이어 컨트롤바 활성/비활성 여부 입니다.

V4

메소드 사용하기

...

Videogateway Controller Library가 지원하는 메소드를 호출하는 방법은 간단합니다.

Code Block
controller.play();

이게 전부입니다. 경우에 따라서 파라미터를 요구하는 메소드도 있습니다.

Code Block
controller.set_volume(90);

메소드 목록

...

이벤트 리스너 메소드



on (event_name, callback_function)

이벤트 리스너를 등록합니다.

Parameters:

  • event_name 

    Status
    titleString
    callback function을 bind할 이벤트 이름입니다.

  • callback_function 

    Status
    titlefunction
    이벤트 발생시 실행될 callback function입니다.

  • 경우에 따라서 callback function에는 파라미터가 주어질 수 있습니다.

Return:

  • Status
    titleObject
    VG-Controller Client 객체를 반환합니다.

v3, v4


Code Block
controller.on('
volumechange
event_name', function(
volume
param) {
// 
volume의 범위는 0 <= volume <= 100 입니다.speed
event_name에 해당하는 이벤트 발생시, 두번째 인자인 callback function 실행
});

speedchange  

배속 변경시 발생합니다. 배속 최대값은 Player의 설정에 따라 바뀔 수 있습니다.

Parameters:


off(event_name)

등록된 이벤트 리스너를 제거합니다.

Parameters:

  • event_name

    Status
    titleString
     callback function으로 bind된 이벤트 이름입니다.

Return:

  • Status
    title

String변경된 배속입니다. 범위는 0.5 <= speed <= 4 입니다.
  • Javascript 언어 특성상 2.0은 2로 표기 되기 때문에, Integer형 대신에 String형을 사용해 제공합니다.

  • Object
     VG-Controller Client 객체를 반환합니다.

v3, v4


Code Block
controller.
on('speedchange', function(speed) { // speed의 범위는 0.5 <= speed <= 4 입니다. });

playbackrateschange

배속 단위를 설정하는 배속값 그룹 변경시 발생합니다
off('event_name');


재생 메소드 





get_progress() 

재생 진행중인 위치 정보를 반환합니다.

Parameters:

playback_rates
  • No parameter

Return:

  • Status
    title

String변경된 배속값 그룹의 문자열 입니다.
  • 단일배열 : 배속값 메뉴가 한줄로 나열됩니다. ex) [1, 2, 3]

  • 이중배열 : 배속값 메뉴가 여러줄로 나열될 수 있습니다. ex) [[0.5, 1, 1.5, 2], 2]
    • Object
       percent, position, duration을 property로 갖는 object 객체를 반환합니다.
      각 값들에 대한 설명은 progress 이벤트를 참고하여 주십시요.

    v3, v4


    play([start_at])

    동영상을 재생합니다.

    Parameters:

    • start_at

      Status
      titleInteger
       (Optional) 재생 시작 위치입니다. 생략하면 처음부터 재생합니다.

    Return:

    • No return

    v3, v4


    Code Block
    controller.
    on('playbackrateschange', function(playback_rates) { // playback_rates는 배열의 문자열이며, //단일배열 또는 이중배열로 반환됩니다. });

    videosettingchange 

    비디오 속성 변경시 발생합니다.

    비디오 속성 변경 기능은V2 Player에만 존재하는 기능입니다. 다른 Player에서는 이벤트를 발생시키지 않습니다.
    각 값의 범위는 모두 -50 <= value <= 50의 범위를 갖습니다. 사용자가 별도로 지정하지 않았을 경우 기본값은 0입
    니다.

    Parameters:

    • videosetting

      Status
      titleObject
      brightness(밝기), contrast(대비), saturation(채도)를 property로 갖는 object입니
      다.

    v3

    Code Block
    controller.on('videosettingchange', function(videosetting) {
    // videosetting 파라미터는 다음의 형태로
    // 표시되는 Object 타입입니다.
    //
    // {
    // "brightness": 0,
    // "contrast": 0,
    // "saturation": 0
    // }
    });

    jumpstepchange

    ff, rw 메소드를 통해 이동할 시간값 변경시 발생합니다.

    Parameters:

    • jumpstep

      Status
      titleInteger
      변경된 이동할 시간값입니다. 초단위입니다.

    v3, v4

    Code Block
    controller.on('jumpstepchange', function(jumpstep) {
    	// jumpstep은 초단위입니다.
    });

    subtitlevisibilitychange 

    자막의 화면출력 상태가 변경되면 발생합니다.

    Parameters:

    • visible

      Status
      titleBoolean
      자막의 화면출력 여부 상태입니다

    v3, v4

    hlsfragchange 

    hls의 frag(2)가 변경되면 발생합니다.

    v4

    html5_video_supported 

    Player가 내부에서 HTML5 Video 재생기능을 사용할 수 있다고 판단하여 HTML5 Video Player를 로드할 경우엔
    true를, 전용 플레이어를 재생해야 한다고 판단할 경우엔 false를 리턴합니다. (http://caniuse.com/#feat=video
    참조)

    Parameters:

    • html5_video_supported

      Status
      titleBoolean
      Player가 HTML5 Player로 로드될 경우 true, 전용 플레이어로 로드될
      경우는 false가 리턴됩니다.

    v3, v4

    error

    Player가 재생오류를 반환하는 경우 발생합니다.

    Parameters:

    • error_code

      Status
      titleInteger
      Kollus Player 에러 코드입니다.

    v3, v4

    Code Block
    controller.on('error', function(error_code) {
    	// ...
    });

    device_orientation_changed

    모바일 디바이스인 경우 가로/세로 회전시 발생합니다.

    Parameters:

    • orientation

      Status
      titleString
      세로 : Portrait, 가로 : Landscape

     v4

    hls_manifest_loaded

    v4 player hls manifest 가 로드될 시 발생합니다.

    Parameters:

    • data

      Status
      titleObject
      hls manifest data 객체입니다.

    v4

    dash_manifest_loaded

    v4 player dash manifest 가 로드될 시 발생합니다.

    Parameters:

    • data

      Status
      titleObject
      dash manifest data 객체입니다.

    v4

    bitrate_data_loaded

    Hls/Dash manifest가 로드 된 후 Bitrate 데이터를 오름차순으로 정렬한 후 배열에 담아 반환합니다.

    Parameters:

    • bitrate_data

      Status
      titlearray
      Hls/Dash bitrate data object를 포함하는 배열 객체입니다.

    v4

    Code Block
    controller.on('bitrate_data_loaded', function(bitrate_data) {
    // bitrate_data는 Bitrate Data Object를 포함하는 배열객체 입니다.
    //
    // [
    //  {
    //    width: <int>,
    //    height: <int>,
    //    bitrate: <int>
    //  }
    // ]
    });

    메소드 사용하기

    Videogateway Controller Library가 지원하는 메소드를 호출하는 방법은 간단합니다.

    Code Block
    controller.play();
    
    //이게 전부입니다. 경우에 따라서 파라미터를 요구하는 메소드도 있습니다.
    controller.set_volume(90);

    ...

    메소드 목록

    이벤트 리스너 메소드

    on(event_name, callback_function)

    이벤트 리스너를 등록합니다.

    Parameters:

    • event_name 

      Status
      titleString
      callback function을 bind할 이벤트 이름입니다.

    • callback_function 

      Status
      titlefunction
      이벤트 발생시 실행될 callback function입니다.

    • 경우에 따라서 callback function에는 파라미터가 주어질 수 있습니다.

    Return:

    Status
    titleObject
    VG-Controller Client 객체를 반환합니다.

    v3, v4

    Code Block
    controller.on('event_name', function(param) {
    	// event_name에 해당하는 이벤트 발생시, 
       // 두번째 인자인 callback function 실행
    });

    off(event_name)

    등록된 이벤트 리스너를 제거합니다.

    Parameters:

    • event_name

      Status
      titleString
       callback function으로 bind된 이벤트 이름입니다.

    Return:

    • Status
      titleObject
       VG-Controller Client 객체를 반환합니다.

    v3, v4

    Code Block
    controller.off('event_name');

    재생 메소드 

    get_progress() 

    재생 진행중인 위치 정보를 반환합니다
    play();

    특정 지점부터 재생하려면 다음과 같이 재생할 위치를 파라미터로 입력하여 주십시요.

    Code Block
    controller.play(10); // 10초 위치부터 재생


    pause()

    동영상 재생을 일시정지합니다.

    Parameters:

    • No parameter

    Return:

    • No return

    v3, v4


    toggle_pip()

    PIP(picture-in-picture) 기능을 Toggle 합니다

    Parameters:

    • No parameter

    Return:

    • No return

    v3, v4


    음향 메소드




    set_volume(volume) 

    음량을 변경합니다. 음량은 0 <= volume <= 100 사이의 Integer형 값이어야 합니다. 이 범위를 벗어난 감은 0이나 100으로 재조정 됩니다.


    Parameters:

    • volume 

      Status
      titleInteger
       변경할 음량입니다.

    Return:

    • No return

    v3, v4


    get_volume()

    현재 설정된 음량을 반환합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleInteger
       현재 설정된 음량입니다.

    v3, v4


    mute()

    음소거를 설정하거나 해제합니다. 음소거가 해제된 상태에서 호출하면 음소거를 설정하고,

    반대로 설정된 상태라면 해제합니다.


    Parameters:

    • No parameter

    Return:

    • No return

    v3, v4



    Seek 메소드




    ff()

    set_jumpstep 메소드에 의해 설정된 이동할 시간값만큼 현재 재생 위치보다 이후로 이동합니다. 초기값은 10초입니다.


    Parameters:

    • No parameter

    Return:

    • No return

    v3, v4


    rw() 

    set_jumpstep 메소드에 의해 설정된 이동할 시간값만큼 현재 재생 위치보다 이전으로 이동합니다. 초기값은 10초입니다.


    Parameters:

    • No parameter

    Return:

    • No return

    v3, v4


    set_current_time (current_time)

    current_time 위치로 이동합니다.

    play(start_at) 메소드는 해당 위치로 이동 후 바로 재생을 하지만, set_current_time(current_time) 메소드는 현

    재 playing/paused 상태를 유지합니다.


    Parameters:

    • current_time

      Status
      titleInteger
       이동할 시간값 입니다.

    Return:

    • No return

    v3, v4


    get_current_time () 

    현재의 위치 값을 반환합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleNumber
      현재 위치 값 입니다. (소숫점 5자리 까지)

    v3, v4


    set_jumpstep(jumpstep)

    ff 메소드나 rw 메소드를 통해 이동할 시간 값을 설정합니다. 시간값은 초단위 정수로 입력합니다.


    Parameters:

    • jumpstep

      Status
      titleInteger
       이동할 시간값 입니다.

    Return:

    • No return

    v3, v4


    get_jumpstep()

    현재 설정된 이동할 시간값을 반환합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleInteger
       반환되는 이동할 시간값입니다.

    v3, v4


    set_keyframe_seek_default (is_default)

    Seek시 Keyframe이동을 default로 설정할지의 여부를 설정합니다.

    Parameters:

    • is_default

      Status
      titleBoolean
       default 설정 여부입니다.

    Return:

    • No return

    V2


    화면 메소드 




    set_screen() 

    일반 윈도우 모드와 전체화면 모드로 화면 상태를 변경합니다.

    화면이 일반 윈도우 모드인 경우 호출하면 전체화면으로, 전체화면 모드인 경우는 일반 윈도우 모드로 변경됩니다.

    • 이 기능은 Flash Player에서는 지원되지 않습니다.

    • IE 브라우저, FireFox 브라우저에서는 지원되지 않습니다.

    Parameters:

    • No parameter

    Return:

    • No return

    v3,v4


    set_fullscreen_element (element)

    Fullscreen 객체를 직접 설정합니다. 보통 VG를 감싸고 있는 IFrame Element를 설정하며 VG-Controller를 통한 Fullscreen 기능은 이제 Player가 아닌 Vg-Controller Client에서 수행합니다.

    Parameters:

    • element

      Status
      titleString
      Fullscreen을 적용할 Target HTML Element ID

    Return:

    • No return

    v3,v4

    get_screen()

    현재 화면 모드를 반환합니다. get_screen 함수는 모든

    Player에서 정상적으로 현재 화면 상태를 반환합니다. 반환되는 값은 다음과 같습니다.

    • 일반 윈도우 모드 : windowed

    • 전체화면 모드 : fullscreen


    Parameters:

    • No parameter

    Return:

    • Status
      titleString
       반환되는 현재 화면 모드입니다. windowed, fullscreen 두 값 가운데 하나를 갖습니다.

    v3,v4


    set_video_visibility (visibility)

    Video 화면을 숨김하거나 숨김을 해제합니다. (Audio에는 영향을 주지 않습니다.) 파라미터로 true를 주면 숨김 해
    제, false를 주면 숨김입니다.


    Parameters:

    • visibility

      Status
      titleboolean
      Video 숨김 여부입니다.

    Return:

    • No return

    v3,v4


    get_video_visibility (visibility)

    설정된 Video 숨김 여부를 반환합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleboolean
      Video 숨김 여부입니다.

    v3,v4


    enable_fullscreen_button ()

    플레이어 내부의 fullscreen button을 활성화시킵니다.
    (IE 10 이하는 웹브라우져에서 fullscreen 기능을 지원하지 않으므로, 해당 웹브라우져에선 자동적으로 fullscreen
    button이 비활성화된 상태로 표시됩니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleObject
       percent, position, duration을 property로 갖는 object 객체를 반환합니다.
      각 값들에 대한 설명은 progress 이벤트를 참고하여 주십시요.

    동영상을 재생합니다
    • No return

    v3,v4

    play([start_at])


    set_ratio(type) 

    화면 확대모드를 변경합니다.


    Parameters:

    start_at
    • type 

      Status
      title

    Integer (Optional) 재생 시작 위치입니다. 생략하면 처음부터 재생합니다

    pause()

    동영상 재생을 일시정지합니다.

    Parameters:

    • No parameter

    Return:

    • No return

    v3, v4

    음향 메소드

    set_volume(volume) 

    음량을 변경합니다. 음량은 0 <= volume <= 100 사이의 Integer형 값이어야 합니다. 이 범위를 벗어난 감은 0이나 100으로 재조정 됩니다.

    Parameters:

    • volume 

      Status
      titleInteger
       변경할 음량입니다.

    Return:

    • No return

    v3, v4

    get_volume()

    현재 설정된 음량을 반환합니다.

    Parameters:

    • No parameter

    Return:

    • Status
      titleInteger
       현재 설정된 음량입니다.

    v3, v4

    mute()

    음소거를 설정하거나 해제합니다. 음소거가 해제된 상태에서 호출하면 음소거를 설정하고,

    반대로 설정된 상태라면 해제합니다.

    Parameters:

    • No parameter

    Return:

    • No return

    v3, v4

    Seek 메소드

    ff()

    set_jumpstep 메소드에 의해 설정된 이동할 시간값만큼 현재 재생 위치보다 이후로 이동합니다. 초기값은 10초입니다
    • String
       contain, fill, enlargement 중 한 개의 값을 가질 수 있습니다.

      • contain : 비율에 맞게 채웁니다.

      • fill : 화면에 꽉 차게 채웁니다.

      • enlargement : 세로 높이를 꽉 차게 맞춥니다. 좌우로 스크롤이 가능합니다.

    Return:

    • No return

    v3,v4

    Code Block
    controller.play();
    
    //특정 지점부터 재생하려면 다음과 같이 재생할 위치를
    // 파라미터로 입력하여 주십시요.
    controller.play(10); // 10초 위치부터 재생


    current_time 위치로 이동합니다.

    play(start_at) 메소드는 해당 위치로 이동 후 바로 재생을 하지만, set_current_time(current_time) 메소드는 현

    재 playing/paused 상태를 유지합니다.

    Parameters:

    current_time

    set_vr_overlay (options) v4

    Anchor
    vr_overlay
    vr_overlay


    iOS 디바이스는 DeviceMotion 권한 획득을 위해 Native Code인 DeviceMotionEvent.requestPermission 메서드를 호출하여야 합니다.

    User Action (Touch)이 있어야 하기 때문에 iframe객체 위에 Touch Event를 받을 임의의 객체 가 필요합니다.

    VG-Controller Client 초기화 이후 해당 메서드를 호출하면 VG-Controller Client 내부에서 자동적으로 Touch Event 객체를 생성하고 권한을 받을 수 있도록 준비를 합니다.


    • Known Issue

              iOS 13.4 버전에서는 권한을 획득 하더라도 DeviceMotion의 rotationRate값이 정상적으로 발생되지 않는 오류가 있습니다.


    Parameters:

    • options

      Status
      titleobject

      • target_element (필수)

        • 임의의 Touch Event 객체를 생성할 Dom Element입니다. ifrmae 객체의 부모 Element를 지정하면 됩
          니다.

        • (중요) iframe 객체의 부모 Element는 position 값이 relative 또는 absolute 여야 합니다.

      • permission_request_help_message

        • 이전에 DeviceMotion Permission을 수행한 적이 있으면, 브라우저 데이터 저장소에 해당 값이 저장됩니
          다. 만약 Permission을 취소한 경우 취소 상태가 저장이 되기 때문에, requestPermission을 수행할 수
          없습니다. 해당 상황에 대한 안내 문구를 설정합니다. 설정하지 않으면 기본값으로 출력이 되며 문구는 다
          음과 같습니다.

        • 동작 및 방향 에 관한 권한이 없어 자이로 기능이 동작하지 않습니다. 설정 > Safari > 고급 > 웹 사
          이트 데이터 에서 데이터를 삭제 하고 다시 시도하세요.

    Return:

    • No return

    v3,v4


    Code Block
    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'
    });


    get_brightness ()

    설정된 영상 밝기값을 반환합니다. V2 Player가 아닌 경우 이 메소드를 호출하면 무조건 0을 반환합니다.

    Parameters:

    • No parameter

    Return:

    • No return

    v3, v4

    rw() 

    set_jumpstep 메소드에 의해 설정된 이동할 시간값만큼 현재 재생 위치보다 이전으로 이동합니다. 초기값은 10초입니다.

    Parameters:

    • No parameter

    Return:

    • No return

    v3, v4

    set_current_time (current_time)

    • Status
      titleInteger
       설정된 영상 밝기값 입니다

    V2

    set_brightness (brightness)

    영상의 밝기를 설정합니다. 이 설정은 V2 Player에서만 동작합니다. 영상의 밝기는 -50 <= brightness <= 50입니다. -50보다 작거나 50보다 큰 값을 입력하면 각각 -50과 50으로 재조정됩니다.

    Parameters:

    • brightness

      Status
      titleInteger

     이동할 시간값
    •  영상 밝기값 입니다.

    Return:

    • No return

    v3, v4

    V2

    get_

    current_time

    contrast ()

     현재의 위치 값을

    설정된 영상 대비값을 반환합니다. V2 Player가 아닌 경우 이 메소드를 호출하면 무조건 0을 반환합니다.

    Parameters:

    • No parameter

    Return:

    • brightness

      Status
      title

    Number현재 위치 값
    • Integer
       영상 밝기값 입니다.

    (소숫점 5자리 까지)v3, v4

    V2

    set_

    jumpstep

    contrast (

    jumpstep

    contrast)

    ff 메소드나 rw 메소드를 통해 이동할 시간 값을 설정합니다. 시간값은 초단위 정수로 입력합니다.

    영상의 대비를 설정합니다. 이 설정은 V2 Player에서만 동작합니다.
    영상의 대비는 -50 <= contrast <= 50입니다. -50보다 작거나 50보다 큰 값을 입력하면 각각 -50과 50으로 재조정됩니다

    Parameters:

    jumpstep
    • contrast

      Status
      titleInteger

     이동할 시간값
    •  영상 대비값 입니다.

    Return:

    • No return

    v3, v4IE 브라우저, FireFox 브라우저에서는 지원되지 않습니다

    V2

    get_jumpstep()

    현재 설정된 이동할 시간값을 반환합니다.

    Parameters:

    • No parameter

    Return:

    • Status
      titleInteger
       반환되는 이동할 시간값입니다.

    v3, v4

    화면 메소드 

    set_screen() 

    일반 윈도우 모드와 전체화면 모드로 화면 상태를 변경합니다.

    화면이 일반 윈도우 모드인 경우 호출하면 전체화면으로, 전체화면 모드인 경우는 일반 윈도우 모드로 변경됩니다.

  • 이 기능은 Flash Player에서는 지원되지 않습니다.

  • set_lms_check ()

    브라우저 창이 닫히거나 플레이어가 제거될 때 LMS 데이터를 보낸 것을 확인 후 삭제되도록 설정합니다.

    Parameters:

    • No parameter

    Return:

    • No return

    v3,v4

    V2

    get_

    screenset_video

    saturation ()

    현재 화면 모드를 반환합니다. get_screen 함수는 모든

    Player에서 정상적으로 현재 화면 상태를 반환합니다. 반환되는 값은 다음과 같습니다.

    • 일반 윈도우 모드 : windowed

    • 전체화면 모드 : fullscreen

    Parameters:

    • No parameter

    Return:

    • Status
      titleString
       반환되는 현재 화면 모드입니다. windowed, fullscreen 두 값 가운데 하나를 갖습니다.

    v3,v4

    설정된 영상 색조값을 반환합니다. V2 Player가 아닌 경우 이 메소드를 호출하면 무조건 0을 반환합니다.

    Parameters:

    • No parameter

    Return:

    • Status
      titleInteger
       설정된 영상 색조값 입니다.

    V2

    set_saturation (saturation)

    영상의 색조를 설정합니다
    이 설정은 V2 Player에서만 동작합니다. 영상의 색조는 -50 <= saturation <= 50입니다.
    -50보다 작거나 50보다 큰 값을 입력하면 각각 -50과 50으로 재조정됩니다.

    Parameters:

    • saturation

      Status
      titleInteger
       영상 색조값 입니다.

    Return:

    • No return

    V2


    컨트롤바 메소드




    set_control_visibility(visibility)

    Video 화면을

    Player 내장 Control들을 숨김하거나 숨김을 해제합니다.

    (Audio에는 영향을 주지 않습니다.)

    파라미터로 true를 주면 숨김


    해제, false를 주면 숨김입니다.


    Parameters:

    • visibility

      Status
      titleboolean

    Video
    •  내장 Control 숨김 여부입니다.

    Return:

    • No return

    v3,v4


    get_

    video

    control_visibility(

    visibility

    )

    설정된

    Video

    내장 Control 숨김 여부를 반환합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleboolean

    Video
    •  내장 Control 숨김 여부입니다.

    v3,v4

    enable


    set_controls_

    fullscreen

    inactive_

    button

    time (time)

    플레이어 내부의 fullscreen button을 활성화시킵니다.
    (IE 10 이하는 웹브라우져에서 fullscreen 기능을 지원하지 않으므로, 해당 웹브라우져에선 자동적으로 fullscreen
    button이 비활성화된 상태로 표시됩니다

    컨트롤바가 사라지는 시간을 설정합니다. 0으로 설정하면 사라지지 않고 고정됩니다.


    Parameters:

    No parameter

    • time

      Status
      titleInteger
       컨트롤바가 사라지는 시간

    Return:

    • No return

    v3,v4

    set_ratio(type) 

    화면 확대모드를 변경합니다


    get_controls_inactive_time ()

    설정된 컨트롤바가 사라지는 시간을 반환합니다.


    Parameters:

    • No parameter

    type 

    Return:

    • Status
      title

    String
    • Integer
       

    contain, fill, enlargement 중 한 개의 값을 가질 수 있습니다.
    • contain : 비율에 맞게 채웁니다.

    • fill : 화면에 꽉 차게 채웁니다.

    • enlargement : 세로 높이를 꽉 차게 맞춥니다. 좌우로 스크롤이 가능합니다.

    Return:

    • No return

    • 컨트롤바가 사라지는 시간

    v3,v4


    set_

    vr

    controls_

    overlay

    activity (

    options

    activity)

    v4 Anchorvr_overlayvr_overlay

    ios에서 vr content를 구현할때 DeviceMotion 권한을 획득하게 합니다. 

    iOS 디바이스는 DeviceMotion 권한 획득을 위해 Native Code인 DeviceMotionEvent.requestPermission 메서드를

    호출하여야 합니다. User Action (Touch)이 있어야 하기 때문에 iframe객체 위에 Touch Event를 받을 임의의

    객체가 필요합니다. VG-Controller Client 초기화 이후 해당 메서드를 호출하면 VG-Controller Client 내부에서

    자동적으로 TouchEvent 객체를 생성하고 권한을 받을 수 있도록 준비를 합니다

    • Known Issue

              iOS 13.4 버전에서는 권한을 획득 하더라도 DeviceMotion의 rotationRate값이 정상적으로 발생되지 않는 오류가 있습니다.

    Parameters:

    options
    Status
    titleobject
  • target_element (필수)

    • 임의의 Touch Event 객체를 생성할 Dom Element입니다. ifrmae 객체의 부모 Element를 지정하면 됩
      니다.

    • (중요) iframe 객체의 부모 Element는 position 값이 relative 또는 absolute 여야 합니다.

  • permission_request_help_message

  • 이전에 DeviceMotion Permission을 수행한 적이 있으면, 브라우저 데이터 저장소에 해당 값이 저장됩니
    다. 만약 Permission을 취소한 경우 취소 상태가 저장이 되기 때문에, requestPermission을 수행할 수
    없습니다. 해당 상황에 대한 안내 문구를 설정합니다. 설정하지 않으면 기본값으로 출력이 되며 문구는 다
    음과 같습니다.

  • 동작 및 방향 에 관한 권한이 없어 자이로 기능이 동작하지 않습니다. 설정 > Safari > 고급 > 웹 사
    이트 데이터 에서 데이터를 삭제 하고 다시 시도하세요

    컨트롤러(ControlBar, BigPlayButton)의 활성/비활성을 컨트롤 합니다.


    Parameters:

    • activity

      Status
      titleboolean
       컨트롤러 활성 여부입니다.

    Return:

    • No return

    v3,v4


    get_controls_activity ()

    컨트롤러(ControlBar, BigPlayButton)의 활성/비활성 여부를 반환합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleboolean
       컨트롤러 활성 여부입니다.

    v3,v4


    set_controlbar_progress_only (enable)

    컨트롤바의 ProgressBar만 노출할지의 여부를 설정합니다.


    Parameters:

    • enable

      Status
      titleboolean
       컨트롤바의 ProgressBar Only 활성 여부입니다.

    Return:

    • No return

    v3,v4

    Code Block
    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'
    });

    컨트롤바 메소드

    set_control_visibility(visibility)

    Player 내장 Control들을 숨김하거나 숨김을 해제합니다. 파라미터로 true를 주면 숨김 해제, false를 주면 숨김입니다.

    Parameters:

    visibility
    Status
    titleboolean
     내장 Control 숨김 여부입니다.


    get_controlbar_progress_only ()

    컨트롤바의 ProgressBar만 노출할지의 여부를 반환합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleboolean
       컨트롤바의 ProgressBar Only 활성 여부입니다.

    v3,v4


    set_controlbar_hide_playing (enable) 

    재생중 컨트롤바를 ProgressBar 까지 전부 숨길지 여부를 설정합니다.


    Parameters:

    • enable

      Status
      titleboolean
       재생중 컨트롤바를 ProgressBar 까지 전부 숨길지 여부입니다.

    Return:

    • No return

    v4


    get_controlbar_hide_playing () 

    재생중 컨트롤바를 ProgressBar 까지 전부 숨길지 여부를 반환합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleboolean
       재생중 컨트롤바를 ProgressBar 까지 전부 숨길지 여부입니다.

    v4


    hide_controlbar_button (value) 

    컨트롤바에서 특정 버튼을 제거할 수 있습니다. 현재는 fullscreen 버튼과 setting 버튼 두개만 제거 가능합니다.
    예를 들어, fullscreen icon 을 제거하고자 할 경우, hide_controlbar_button(['fullscreen']) 을 호출하면 됩니다.
    * ready event 이후 호출하여야 합니다.


    Parameters:

    • value

      Status
      titlearray
       제거할 버튼 (fullscreen, setting) 배열

    Return:

    • No return

    v3,

    v4



    배속 메소드

    get




    set_

    control_visibility

    speed(

    )

    설정된 내장 Control 숨김 여부를 반환합니다.

    Parameters:

    • No parameter

    Return:

    • Status
      titleboolean
       내장 Control 숨김 여부입니다.

    v3,v4

    set_controls_inactive_time (time)

    컨트롤바가 사라지는 시간을 설정합니다. 0으로 설정하면 사라지지 않고

    speed)

    재생 배속을 설정합니다. 배속의 범위는 기본적으로 0.5 <= speed <= 4 입니다. 배속 최대값은 플레이어의 설정에 따라 바뀔 수 있습니다.

    또한, 배속은 0.1씩 증가하거나 감소할 수 있습니다.그보다 작은 단위로 증감할 경우 기대한 대로 배속이 증감하지 않을 수 있으니 주의하여 주십시요.

    0.5보다 작거나 4보다 큰 값을 입력할 경우는 각각 0.5와 4로 값이 고정됩니다.


    Parameters:

    time
    • speed

      Status
      titleInteger
       

    컨트롤바가 사라지는 시간
    • 설정할 배속값 입니다.

    Return:

    • No return

    v3,v4


    get_

    controls_inactive_time

    speed() 

    설정된

    컨트롤바가 사라지는 시간을

    배속값을 반환합니다. 

    Javascript에는 명시적인 Float형이 존재하지 않으므로, 소수점을 표현하기 위해 String형으로 반환합니다.


    Parameters:

    • No parameter

    Return:

    Status
    titleInteger
     컨트롤바가 사라지는 시간

    • Status
      titleString
       설정된 배속값입니다. 1이나 2인 경우 각각 문자열 '1.0'과 '2.0'으로 표현합니다.

    v3,v4


    set_

    controls

    playback_

    activity

    rates(

    activity

    playback_rates)

    컨트롤러(ControlBar, BigPlayButton)의 활성/비활성을 컨트롤 합니다.

    Parameters:activity

     

    배속값 그룹을 설정합니다. Array type으로 순서는 상관없습니다. (Player 내부에서 Sort하여 UI를 구성합니다.)

    이중배열의 형태로 들어가는 경우 UI에서 보여지는 배속값 그룹의 세로 줄 수를 설정 할 수 있습니다.

    이 경우 첫번째 인자는 배속값의 배열이며, 두번째 인자는 세로 줄 수를 나타냅니다. ex) [[0.5, 1, 1.5, 2, 3, 4], 2]


    Parameters:

    • playback_rates

      Status
      title

    boolean
    • array
       

    컨트롤러 활성 여부입니다
    • 설정할 배속값 그룹의 배열입니다.

    Return:

    • No return

    v3,v4


    get_

    controls

    playback_

    activity

    rates()

    컨트롤러(ControlBar, BigPlayButton)의 활성/비활성 여부를 반환합니다.

    Parameters:
    • No parameter

    Return:

    • Status
      titleboolean
       컨트롤러 활성 여부입니다.

    v3,v4

    set_controlbar_progress_only (enable)

    컨트롤바의 ProgressBar만 노출할지의 여부를 설정합니다.

    Parameters:enable

     

    배속값 그룹의 배열의 문자열을 반환합니다. 반환된 값을 배열로 사용하려면 JSON.parse(value) 메서드를 사용하십시오.


    Parameters:

    • No parameter

    Return:

    • Status
      title

    boolean
    • String
       

    컨트롤바의 ProgressBar Only 활성 여부입니다
    • 설정된 배속값 그룹 배열입니다.

    Return:

    • No return

    v3,v4



    구간반복 메소드

    get




    set_

    controlbar

    repeat_

    progress_only ()컨트롤바의 ProgressBar만 노출할지의 여부를 반환합니다Return:

    start ([position])

    구간반복의 시작 위치를 설정합니다. 인자 없이 호출하면 현재 위치를 구간반복의 시작 위치로 설정합니다.


    만약 먼저 설정된 종료 위치보다 시작 위치가 나중이라면 종료 위치가 해제됩니다.


    Parameters:

    • No parameter

    • position

      Status
      title

    boolean
    • Integer
       

    컨트롤바의 ProgressBar Only 활성 여부입니다.
    • (Optional) 시작 위치값 입니다.

    Return:

    • No return

    v3,v4


    Code Block
    controller.set
    _controlbar_hide_playing (enable) 재생중 컨트롤바를 ProgressBar 까지 전부 숨길지 여부를 설정합니다
    _repeat_start();
    
    //인자로 위치(초)값을 입력하면 
    //지정한 위치를 구간반복의 시작 위치로 설정합니다.
    controller.set_repeat_start(10); 
    // 10초 위치를 시작 위치로 설정


    set_repeat_end ([position])

    구간반복의 종료 위치를 설정합니다. 인자 없이 호출하면 현재 위치를 구간반복의 종료 위치로 설정합니다.

    만약 먼저 설정된 시작 위치보다 종료 위치가 먼저라면 시작 위치가 해제됩니다.


    Parameters:

    enable
    • position

      Status
      title

    boolean
    • Integer
       

    재생중 컨트롤바를 ProgressBar 까지 전부 숨길지 여부입니다
    • (Optional) 종료 위치값 입니다.

    Return:

    • No return

    v3,v4

    get_controlbar_hide_playing () 

    재생중 컨트롤바를 ProgressBar 까지 전부 숨길지 여부를 반환합니다.

    Parameters:
    • No parameter

    Return:

    • Status
      titleboolean
       재생중 컨트롤바를 ProgressBar 까지 전부 숨길지 여부입니다.

    v4

    hide_controlbar_button (value) 

    컨트롤바에서 특정 버튼을 제거할 수 있습니다. 현재는 fullscreen 버튼과 setting 버튼 두개만 제거 가능합니다.
    예를 들어, fullscreen icon 을 제거하고자 할 경우, hide_controlbar_button(['fullscreen']) 을 호출하면 됩니다.
    * ready event 이후 호출하여야 합니다.

    Parameters:value
    Status
    titlearray
     제거할 버튼 (fullscreen, setting) 배열


    speed
    Status
    titleInteger
     설정할 배속값 입니다.
    Code Block
    controller.set_repeat_end()
    
    //인자로 위치(초)값을 입력하면 
    //지정한 위치를 구간반복의 종료 위치로 설정합니다.
    controller.set_repeat_end(20); 
    // 20초 위치를 종료 위치로 설정


    unset_repeat ()

    설정된 구간반복을 해제합니다.


    Parameters:

    • No parameter

    Return:

    • No return

    v3,v4

    배속 메소드

    set_speed(speed)

    재생 배속을 설정합니다. 배속의 범위는 기본적으로 0.5 <= speed <= 4 입니다. 배속 최대값은 플레이어의 설정에 따라 바뀔 수 있습니다.

    또한, 배속은 0.1씩 증가하거나 감소할 수 있습니다.그보다 작은 단위로 증감할 경우 기대한 대로 배속이 증감하지 않을 수 있으니 주의하여 주십시요.

    0.5보다 작거나 4보다 큰 값을 입력할 경우는 각각 0.5와 4로 값이 고정됩니다.

    Parameters:


    get_repeat ()

    설정된 구간반복 상태값을 반환합니다.
     상태 문자열과 시간값이  반환됩니다. 상태 문자열은 cancel, start, end 세가지 입니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleobject
      {status:(String), start:(Number), end:(Number)}설정된 구간반복 상태값입니다.

    v3,v4



    북마크 메소드





    refresh_bookmark ()

    플레이어 내 bookmark 리스트를 새로 갱신합니다.


    Parameters:

    • No parameter

    Return:

    • No return

    v3,v4


    get_bookmark_

    speed

    count ()

     

    설정된

    배속값을 반환합니다. Javascript에는 명시적인 Float형이 존재하지 않으므로, 소수점을 표현하기 위해 String형으로 반환합니다

    북마크의 전체 갯수, 인덱스 북마크 갯수, 사용자 북마크 갯수를 반환합니다.

    ({all:(Integer), index:(Integer), user:(Integer)})

    Parameters:

    • No parameter

    Return:

    • bookmark_count

      Status
      titleObject
       설정된 북마크 갯수입니다


    플레이어 메소드 




    get_player_id ()

    플레이어 고유 아이디를(3) 반환합니다. 이 함수는 ready 이벤트가 호출되기 전까지는 null을 리턴합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleString
       

    설정된 배속값입니다. 1이나 2인 경우 각각 문자열 '1.0'과 '2.0'으로 표현합니다.
    • 플레이어 고유 아이디입니다.

    v3,v4

    set


    get_

    playback

    hardware_

    rates

    id (

    playback_rates) 

    배속값 그룹을 설정합니다. Array type으로 순서는 상관없습니다. (Player 내부에서 Sort하여 UI를 구성합니다.)

    이중배열의 형태로 들어가는 경우 UI에서 보여지는 배속값 그룹의 세로 줄 수를 설정 할 수 있습니다.

    이 경우 첫번째 인자는 배속값의 배열이며, 두번째 인자는 세로 줄 수를 나타냅니다. ex) [[0.5, 1, 1.5, 2, 3, 4], 2]

    Parameters:

    • playback_rates

      Status
      titlearray
       설정할 배속값 그룹의 배열입니다.

    Return:

    No return

    하드웨어 고유 아이디(4)를 반환합니다. 이 함수는 ready 이벤트가 호출되기 전까지는 null을 리턴합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleString
       하드웨어 고유 아이디입니다.

    v3


    get_player_type ()

    현재 플레이어 Type 을 반환합니다.  V3, V4 중 하나를 리턴합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleString
       현재 플레이어 Type입니다.

    v3,v4


    get_

    playback

    video_

    rates

    info () 

    배속값 그룹의 배열의 문자열을 반환합니다. 반환된 값을 배열로 사용하려면 JSON.parse(value) 메서드를 사용하십시오

    미디어의 width, height, bitrate값을 반환합니다. 이 함수는 ready 이벤트가 호출되기 전까지는 null을 리턴합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      title

    String
    • object
       

    설정된 배속값 그룹 배열입니다
    • width, height, bitrate를 property로 갖는 Object를 반환합니다.

    v3,v4

    구간반복 메소드

    set_repeat_start ([position])

    구간반복의 시작 위치를 설정합니다. 인자 없이 호출하면 현재 위치를 구간반복의 시작 위치로 설정합니다.

    만약 먼저 설정된 종료 위치보다 시작 위치가 나중이라면 종료 위치가 해제됩니다


    get_lms_data () v4

    현재까지 저장된 LMS data를 반환합니다.


    Parameters:

    • No parameter

    position

    Return:

    • Status
      title

    Integer
    • object
       

    (Optional) 시작 위치값 입니다.

    Return:

    • No return

    v3,v4

    Code Block
    controller.set_repeat_start();
    
    //인자로 위치(초)값을 입력하면 
    //지정한 위치를 구간반복의 시작 위치로 설정합니다.
    controller.set_repeat_start(10); 
    // 10초 위치를 시작 위치로 설정

    set_repeat_end ([position])

    구간반복의 종료 위치를 설정합니다. 인자 없이 호출하면 현재 위치를 구간반복의 종료 위치로 설정합니다.

    만약 먼저 설정된 시작 위치보다 종료 위치가 먼저라면 시작 위치가 해제됩니다.

    Parameters:

    • position

      Status
      titleInteger
       (Optional) 종료 위치값 입니다.

    Return:

    • No return

    v3,v4

    Code Block
    controller.set_repeat_end()
    
    //인자로 위치(초)값을 입력하면 
    //지정한 위치를 구간반복의 종료 위치로 설정합니다.
    controller.set_repeat_end(20); 
    // 20초 위치를 종료 위치로 설정

    unset_repeat ()

    설정된 구간반복을 해제합니다.

    Parameters:

    • No parameter

    Return:

    • No return

    v3,v4

    get_repeat ()

    설정된 구간반복 상태값을 반환합니다.
     상태 문자열과 시간값이  반환됩니다. 상태 문자열은 cancel, start, end 세가지 입니다.

    Parameters:

    • No parameter

    Return:

    • Status
      titleobject
      {status:(String), start:(Number), end:(Number)}설정된 구간반복 상태값입니다.

    v3,v4

    북마크 메소드

    refresh_bookmark ()

    플레이어 내 bookmark 리스트를 새로 갱신합니다.

    Parameters:

    No parameter
    • LMS data

    v3,v4


    get_hls_frag_data () 

    hls의 frag data(2)를 가져옵니다.


    Parameters:

    • No parameter

    Return:

    • base_url

      Status
      titleString
       M3U8 파일의 호출 주소

    • url

      Status
      titleString
       TS 파일(미디어 파일)의 호출 주소

    • duration

      Status
      titleInteger
       TS 파일의 전체 시간

    • auto_level

      Status
      titleboolean
       ABR 여부

    • level

      Status
      titleInteger
       현재 비트레이트 레벨 값

    • media_sequence

      Status
      titleInteger
       미디어 시퀀스 넘버

    • programdatetime

      Status
      titleInteger
       Program Date Time

    • tag_list

      Status
      titlearray
      Tags [key, value]

    • encrypted

      Status
      titleboolean
      Encrypt 여부

    v4


    set_close_button (enable, fn) 

    플레이어의 우측 상단에 닫기 버튼을 추가해 줍니다. (모바일 플레이어에서 사용합니다.)
    닫기 버튼 클릭시 콜백함수를 실행합니다.
    * ready event 이후 호출하여야 합니다.


    Parameters:

    • enable

      Status
      titleboolean
       닫기 버튼 활성화 여부

    • fn

      Status
      titlefunction
      닫기 버튼 클릭시 실행될 함수

    Return:

    • No return

    ,v4


    dispose () 

    플레이어 객체를 제거합니다.


    Parameters:

    • No Parameter

    Return:

    • No return

    v3,v4

    플레이어 메소드 


    get_

    player

    custom_

    id

    skin ()

    플레이어 고유 아이디를(3) 반환합니다. 이 함수는 ready 이벤트가 호출되기 전까지는 null을 리턴합니다.

    플레이어에 설정된 Custom skin JSON data를 반환합니다.

    *ready 이벤트를 받은 후 호출해야 합니다

    Parameters:

    • No

    parameter
    • Parameter

    Return:

    • Status
      title

    String 플레이어 고유 아이디입니다.

    v3,v4

    get_hardware_id () 

    하드웨어 고유 아이디(4)를 반환합니다. 이 함수는 ready 이벤트가 호출되기 전까지는 null을 리턴합니다
    • Object
      Custom skin JSON data

    V4

    set_custom_skin (json_data)

    플레이어에 Custom skin을 적용합니다. json_data 적용 예제는 다음과 같습니다.

    Parameters:

    • No parameter

    Return:

    • json_data

      Status
      title

    String 하드웨어 고유 아이디입니다.

    v3

    get_player_type ()

    현재 플레이어 Type 을 반환합니다.  V3, V4 중 하나를 리턴합니다.

    Parameters:
    • No parameter

    Return:

    • Status
      titleString
       현재 플레이어 Type입니다.

    v3,v4

    get_video_info () 

    미디어의 width, height, bitrate값을 반환합니다. 이 함수는 ready 이벤트가 호출되기 전까지는 null을 리턴합니다.

    Parameters:
    • No parameter

    Return:

    • Status
      titleobject
       width, height, bitrate를 property로 갖는 Object를 반환합니다.

    v3,v4

    get_lms_data () v4

    현재까지 저장된 LMS data를 hls의 frag data(2)를 가져옵니다
    • Object
      Custom skin JSON data

    Return:

    • No return

    V4

    Code Block
    {
      controlbar: {
        enable: true,
        backgroundColor: 123123,
        backgroundAlpha: 0.2,
      progressButton: {
        enable: false
     }
    ...
    }
    ...
    }

    Custom skin JSON spec에 대해서는 별도의 문서를 참조해 주시기 바랍니다. *ready 이벤트를 받은 후 호출해야 합니다.

    set_short_key (enable)

    단축키가 일시적으로 적용 안되게 설정합니다

    Parameters:

    • enable

      Status
      titleBoolean
      단축키 적용 여부를 설정합니다.

    Return:

    • No return

    V2

    get_topmost ()

    윈도우 최상위 설정을 반환합니다.
    V2 Player를 제외한 다른 Player에서 호출시 항상 false를 반환합니다.

    Parameters:

    • No parameter

    Return:

    • Status
      title

    object LMS data

    v3,v4

    get_hls_frag_data () 

    base_url
    • Boolean
      윈도우 최상위 설정값 입니다.

    V2

    set_topmost (topmost)

    윈도우 최상위 여부를 설정합니다.
    최상위로 설정하면 현재 웹브라우져가 백그라운드 상태가 되어도 항상 다른 윈도우보다 위에 있게 됩니다.

    Parameters:

    • No parameter

    Return:

    • topmost

      Status
      title

    String M3U8 파일의 호출 주소url
    Status
    titleString
     TS 파일(미디어 파일)의 호출 주소
  • duration

    Status
    titleInteger
     TS 파일의 전체 시간

  • auto_level
    • Boolean
      true는 최상위 설정, false는 최상위 설정 해제입니다

    Return:

    • No return

    V2


    자막 메소드





    set_subtitle (value)

    자막 데이터를 직접 입력합니다. value값에는 VTT url이 들어가거나 VTT RawData 문자열이 들어가야 합니다.

    Parameters:

    • value

      Status
      title

    boolean ABR 여부
  • level

    Status
    titleInteger
     현재 비트레이트 레벨 값

  • media_sequence
    • String
       VTT url 또는 VTT RawData 문자열입니다.

    Return:

    • No return

    set_subtitle_visibility (visibility)

    자막 출력을 설정합니다.


    Parameters:

    • visibility

      Status
      title

    Integer
    • boolean
       

    미디어 시퀀스 넘버
  • programdatetime

    Status
    titleInteger
     Program Date Time

  • tag_list

    Status
    titlearray
    Tags [key, value]

  • encrypted
    • 출력 여부입니다.

    Return:

    • No return

    v3,v4


    set_subtitle_sub_visibility (visibility)

    서브 자막 출력을 설정합니다.

    Parameters:

    • visibility

      Status
      titleboolean

    Encrypt 여부v4
    •  출력 여부입니다.

    Return:

    • No return

    set_

    close

    subtitle_shadow_

    button (enable, fn) 플레이어의 우측 상단에 닫기 버튼을 추가해 줍니다. (모바일 플레이어에서 사용합니다.)
    닫기 버튼 클릭시 콜백함수를 실행합니다.
    * ready event 이후 호출하여야 합니다

    rect (is_rect)

    자막의 배경 스타일을 설정합니다. 파라미터가 true면 block 형태의 불투명 배경으로 설정되고,false면 글자 외곽선

    그림자로 설정됩니다.


    Parameters:

    enable
    • is_rect

      Status
      titleboolean

     닫기 버튼 활성화 여부fn
    • 자막의 배경 스타일이 Block 형태인지의 여부입니다.

    Return:

    • No return

    v3,v4


    set_subtitle_sub_shadow_rect (is_rect)

    서브 자막의 배경 스타일을 설정합니다. 파라미터가 true면 block 형태의 불투명 배경으로 설정되고, false면 글자 외곽선 그림자로 설정됩니다.

    Parameters:

    • is_rect

      Status
      title

    function닫기 버튼 클릭시 실행될 함수dispose
    • boolean
      자막의 배경 스타일이 Block 형태인지의 여부입니다.

    Return:

    • No return

    ,v4

    get_subtitle_shadow_rect ()

     플레이어 객체를 제거합니다

    자막의 배경 스타일이 Block 형태의 불투명 배경으로 설정되어 있는지의 여부를 반환합니다.


    Parameters:

    • No

    Parameter
    • parameter

    Return:

    No returnset
    • Status
      titleboolean
       자막의 배경 스타일이 Block 형태인지의 여부입니다.

    v3,v4

    자막 메소드


    get_subtitle_

    visibility (visibility)자막 출력을 설정합니다.

    sub_shadow_rect

    서브 자막의 배경 스타일이 Block 형태의 불투명 배경으로 설정되어 있는지의 여부를 반환합니다

    Parameters:

    • No parameter

    visibility

    Return:

    • Status
      titleboolean

     출력 여부입니다.

    Return:

    • No return

    v3,v4
    •  자막의 배경 스타일이 Block 형태인지의 여부입니다

    set_subtitle_

    shadow

    font_

    rect

    size (

    is_rect

    size)

    자막의

    배경 스타일을

    폰트 사이즈를 설정합니다.

    파라미터가 true면 block 형태의 불투명 배경으로 설정되고,false면 글자 외곽선

    그림자로 설정됩니다.


    Parameters:

    is_rect
    • size

      Status
      title

    boolean
    • Integer

    자막의 배경 스타일이 Block 형태인지의 여부입니다
    •  자막의 폰트 사이즈입니다. 단위는 px입니다.

    Return:

    • No return

    v3,v4

    get


    set_subtitle_

    shadow_rect ()자막의 배경 스타일이 Block 형태의 불투명 배경으로 설정되어 있는지의 여부를 반환합니다.Return:

    sub_font_size

    서브 자막의 폰트 사이즈를 설정합니다

    Parameters:

    • No parameter

    • size

      Status
      title

    boolean 자막의 배경 스타일이 Block 형태인지의 여부입니다.
    • Integer
       자막의 폰트 사이즈입니다. 단위는 px입니다

    Return:

    • No return

    v3,v4

    set

    get_subtitle_font_size (

    size

    )

    자막의 폰트

    사이즈를 설정합니다

    사이즈 값을 반환합니다.


    Parameters:

    • No parameter

    size

    Return:

    • Status
      titleInteger
       자막의 폰트 사이즈입니다. 단위는 px입니다.

    Return:
    • No return

    v3,v4


    get_subtitle_sub_font_size ()

    서브 자막의 폰트 사이즈 값을 반환합니다.

    Parameters:

    • No parameter

    Return:

    • Status
      titleInteger

     자막의
    •  자막의 폰트 사이즈입니다. 단위는 px입니다

    .

    v3,v4


    클로즈 이벤트 메소드 




    set_enable_close_event ()

    close callback 함수의 사용여부를 설정합니다.


    Parameters:

    • No parameter

    Return:

    • No return

    v3,v4


    set_close_callback_fn (fn)

    브라우저가 닫힐 때 실행할 함수를 등록합니다.


    Parameters:

    • fn

      Status
      titlefunction
      닫힐 때 실행할 함수

    Return:

    • No return

    v3,v4


    get_enable_close_event ()

    close callback 함수의 사용여부를 반환합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleboolean
      사용여부를 반환합니다.

    v3,v4


    close

    브라우저가 닫히거나 플레이어가 제거되면 발생합니다.

    V2


    자막 메소드




    set_subtitle_activity (activity)

    자막의 위치를 변경합니다.


    Parameters:

    • activity

      Status
      titleboolean
       true인 경우 기본 컨트롤바 영역만큼 위로 올라가고 false인 경우 내려갑니다.

    Return:

    • No return

    v3,v4

    get_subtitle_activity ()

    자막의 위치가 올라가 있는지의 여부를  자막의 위치가 올라가 있는지의 여부입니다


    get_subtitle_activity ()

    자막의 위치가 올라가 있는지의 여부를 반환합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      titleboolean
       자막의 위치가 올라가 있는지의 여부입니다.

    v3,v4


    get_subtitles_list ()

    VideoGateway(5)에서 자막 순서를 변경하여 플레이어에게 전달하는 경우가 있기 때문에 API를 호출하여 얻는 자막 리스트가 아닌
    VideoGateway의 MediaInfo 객체 내부의 자막 속성을 반환합니다.


    Parameters:

    • No parameter

    Return:

    • Status
      title

    boolean
    • array
      자막 리스트의 배열객체 입니다.

    v3,v4


    get_subtitles_sub_list ()

    VideoGateway(5)에서

    VG에서 자막 순서를 변경하여 플레이어에게 전달하는 경우가 있기 때문에 API를 호출하여 얻는 자막 리스트가 아닌


    VideoGateway의 MediaInfo 객체 내부의 자막 속성을 반환합니다

    VG의 MediaInfo 객체 내부의 서브 자막 속성을 반환합니다.

    Parameters:

    • No parameter

    Return:

    • Status
      titlearray
      서브 자막 리스트의 배열객체 입니다.

    set_current_subtitle (index)

    자막을 변경합니다.


    Parameters:

    • No parameter

    Return:자막 리스트의 배열객체 입니다.
    • index

      Status
      title

    array
    • Number
       get_subtitles_list() 메서드로 반환된 자막 배열의 index값 입니다.

    Return:

    • No return

    v3,v4


    set_current_subtitle_sub (index)

    서브 자막을 변경합니다.

    Parameters:

    • index

      Status
      titleNumber

     get
    •  get_subtitles_sub_list() 메서드로 반환된 서브 자막 배열의 index값 입니다

    .

    Return:

    • No return

    v3,v4

    비트레이트 메소드

    set_bitrate (index)

    get_bitrate_data() 메서드 또는 bitrate_data_loaded 이벤트로부터 가져온 bitrate_data 배열의 Index 값을 파라미터로 전달하여 플레이어의 Bitrate 변경을 수행합니다.

    (중요) Index 0은 'Auto' 값 입니다. 메서드 또는 이벤트로 전달받은 bitrate_data 배열의 Index값에 +1을 해주어야 정상적인 Bitrate값을 요청할 수 있습니다.

    Parameters:

    • index

      Status
      titleInteger
       bitrate_data 배열의 Index값

    Return:

    • No return

    v4

    get_bitrate_data()

    Hls/Dash Manifest Data가 로드된 이후 실행 가능합니다.

    Parameters:

    • No parameter

    Return:

    • bitrate_data

      Status
      titleArray
       Hls/Dash bitrate data object가 포함된 배열 객체입니다

    v4

    에러 메소드




    get_error_detail ()

    Error 발생시 code, message, param 값을 오브젝트로 반환합니다. param 값은 message 외에 추가적인 정보를
    전달할 필요가 있는 경우 포함됩니다.


    Parameters:

    • No parameters

    Return:

    • Status
      titleobject
       Error의 디테일한 값을 반환합니다. {code, message, param}

    v3,v4


    set_custom_error (code, message, param)

    플레이어에 기본적으로 설정되어 있는 에러 메세지를 변경합니다. 메서드 실행 시점이 에러가 발생되어 있는 상태라
    면 화면에 표시되어 있는 에러문구와 param 값을 바꾸어 표기하며, 에러가 발생되지 않은 상태라면 해당 에러 발생
    시에 변경된 에러 문구와 param 값으로 표기되도록 합니다.
    *Error code 값을 기준으로 변경하기 때문에 발생되는 Error code값을 정확하게 입력해야 합니다.


    Parameters:

    • code

      Status
      titleInteger
       에러 코드

    • message

      Status
      titleString
       사용자 에러 문구

    • param

      Status
      titleString
       사용자 Param 문구

    Return:

    • No return

    v3,v4



    채팅 메소드




    set_chat_config (value) v4

    채팅창에 필요한 정보가 담긴 페이지를 보여줄 수 있는 customer_page를 Tab page 형태로 보여줄 수 있도록 설정 할 수 있습니다.

    url을 입력하여 html 페이지를 링크시키거나 html tage를 직접 입력할 수도 있습니다.

    * ready event 이후 호출하여야 합니다.

    • 브라우저 보안 정책으로 인해, url 은 https 만 허용합니다.

    • html 을 입력하시는 경우, <script> tag는 동작하지 않습니다.


    Parameters:

    • value

      Status
      titleobject
      채팅 설정 (Json object)

    Return:

    • No return

    v3,v4


    Code Block
    const config = {
    
    customer_page: [{
    
    title:'강의정보',
    
    url:'https://google.com',
    
    //html: '<h2 style="color:red">HTML 바로 쓰기</h2>'
    
        }]
    
    };
    
    controller.set_chat_config(config);


    notify_visibleheight_changed (height) v4

    Android webview에서 keyboard가 올라올 때, webview 위치가 keyboard를 따라 올라가지 않습니다. 따라서 채
    팅 영역이 정상적으로 보여지기 위해서는 반드시 해당 메서드를 호출해 주셔야 합니다.
    height는 keyboard가 없이 모든 화면이 다 보이는 상태가 1.0 입니다. Keyboard가 올라와서, 화면의 40%를 가렸
    다고 가정하면, height = 0.6으로 호출해 주시면 됩니다.


    Parameters:

    • value

      Status
      titleInteger
       키보드의 높이값 퍼센테이지

    Return:

    • No return

    v3,v4


    VR Contents (Mobile Device)

    ...

    iframe 내부에 호출된 360 VR 컨텐츠의 경우, 안드로이드와 iOS 디바이스에서 재생시 문제가 발생합니다.
    안드로이드의 경우 Orientation 값이 정상적으로 적용되지 않아 좌/우 방향이 뒤바뀌게 되며, iOS의 경우는 13버전부터 DeviceMotion 권한을 획득해야만 정상적으로 Gyroscope가 작동하게 되는데, 이 권한이 iframe 내부에서는 획득이 되지
    않아 정상적으로 동작하지 않습니다.
    (iOS 13 이전버전에서는 Safari 설정에서 '움직임 및 화면 방향 접근' 옵션을 직접
    경하여야 변경하여야 합니다.)
    두 디바이스의 문제점을 해결하려면 VG-Controller 1.1.10+ 를 설치하셔야 하며, VG-Controller Client에서
    DeviceMotion 이벤트를 자동으로 등록하여 VG-Controller Server와 통신하게 됩니다. (iframe 외부의 이벤트를 주기적
    으로 주기적으로 내부로 전송합니다.)


    iOS의 경우에는 추가적으로 Controller.set_vr_overlay() 메서드를 실행해 주어야 합니다.
    자세한 내용은  내용은 하단 참고사항 > 메서드 목록 > set_vr_overlay 메서드 항목을 항목을 참고하시기 바랍니다.

    Known Issue

    iOS 13.4 버전에서는 권한을 획득 하더라도 DeviceMotion의 rotationRate값이 정상적으로 발생되지 않는 오류가

    ...

    있습 니다.

    Intent Scheme Call Bug (iframe in Android)

    ...

    플레이어 페이지가 iframe 내부로 VG를 호출하도록 구성되어 있는 경우, 간혹 모바일 Android 기기에서 전용플레이어
    (Kollus Player KollusPlayer App)가 실행되지 않는 경우가 있습니다.
    (Android 디바이스 환경에서는 Intent Scheme를 사용하여
    출하도록 되어 있는데 호출하도록 되어있는데 Chrome 브라우저 - iframe 사용시 정상적으로 동작하지 않는 오류가 리포트 되어 있습니다.)
    이런
    경우에는 VG-Controller 1.1.15+ 를 사용하시면 정상적으로 작동이 됩니다.

    별도로 구현해야 할 코드는 없으며, VG-Controller가 환경을 분석하여 알아서 처리합니다

    ...

    ...

    Anchor
    플레이어
    플레이어

    (1)  V3 : 암호화된 파일이 Edge나 Chrome 45버전 이상의 웹브라우져에서 호출될 경우 실행되는 하이브리드 HTML5 Player입니다.  

    ...