Versions Compared

Key

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

V/G Controller 

Latest version 1.12.182

개요

...

VG Controller는 콜러스 플레이어 기능들을 고객사 웹사이트에서 구현 할 수 있도록 지원하는 Javascript library입니다.  Kollus VG Controller는 다음과 같은 특징을 가지고 있습니다. 

...

  • 하나 이상의 리스너를 등록한 경우 이벤트 발생시에 등록된 모든 리스너가 실행됩니다. 다만, 자바스크립트 이벤트 루프와 callback 함수가 실행되는 방식에 의해, 실행 순서가 바뀔 수 있습니다.

...

메소드 목록

이벤트 리스너 메소드

on(event_name, callback_function)

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

Parameters:

event_name 

이벤트 목록 

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 

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


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 

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

메소드 사용하기

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

Code Block
controller.play();

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

...


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
    title

Stringcallback function을 bind할 이벤트 이름입니다.
  • callback_function 

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

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

  • Return:
    • Object
      dash manifest data 객체입니다.

    v4

    bitrate_data_loaded

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

    Parameters:

    • bitrate_data

      Status
      title

    ObjectVG-Controller Client 객체를 반환합니다.v3,
    • array
      Hls/Dash bitrate data object를 포함하는 배열 객체입니다.

    v4

    Code Block
    controller.on('
    event
    bitrate_data_
    name
    loaded', function(
    param
    bitrate_data) {
    
    // 
    event_name에 해당하는 이벤트 발생시,
    bitrate_data는 Bitrate Data Object를 포함하는 배열객체 입니다.
    //
    // [
    //  {
    //    width: <int>,
    //    height: <int>,
    // 
    두번째
       
    인자인
    bitrate: 
    callback
    <int>
    
    function
    // 
    실행
     }
    );off
    
    // ]
    });

    메소드 사용하기

    ...

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

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

    메소드 목록

    ...

    이벤트 리스너 메소드



    on(event_name, callback_function)

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


    Parameters:

    • event_name name 

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

    Return:
    • callback_function 

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

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

    Return:

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

    v3, v4


    Code Block
    controller.offon('event_name', function(param);

    재생 메소드 

    get_progress() 

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

    Parameters:

     {
    	// 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() 

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


    Parameters:

    • No parameter

    Return:

    • Status
      titleObject
       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.play();
    
    //특정 지점부터 재생하려면 다음과 같이 재생할 위치를
    // 파라미터로 입력하여 주십시요.
    controller.play(10); // 10초 위치부터 재생


    pause()

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


    Parameters:

    • No parameter

    Return:

    • No return

    v3, v4


    ...

    구간반복 메소드




    set_repeat_start ([position])

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


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


    Parameters:

    • position

      Status
      titleInteger
       (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

    Return:

    • No return

    v3,v4


    ...

    자막 메소드




    set_subtitle_activity (activity)

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


    Parameters:

    • activity

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

    Return:

    • No return

    v3,v4


    get_subtitle_activity ()

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


    Parameters:

    • No parameter

    Return:

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

    v3,v4


    get_subtitles_list ()

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


    Parameters:

    • No parameter

    Return:

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

    v3,v4


    set_current_subtitle (index)

    자막을 변경합니다.


    Parameters:

    • index

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

    Return:

    • No return

    v3,v4


    Return:

    비트레이트 메소드

    set_bitrate (index)

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

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

    Parameters:

    • No parameter

    • index

      Status
      title

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

    v3,v4

    set_current_subtitle (index)

    자막을 변경합니다.

    Parameters:index

    Return:

    • No return

    v3,
    • Integer
       bitrate_data 배열의 Index값

    Return:

    • No return

    v4

    get_bitrate_data()

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

    Parameters:

    • No parameter

    Return:

    • bitrate_data

      Status
      title

    Number get_subtitles_list() 메서드로 반환된 자막 배열의 index값 입니다.
    • Array
       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


    ...