Skip to content

Player project for Android to play video or broadcast using the Wecandeo Online Video Platform (OVP).

License

Notifications You must be signed in to change notification settings

wecandeo/PlayerSample_Android

Repository files navigation

Sample Player

설정

사전에 조회할 값 설명

Player 공통

WECANDEO 통계를 사용하기 위해서는 활성화 된 WECANDEO 계정이 있어야 합니다. 먼저 WECANDEO 홈페이지 에서 계정을 생성하고 플랜(Trial, Standard, Enterprise)에 가입하여 계정을 활성화 합니다. 활성화 된 계정에 이용중인 상품이 VideoPack인 경우 VOD Player를, LivePack인 경우 Live Player 를 사용할 수 있습니다.

WECANDEO API를 사용하여 필요한 값을 조회합니다.

WECANDEO API를 사용하기 위해 필요한 API Key는 활성화 된 계정의 CMS에서 확인 가능합니다.[CMS > 계정관리 > 개발자 API]

※ DRM 기능을 사용하기 위해서는 사용 가능한 플랜(Enterprise)에 가입되어 있어야 하며, 관리자를 통해 해당 기능이 활성화 되어 있어야 합니다.

  • Live Player
    • liveKey : [CMS > 라이브 채널 > 채널 리스트 > 채널 선택 > 배포 코드] 메뉴에서 liveKey를 확인할 수 있습니다.

1. 라이브러리 추가

implementation 'com.google.android.exoplayer:exoplayer:2.12.1'
implementation 'com.android.volley:volley:1.1.1'
implementation 'com.google.code.gson:gson:2.8.6'
implementation files('libs/WecandeoPlaySdk.jar')

- libs 폴더에 WecandeoPlaySdk.jar 파일 추가

2. AndroidManifest.xml 에 permissions 추가

<uses-permission android:name="android.permission.INTERNET" />

3. AndroidManifest.xml application 태그 안에 usesCleartextTraffic 설정

<application
android:usesCleartextTraffic="true">

4. - UrlInfo, RequestSingleton Class 는 수정하지 않고 사용

VOD

Player 구성 방법

  • 공통
    • 해당 Activity 에 Player.EventListener, SdkInterface.onSdkListener 인터페이스를 구현해야 합니다.
      • Activity implements Player.EventListener, SdkInterface.onSdkListener
    • onStart(), onResume(), onPause(), onStop() 메서드를 각 메서드에 맞게 wecandeoSdk 호출
    @Override
    public void onStart(){
        super.onStart();
        if(wecandeoSdk != null)
          wecandeoSdk.onStart();
    }
    
    • 이벤트
      • 재생 : wecandeoSdk.play()
      • 재시작 : wecandeoSdk.retry()
      • 정지 : wecandeoSdk.stop()
      • 일시 정지 : wecandeoSdk.pause()
      • 앞으로 넘기기 : wecandeoSdk.fastForward()
      • 뒤로 돌아가기 : wecandeoSdk.rewind()
      • 종횡비 설정 : wecandeoSdk.setResizeMode(int position)
        • position 값
        • 0 (RESIZE_MODE_FIT) : 원하는 종횡비를 얻기 위해 너비 또는 높이를 줄입니다.
        • 1 (RESIZE_MODE_FIXED_WIDTH) : 너비는 고정되고 높이는 원하는 종횡비를 얻기 위해 증가 또는 감소합니다.
        • 2 (RESIZE_MODE_FIXED_HEIGHT) : 높이는 고정되고 너비는 종횡비를 얻기 위해 늘리거나 줄입니다.
        • 3 (RESIZE_MODE_FILL) : 지정된 종횡비가 무시 됩니다.
        • 4 (RESIZE_MODE_ZOOM) : 원하는 종횡비를 얻기 위해 너비 또는 높이를 늘립니다.
  • DRM
    • 발급된 videoId, videoKey, gId, scretKey, packageId 를 통해 Player 구성
 wecandeoSdk = new WecandeoSdk(this);
 wecandeoSdk.setSdkListener(this);
 wecandeoSdk.addPlayerListener(this);
 wecandeoVideo = new WecandeoVideo();
 wecandeoVideo.setDrm(true);
 wecandeoVideo.setVideoKey("videoKey");
 wecandeoVideo.setgId("gid");
 wecandeoVideo.setPackageId("packageId");
 wecandeoVideo.setVideoId("videoId");
 wecandeoVideo.setSecretKey("secretKey");
 wecandeoSdk.setWecandeoVideo(wecandeoVideo);
 wecandeoSdk.setPlayerView(playerView);
 wecandeoSdk.setUseController(false);
  • Non DRM
    • 발급된 videoKey 로 영상 상세정보 조회를 하여 나온 videoUrl 값을 이용하여 Player 구성
  wecandeoSdk = new WecandeoSdk(this);
  wecandeoSdk.setSdkListener(this);
  wecandeoSdk.addPlayerListener(this);
  wecandeoVideo = new WecandeoVideo();
  wecandeoVideo.setDrm(false);
  wecandeoVideo.setVideoKey("videoUrl");
  wecandeoSdk.setWecandeoVideo(wecandeoVideo);
  wecandeoSdk.setPlayerView(playerView);
  wecandeoSdk.setUseController(false);
  wecandeoSdk.onStart();

LIVE

Player 구성 방법

  • 발급된 liveKey 로 영상 상세정보 조회를 하여 나온 videoUrl 값을 이용하여 Player 구성
  wecandeoSdk = new WecandeoSdk(this);
  wecandeoSdk.setSdkListener(this);
  wecandeoSdk.addPlayerListener(this);
  wecandeoVideo = new WecandeoVideo();
  wecandeoVideo.setDrm(false);
  wecandeoVideo.setVideoKey("videoUrl");
  wecandeoSdk.setWecandeoVideo(wecandeoVideo);
  wecandeoSdk.setPlayerView(playerView);
  wecandeoSdk.setUseController(false);
  wecandeoSdk.onStart();
  • 공통
    • 해당 Activity 에 Player.EventListener, SdkInterface.onSdkListener 인터페이스를 구현해야 합니다.
      • Activity implements Player.EventListener, SdkInterface.onSdkListener
    • onStart(), onResume(), onPause(), onStop() 메서드를 각 메서드에 맞게 wecandeoSdk 호출
    @Override
    public void onStart(){
        super.onStart();
        if(wecandeoSdk != null)
          wecandeoSdk.onStart();
    }
    
    • 이벤트
      • 재생 : wecandeoSdk.play()
      • 정지 : wecandeoSdk.stop()

About

Player project for Android to play video or broadcast using the Wecandeo Online Video Platform (OVP).

Topics

Resources

License

Stars

Watchers

Forks

Languages