본문으로 건너뛰기

API 레퍼런스

BandwidthItem Class

com.kollus.sdk.media.content.BandwidthItem

가변 비트레이트(ABR) 콘텐츠 재생 시, 현재 재생 중인 영상의 대역폭 정보를 관리하고 식별하기 위한 클래스입니다.

Public Methods

  • BandwidthItem(int bandwidth, String bandwidthName)
  • int getBandwidth()
  • String getBandwidthName()

Constructors & Destructors

com.kollus.sdk.media.content.BandwidthItem.BandwidthItem(int bandwidth, String bandwidthName)

Internal SDK Only  대역폭 정보를 관리하는 객체를 생성합니다.

파라미터타입설명
bandwidthint대역폭 수치
bandwidthNameString대역폭 식별 명칭

Method Details

int com.kollus.sdk.media.content.BandwidthItem.getBandwidth()

onChangedBandwidth 콜백이 발생했을 때, 현재 재생 중인 영상의 실제 대역폭 수치를 반환합니다.

  • 반환값: 대역폭 (bps)
String com.kollus.sdk.media.content.BandwidthItem.getBandwidthName()

onChangedBandwidth 콜백이 발생했을 때, 현재 재생 중인 영상의 대역폭 명칭을 반환합니다. 해상도 정보가 존재할 경우 '1080P'와 같은 형식으로 반환되며, 정보가 없을 경우 Kbps 단위의 수치로 반환됩니다.

  • 반환값: 대역폭 식별 명칭 (예: '1080P' 또는 '5000Kbps')

Chapter Class

com.kollus.sdk.media.content.KollusContent.ChapterInfo.Chapter

콘텐츠의 특정 시점을 정의하는 챕터(Chapter)의 상세 정보를 관리하는 클래스입니다.

Public Methods

  • int getPosition()
  • String getValue()

Method Details

int com.kollus.sdk.media.content.KollusContent.ChapterInfo.Chapter.getPosition()

전체 영상 내에서 해당 챕터가 시작되는 시간 정보를 반환합니다.

  • 반환값: 챕터 시작 시각 (s)
String com.kollus.sdk.media.content.KollusContent.ChapterInfo.Chapter.getValue()

챕터의 명칭 또는 설명을 반환합니다. 플레이어의 챕터 목록에 노출되는 텍스트로 활용됩니다.

  • 반환값: 챕터 명칭 또는 설명

ChapterInfo Class

com.kollus.sdk.media.content.KollusContent.ChapterInfo

콘텐츠의 챕터(Chapter) 데이터 세트를 관리하는 클래스입니다. 특정 언어 설정값과 해당 언어로 작성된 상세 챕터 리스트를 포함합니다.

Public Methods

  • List<Chapter> getChapters()
  • String getLanguage()

Method Details

List<Chapter> com.kollus.sdk.media.content.KollusContent.ChapterInfo.getChapters()

콘텐츠 내에 정의된 챕터 목록을 반환합니다.

  • 반환값: 챕터 리스트
String com.kollus.sdk.media.content.KollusContent.ChapterInfo.getLanguage()

해당 챕터 세트에 설정된 언어 코드를 반환합니다. 다국어를 지원하는 콘텐츠의 경우 각 언어별 챕터 구분을 위해 사용됩니다.

  • 반환값: 언어 코드

ChattingInfo Class

com.kollus.sdk.media.content.KollusContent.ChattingInfo

Kollus Live 서비스에 연동된 채팅 솔루션의 접속 정보와 사용자 권한 및 프로필 설정을 관리하는 클래스입니다.

Public Properties

  • String mainUrl
  • String kind
  • String position
  • boolean isVisible
  • boolean isAdmin
  • boolean isAnonymous
  • boolean bDisableDefaultProfilePhoto
  • String roomId
  • String chatServer
  • String helloMessage
  • String userName
  • String userId
  • String photoUrl

Property Details

속성설명
boolean com.kollus.sdk.media.content.KollusContent.ChattingInfo.bDisableDefaultProfilePhoto기본 프로필 이미지 노출 여부
String com.kollus.sdk.media.content.KollusContent.ChattingInfo.chatServer채팅 서버 호스트 주소
String com.kollus.sdk.media.content.KollusContent.ChattingInfo.helloMessage채팅방 입장 시 자동 송출될 안내 메시지
boolean com.kollus.sdk.media.content.KollusContent.ChattingInfo.isAdmin관리자 권한 부여 여부
boolean com.kollus.sdk.media.content.KollusContent.ChattingInfo.isAnonymous익명 접속 활성화 여부
boolean com.kollus.sdk.media.content.KollusContent.ChattingInfo.isVisible채팅 UI 화면 노출 여부
String com.kollus.sdk.media.content.KollusContent.ChattingInfo.kind채팅 서비스 솔루션 유형 (예: Chatroll, Kollus 등)
String com.kollus.sdk.media.content.KollusContent.ChattingInfo.mainUrl채팅 서비스 메인 접속 엔드포인트 URL
String com.kollus.sdk.media.content.KollusContent.ChattingInfo.photoUrl사용자 프로필 이미지 접근 URL
String com.kollus.sdk.media.content.KollusContent.ChattingInfo.position화면 내 채팅창 배치 위치
String com.kollus.sdk.media.content.KollusContent.ChattingInfo.roomId접속할 채팅방 고유 식별 번호
String com.kollus.sdk.media.content.KollusContent.ChattingInfo.userId채팅 사용자 고유 ID
String com.kollus.sdk.media.content.KollusContent.ChattingInfo.userName채팅창 내 노출될 사용자 명칭

ContentType Enum

com.kollus.sdk.media.content.KollusContent.ContentType

콘텐츠에 적용된 DRM(Digital Rights Management) 기술의 유형을 정의하는 열거형 클래스입니다.

Public Properties

  • EXT_DRM_CONTENT
  • KOLLUS_CONTENTEXT_DRM_CONTENT

Property Details

속성설명
EXT_DRM_CONTENTMulti DRM 기술이 적용된 콘텐츠
KOLLUS_CONTENTKollus DRM 기술이 적용된 콘텐츠

CpuInfo Class

com.kollus.sdk.media.util.CpuInfo

모바일 디바이스의 CPU 사양 및 하드웨어 성능 정보를 확인하여, 고화질 영상 재생 지원 여부를 판단하는 유틸리티 클래스입니다.

Public Methods

  • int getCpuCount()
  • String getCpuName()
  • Vector<String> getFrequence()
  • int getFrequenceWithInt()
  • boolean hasFeature(String feature)
  • boolean isSupportDevice()

Static Public Methods

  • static synchronized CpuInfo getInstance()

Method Details

int com.kollus.sdk.media.util.CpuInfo.getCpuCount()

프로세서의 물리적 코어 개수를 반환합니다.

  • 반환값: CPU 코어 수
String com.kollus.sdk.media.util.CpuInfo.getCpuName()

프로세서(AP)의 정식 명칭을 반환합니다.

  • 반환값: 프로세서 모델 이름
Vector<String> com.kollus.sdk.media.util.CpuInfo.getFrequence()

CPU의 동작 클럭 주파수 정보를 문자열 리스트 형식으로 반환합니다.

  • 반환값: CPU 클럭 리스트
int com.kollus.sdk.media.util.CpuInfo.getFrequenceWithInt()

CPU의 최대 동작 클럭 주파수를 정수형으로 반환합니다. 성능 분석 시 수치 비교에 용이합니다.

  • 반환값: CPU 최대 클럭 수치
static synchronized CpuInfo com.kollus.sdk.media.util.CpuInfo.getInstance()

CpuInfo의 싱글톤(Singleton) 인스턴스를 반환합니다. 디바이스 정보 조회를 위해 최초 1회 인스턴스 생성이 필요합니다.

  • 반환값: CpuInfo 인스턴스
boolean com.kollus.sdk.media.util.CpuInfo.hasFeature(String feature)

CPU가 특정 명령어 집합이나 하드웨어 가속 기능을 보유하고 있는지 확인합니다.

파라미터타입설명
featureString확인 대상 하드웨어 기능 명칭
  • 반환값: 해당 기능 보유 여부
boolean com.kollus.sdk.media.util.CpuInfo.isSupportDevice()

하드웨어 사양이 Kollus SDK의 최소 재생 요구 사양을 충족하는지 확인합니다.

  • 반환값: 서비스 지원 가능 여부

DEVICE_TYPE Enum

com.kollus.sdk.media.util.Utils.DEVICE_TYPE

서비스가 실행되는 디바이스의 하드웨어 유형을 정의하는 열거형 클래스입니다.

Public Properties

  • DEVICE_MOBILE
  • DEVICE_TABLET
  • DEVICE_TV

Property Details

속성설명
DEVICE_MOBILE모바일
DEVICE_TABLET태블릿
DEVICE_TVTV

DrmSessionManagerListener Interface

com.kollus.sdk.media.KollusStorage.DrmSessionManagerListener

DRM(Digital Rights Management) 세션의 생명 주기 관리 및 라이선스 발급 과정에서 발생하는 오류를 모니터링하기 위한 인터페이스입니다.

Public Methods

  • void onError(int errorCode) DRM 라이선스 검증이나 세션 생성 중 오류가 발생했을 때 호출되는 콜백 기능입니다. 전달된 에러 코드를 통해 구체적인 실패 원인을 파악할 수 있습니다.
파라미터타입설명
errorCodeintDRM 관련 에러 코드

EmulatorCheckerListener Interface

com.kollus.sdk.media.EmulatorCheckerListener

콘텐츠 보호를 위해 루팅(Rooting) 여부, 에뮬레이터 환경 실행, 디버깅 모드 활성화 상태를 감지하고 해당 이벤트 발생 시 콜백을 수신하는 보안 리스너 인터페이스입니다.

Public Methods

  • void onDetectDebuggingMode()
  • void onDetectRooting()
  • void onRunningEmulator()

Method Details

void onDetectDebuggingMode()
  • 설명: 영상 재생 중 시스템 디버깅 모드가 활성화되었을 때 호출되는 콜백 기능입니다.
  • 반환값: 없음
void onDetectRooting()
  • 설명: 운영체제 권한 변조(루팅)가 감지되었을 때 호출되는 콜백 기능입니다. 보안 정책에 따라 재생 차단 등의 처리를 수행할 수 있습니다.
  • 반환값: 없음
void onRunningEmulator()
  • 설명: 실제 모바일 디바이스가 아닌 가상 환경(에뮬레이터)에서 SDK가 실행되었을 때 호출되는 콜백 기능입니다.
  • 반환값: 없음

ErrorCodes Class

com.kollus.sdk.media.util.ErrorCodes

Kollus SDK 실행 중 발생하는 재생, 다운로드, 보안, 네트워크 등 모든 예외 상황에 대한 에러 코드를 정의하고 관리하는 클래스입니다.

Public Methods

  • String getErrorString(int errorCode)

Static Public Methods

  • static synchronized ErrorCodes getInstance(Context context)

Static Public Properties

list
  • static final int ERROR_OK = 0
  • static final int ERROR_UNDEFINED_CODE = -1000
  • static final int MEDIA_ERROR_IO = -1004
  • static final int MEDIA_ERROR_MALFORMED = -1007
  • static final int ERROR_UNSUPPORTED = -1010
  • static final int ERROR_UNSUPPORTED_DEVICE = -1015
  • static final int ERROR_CODEC_INIT = -1102
  • static final int ERROR_CODEC_DECODE = -1103
  • static final int ERROR_CHECK_SETTING_NOT_SW_CODEC = -1104
  • static final int ERROR_SERVER_BLACK_OUT = -1105
  • static final int ERROR_ALREADY_DOWNLOADED = -1631
  • static final int ERROR_TMCM_INIT = -2001
  • static final int ERROR_TMCM_ROOTING = -2002
  • static final int ERROR_TMCM_EMURATOR = -2003
  • static final int ERROR_EMURATOR = -2004
  • static final int ERROR_EMURATOR_VIA_DEVICE = -2005
  • static final int ERROR_UNKNOWN_MULTI_DRM = -2100
  • static int ERROR_INCORRECT_PACKAGE_NAME = -2103
  • static int ERROR_EXPIRED_AUTH_DATE = -2104
  • static int ERROR_INCORRECT_AUTH_DATE = -2105
  • static int ERROR_INCORRECT_AUTH_KEY = -2106
  • static int ERROR_NOT_ENOUGH_AUTH_INFO = -2107
  • static final int ERROR_LIVE_NOT_BROADCASTING = -3012
  • static final int ERROR_DUPLICATION_BLOCK_OR_EXPIRED_TIME_MEDIA_KEY = -3013
  • static final int ERROR_INVALID_MEDIA_CONTENT_KEY = -4001
  • static final int ERROR_INVALID_SECURITY_KEY = -4002
  • static final int ERROR_INVALID_CHANNEL_KEY = -4003
  • static final int ERROR_INVALID_USER_KEY = -4004
  • static final int ERROR_INVALID_TRANSCODING_FILE_PATH = -4005
  • static final int ERROR_INVALID_ALIAS_KEY = -4006
  • static final int ERROR_INVALID_JWT = -4007
  • static final int ERROR_INVALID_MEDIA_TOKEN = -4008
  • static final int ERROR_NO_TRANSCODING_FILE = -4011
  • static final int ERROR_NO_MEDIA_CONTENT = -4012
  • static final int ERROR_NO_CONTENT_OWNER = -4013
  • static final int ERROR_NO_CONTENT_DISTRIBUTOR = -4014
  • static final int ERROR_NO_CHANNEL = -4015
  • static final int ERROR_NO_PAYMENT = -4016
  • static final int ERROR_NO_DEFAULT_MAIN_SITE = -4019
  • static final int ERROR_NO_MAIN_MEDIA_CONTENT = -4020
  • static final int ERROR_UNAVAILABLE_TRANSCODING_FILE = -4021
  • static final int ERROR_UNAVAILABLE_MEDIA_CONTENT = -4022
  • static final int ERROR_UNAVAILABLE_CONTENT_OWNER = -4023
  • static final int ERROR_UNAVAILABLE_CONTENT_DISTRIBUTOR = -4024
  • static final int ERROR_UNAVAILABLE_CHANNEL = -4025
  • static final int ERROR_UNAVAILABLE_CHANNEL_DISTRIBUTION = -4026
  • static final int ERROR_NOT_ALLOWED_REFERER = -4031
  • static final int ERROR_NOT_ALLOWED_ACCESS_FOR_BLOCKING_CAPTURE = -4032
  • static final int ERROR_NOT_PUBLIC_SHARED_CHANNEL = -4081
  • static final int ERROR_MISMATCH_USER_KEY = -4082
  • static final int ERROR_ACCESS_WITHOUT_MEDIA_CONTENT_KEY = -4083
  • static final int ERROR_NOT_SUPPORT_DEVICE = -4084
  • static final int ERROR_TOKEN_EXPIRED = -4085
  • static final int ERROR_NETWORK_CON_TIMEOUT = -4105
  • static final int ERROR_MULTI_DRM_EXPIRED = -7000
  • static final int ERROR_INVALID_CRYPTO_KEY = -7001
  • static final int ERROR_WIDEVINE_NOT_SUPPORT = -7109
  • static final int ERROR_STOAGE_MANAGER_BASE = -8000
  • static final int ERROR_CURLE_COULDNT_RESOLVE_HOST = -8006
  • static final int ERROR_CURLE_COULDNT_CONNECT = -8007
  • static final int ERROR_CURLE_PARTIAL_FILE = -8018
  • static final int ERROR_CURLE_OPERATION_TIMEDOUT = -8028
  • static final int ERROR_CURLE_RECV_ERROR = -8056
  • static final int ERROR_BAD_REQUEST = -8400
  • static final int ERROR_UNAUTHORIZED_1 = -8401
  • static final int ERROR_UNAUTHORIZED_2 = -8402
  • static final int ERROR_FORBIDDEN = -8403
  • static final int ERROR_NOT_EXIST_FILE = -8404
  • static final int ERROR_METHOD_NOT_ALLOWED = -8405
  • static final int ERROR_INTERNAL_SERVER = -8500
  • static final int ERROR_NOT_IMPLEMENTED = -8501
  • static final int ERROR_BAD_GATEWAY = -8502
  • static final int ERROR_SERVICE_UNAVAILABLE = -8503
  • static final int ERROR_GATEWAY_TIMEOUT = -8504
  • static final int ERROR_HTTP_VERSION_NOT_SUPPORTED = -8505
  • static final int ERROR_REQUEST_URL = -8461
  • static final int ERROR_GET_USER_IP = -8462
  • static final int ERROR_ACCESS_DENIED_FOLDER = -8463
  • static final int ERROR_DUPLICATION_BLOCK_PROCESS = -8464
  • static final int ERROR_VERIFY_MEDIA_KEY = -8465
  • static final int ERROR_REQEST_URL_BLOCK = -8466
  • static final int ERROR_MEDIA_KEY_TIME_EXPIRE = -8467
  • static final int ERROR_MEDIA_DOMAIN_VALIDATE = -8468
  • static final int ERROR_HEAVY_REQUEST = -8469
  • static final int ERROR_PLYMENT = -8470
  • static final int ERROR_GEO_RESTRICTION = -8471
  • static final int ERROR_PREVIEW_ERROR = -8472
  • static final int ERROR_USER_KEY = -8473
  • static final int ERROR_CONTENT_NOT_PUBLIC_CHANNEL = -8474
  • static final int ERROR_USED_MEDIA_KEY = -8475
  • static final int ERROR_MAX_REQUEST_SIZE = -8476
  • static final int ERROR_DIFFERENT_ES_KEY = -8477
  • static final int ERROR_ACCESS_DENIED_MEMCACHE_SERVER = -8478
  • static final int ERROR_DUPLICATION_BLOCK_MEDIA_KEY = -8479
  • static final int ERROR_NOT_NORMAL_REQUEST_VIDEO_GATEWAY = -8480
  • static final int ERROR_EDGE_RADIS_WRITING = -8481
  • static final int ERROR_EDGE_RADIS_READING = -8482
  • static final int ERROR_CREATE_DIRECTORY = -8600
  • static final int ERROR_CREATE_FILE = -8601
  • static final int ERROR_SAVE_DATA = -8602
  • static final int ERROR_OPEN_DB = -8603
  • static final int ERROR_CREATE_TABLE = -8604
  • static final int ERROR_SELECT_TABLE = -8605
  • static final int ERROR_DELETE_RECORD = -8606
  • static final int ERROR_INSERT_RECORD = -8607
  • static final int ERROR_OPEN_FILE = -8608
  • static final int ERROR_OUT_OF_MEMORY = -8609
  • static final int ERROR_READ_FILE = -8610
  • static final int ERROR_WRITE_FILE = -8611
  • static final int ERROR_PARAM_VALUE = -8613
  • static final int ERROR_NOT_LOAD = -8614
  • static final int ERROR_CANCEL_DOWNLOAD = -8615
  • static final int ERROR_GET_CONTENTS_LENGTH = -8617
  • static final int ERROR_GET_ENCODE_LEVEL = -8618
  • static final int ERROR_GET_MEDIA_URL = -8619
  • static final int ERROR_NOT_FOUND_DATA = -8620
  • static final int ERROR_NOT_FOUND_ID = -8621
  • static final int ERROR_DECODE_HEADER = -8622
  • static final int ERROR_STORAGE_FULL = -8623
  • static final int ERROR_UPDATE_RECORD = -8624
  • static final int ERROR_NOT_FOUND_SNAPSHOT_FILENAME = -8626
  • static final int ERROR_NOT_FOUND_THUMBNAIL_FILENAME = -8627
  • static final int ERROR_NOT_FOUND_RECORD = -8628
  • static final int ERROR_NOT_DOWNLOAD_COMPLETE_ALL = -8629
  • static final int ERROR_NOT_DOWNLOAD_TYPE = -8630
  • static final int ERROR_ALREADY_DOWNLOADING = -8631
  • static final int ERROR_DECRYPT_CONTENT_INFO_LINK = -8632
  • static final int ERROR_PARSE_CONTENT_INFO_LINK = -8633
  • static final int ERROR_DECRYPT_COMPANY_AUTH_INFO = -8634
  • static final int ERROR_PARSE_COMPANY_AUTH_INFO = -8635
  • static final int ERROR_NOT_VAILD_COMPANY_AUTH_INFO = -8636
  • static final int ERROR_NO_USE_CONTENT_URL = -8637
  • static final int ERROR_NOT_EXIST_DOWNLOADED_CONTENTS = -8638
  • static final int ERROR_EXPIRATION_DATE = -8643
  • static final int ERROR_EXPIRATION_COUNT = -8644
  • static final int ERROR_REQUEST_CONTENT_URL = -8645
  • static final int ERROR_NOT_VAILD_CONTENTS_INFO = -8646
  • static final int ERROR_CREATE_NO_MEDIA_FILE = -8647
  • static final int ERROR_DECRYPT = -8649
  • static final int ERROR_NOT_ALLOW_DOWNLOAD = -8650
  • static final int ERROR_EMPTY_COMPANY_AUTH_INFO = -8651
  • static final int ERROR_EMPTY_CONTENT_INFO = -8652
  • static final int ERROR_NOT_FOUND_DOMAIN = -8653
  • static final int ERROR_NOT_RECEIVE_DOMAIN = -8654
  • static final int ERROR_ABNORMAL_DRM_INFO = -8655
  • static final int ERROR_ABNORMAL_DRM_COMPLETE = -8656
  • static final int ERROR_ABNORMAL_DRM_PLAY = -8657
  • static final int ERROR_FORCE_EXPIRED = -8658
  • static final int ERROR_NOT_RECEIVE_ENC_DATA = -8659
  • static final int ERROR_NOT_FOUND_MOBILE_LOGO_FILENAME = -8660
  • static final int ERROR_CANNOT_CALL_API = -8661
  • static final int ERROR_NOT_FOUND_THUMBNAIL_URL = -8662
  • static final int ERROR_ALTER_TABLE = -8663
  • static final int ERROR_DIFFERENT_TIME = -8664
  • static final int ERROR_EMPTY_POSTER_UPLOAD_FILE_INFO = -8665
  • static final int ERROR_PARSE_POSTER_UPLOAD_FILE_INFO = -8666
  • static final int ERROR_NOT_FOUND_POSTER_URL = -8667
  • static final int ERROR_GET_MEDIA_ID = -8668
  • static final int ERROR_NOT_FOUND_SUBTITLE_FILENAME = -8669
  • static final int ERROR_EMPTY_PLAY_CALLBACK_INFO = -8670
  • static final int ERROR_DECRYPT_PLAY_CALLBACK_INFO = -8671
  • static final int ERROR_PARSE_PLAY_CALLBACK_INFO = -8672
  • static final int ERROR_ABNORMAL_PLAY_CALLBACK_INFO = -8673
  • static final int ERROR_PLAY_CALLBACK_EXPIRED = -8674
  • static final int ERROR_ABNORMAL_PLAY_CALLBACK_INFO_PLAY = -8675
  • static final int ERROR_ABNORMAL_UPLOAD_POSTER_INFO = -8676
  • static final int ERROR_GET_CONTENT_TYPE = -8677
  • static final int ERROR_GET_CONTENT_LAST_MODIFIED = -8678
  • static final int ERROR_ENCRYPT_KEY = -8679
  • static final int ERROR_FORCE_DELETE = -8680
  • static final int ERROR_DIFFERENT_EXPIRE_RESET = -8681
  • static final int ERROR_NOT_FOUND_DRM_KIND = -8682
  • static final int ERROR_EXPIRATION_PLAY_TIME = -8683
  • static final int ERROR_PLAY_CALLBACK_EXPIRATION_PLAY_TIME = -8686
  • static final int ERROR_CHECK_EXPIRATION_DATE = -8687
  • static final int ERROR_NOT_FOUND_COMMON_INFO = -8800
  • static final int ERROR_NOT_FOUND_ITEM_IN_PLAYLIST = -8801
  • static final int ERROR_EMPTY_PLAYLIST_INFO = -8802
  • static final int ERROR_INTRO_CANNOT_DOWNLOAD = -8803
  • static final int ERROR_DUPLICATION_NETWORK_ERR = -8804
  • static final int INFO_NETWORK_TIMEOUT = -8899
  • static final int ERROR_VIDEO_GATEWAY_ABNORMAL_RESPONSE = -8900
  • static final int ERROR_DRM_CALLBACK_BASE = -9000
  • static final int ERROR_PLAY_CALLBACK_BASE = -10000
  • static final int ERROR_VWM_BASE = -11000
  • static final int ERROR_FORENSIC_CURLE_COULDNT_RESOLVE_HOST = -11006
  • static final int ERROR_FORENSIC_CURLE_COULDNT_CONNECT = -11007
  • static final int ERROR_FORENSIC_CURLE_PARTIAL_FILE = -11018
  • static final int ERROR_FORENSIC_CURLE_OPERATION_TIMEDOUT = -11028
  • static final int ERROR_FORENSIC_CURLE_RECV_ERROR = -11056
  • static final int ERROR_FORENSIC_INSTANCE_INITIALIZE = -11099
  • static final int ERROR_FORENSIC_MESSAGE_ID_RANGE = -11100
  • static final int ERROR_FORENSIC_CURLE_CONNECT = -11101
  • static final int ERROR_FORENSIC_CURLE_HEADER = -11102
  • static final int ERROR_FORENSIC_DESCRYPT_INSTANCE = -11103
  • static final int ERROR_FORENSIC_DESCRYPT_FUNCTION = -11104
  • static final int ERROR_FORENSIC_DESCRYPT_KEY = -11105
  • static final int ERROR_FORENSIC_DESCRYPT_CURL_DATA = -11106
  • static final int ERROR_FORENSIC_RECRIVED_DATA_BROKEN = -11107
  • static final int ERROR_FORENSIC_ENCRYPT_CACHE_DATA = -11108
  • static final int ERROR_FORENSIC_DESCRYPT_CACHE_DATA_SIZE = -11109
  • static final int ERROR_FORENSIC_EXPIRED_LICENSE = -11110
  • static final int ERROR_FORENSIC_DESCRYPT_WATERMARK_PATTERN_DATA = -11111
  • static final int ERROR_FORENSIC_BAD_REQUEST = -11400
  • static final int ERROR_FORENSIC_UNAUTHORIZED_1 = -11401
  • static final int ERROR_FORENSIC_UNAUTHORIZED_2 = -11402
  • static final int ERROR_FORENSIC_NOT_EXIST_FILE = -11404
  • static final int ERROR_FORENSIC_INTERNAL_SERVER = -11500
  • static final int ERROR_FORENSIC_NOT_IMPLEMENTED = -11501
  • static final int ERROR_FORENSIC_BAD_GATEWAY = -11502
  • static final int ERROR_FORENSIC_SERVICE_UNAVAILABLE = -11503
  • static final int ERROR_FORENSIC_GATEWAY_TIMEOUT = -11504
  • static final int ERROR_FORENSIC_HTTP_VERSION_NOT_SUPPORTED = -11505

Protected Properties

  • final Context mContext
  • final Map<Integer, CodeBook> mCodeBooks

Method Details

String com.kollus.sdk.media.util.ErrorCodes.getErrorString(int errorCode)

특정 에러 코드에 해당하는 상세 설명 메시지를 반환합니다.

파라미터타입설명
errorCodeint에러 코드
  • 반환값: 에러 메시지
static synchronized ErrorCodes com.kollus.sdk.media.util.ErrorCodes.getInstance(Context context)

ErrorCodes의 싱글톤 인스턴스를 반환합니다. 에러 메시지 리소스를 로드하기 위해 애플리케이션 컨텍스트가 필요합니다.

파라미터
context애플리케이션 컨텍스트
  • 반환값: ErrorCodes 인스턴스

Property Details

속성에러 코드설명
ERROR_OK0정상 처리 완료
ERROR_UNDEFINED_CODE-1000알 수 없는 시스템 오류
MEDIA_ERROR_IO-1004파일 또는 네트워크 입출력(I/O) 오류
MEDIA_ERROR_MALFORMED-1007미디어 스트림 규격 불일치
ERROR_UNSUPPORTED-1010미지원 콘텐츠 형식
ERROR_UNSUPPORTED_DEVICE-1015미지원 디바이스
ERROR_CODEC_INIT-1102코덱 초기화 실패
ERROR_CODEC_DECODE-1103디코딩 실패
ERROR_CHECK_SETTING_NOT_SW_CODEC-1104소프트웨어 코덱 설정 미준수
ERROR_SERVER_BLACK_OUT-1105라이브 방송 중 네트워크 연결 오류
ERROR_ALREADY_DOWNLOADED-1631이미 다운로드가 완료된 콘텐츠
ERROR_TMCM_INIT-2001보안 모듈(Teruten) 초기화 오류
ERROR_TMCM_ROOTING-2002운영체제 권한 변조(루팅) 감지
ERROR_TMCM_EMURATOR-2003보안 모듈 내 가상 환경 실행 감지
ERROR_EMURATOR-2004에뮬레이터 환경 실행 감지
ERROR_EMURATOR_VIA_DEVICE-2005디바이스를 통한 우회 에뮬레이터 실행 감지
ERROR_UNKNOWN_MULTI_DRM-2100Multi DRM 처리 중 알 수 없는 오류 발생
ERROR_INCORRECT_PACKAGE_NAME-2103KollusStrage 초기화 시 유효하지 않은 애플리케이션 패키지 명칭 제공
ERROR_EXPIRED_AUTH_DATE-2104KollusStrage 초기화 시 SDK 사용 기한 만료
ERROR_INCORRECT_AUTH_DATE-2105KollusStrage 초기화 시 SDK 사용 기한 입력 포맷 규격 불일치
ERROR_INCORRECT_AUTH_KEY-2106KollusStrage 초기화 시 유효하지 않은 SDK 인증 키 사용
ERROR_NOT_ENOUGH_AUTH_INFO-2107KollusStrage 초기화 시 필수 인증 정보 누락
ERROR_LIVE_NOT_BROADCASTING-3012라이브 방송이 송출 중이 아님
ERROR_DUPLICATION_BLOCK_OR_EXPIRED_TIME_MEDIA_KEY-3013중복 재생 차단 또는 미디어 키 시간 만료
ERROR_INVALID_MEDIA_CONTENT_KEY-4001유효하지 않은 미디어 콘텐츠 키
ERROR_INVALID_SECURITY_KEY-4002유효하지 않은 보안 키
ERROR_INVALID_CHANNEL_KEY-4003유효하지 않은 채널 식별 키
ERROR_INVALID_USER_KEY-4004유효하지 않은 사용자 식별 키
ERROR_INVALID_TRANSCODING_FILE_PATH-4005트랜스코딩 파일 경로 지정 오류
ERROR_INVALID_ALIAS_KEY-4006유효하지 않은 별칭(Alias) 키
ERROR_INVALID_JWT-4007유효하지 않은 JWT 토큰 형식
ERROR_INVALID_MEDIA_TOKEN-4008유효하지 않은 미디어 인증 토큰
ERROR_NO_TRANSCODING_FILE-4011요청한 트랜스코딩 파일 부재
ERROR_NO_MEDIA_CONTENT-4012해당 미디어 콘텐츠 데이터 부재
ERROR_NO_CONTENT_OWNER-4013콘텐츠 소유자 정보 확인 불가
ERROR_NO_CONTENT_DISTRIBUTOR-4014콘텐츠 배급처 정보 확인 불가
ERROR_NO_CHANNEL-4015요청한 채널 정보 부재
ERROR_NO_PAYMENT-4016결제 정보 확인 불가
ERROR_NO_DEFAULT_MAIN_SITE-4019기본 메인 사이트 설정 정보 부재
ERROR_NO_MAIN_MEDIA_CONTENT-4020메인 미디어 콘텐츠 부재
ERROR_UNAVAILABLE_TRANSCODING_FILE-4021사용 불가능한 트랜스코딩 파일 상태
ERROR_UNAVAILABLE_MEDIA_CONTENT-4022사용 불가능한 미디어 콘텐츠 상태
ERROR_UNAVAILABLE_CONTENT_OWNER-4023비활성화된 콘텐츠 소유자 계정
ERROR_UNAVAILABLE_CONTENT_DISTRIBUTOR-4024비활성화된 콘텐츠 배급처 계정
ERROR_UNAVAILABLE_CHANNEL-4025사용 불가능한 채널 상태
ERROR_UNAVAILABLE_CHANNEL_DISTRIBUTION-4026채널 배급 정책 위반 또는 중단
ERROR_NOT_ALLOWED_REFERER-4031허용되지 않은 도메인(Referer) 접근
ERROR_NOT_ALLOWED_ACCESS_FOR_BLOCKING_CAPTURE-4032캡처 차단 정책에 따른 접근 거부
ERROR_NOT_PUBLIC_SHARED_CHANNEL-4081비공개 공유 채널에 대한 접근 시도
ERROR_MISMATCH_USER_KEY-4082사용자 식별 키 불일치
ERROR_ACCESS_WITHOUT_MEDIA_CONTENT_KEY-4083미디어 콘텐츠 키 없이 접근 시도
ERROR_NOT_SUPPORT_DEVICE-4084미지원 디바이스
ERROR_TOKEN_EXPIRED-4085인증 토큰 유효 기간 만료
ERROR_NETWORK_CON_TIMEOUT-4105네트워크 Timeout
ERROR_MULTI_DRM_EXPIRED-7000Multi DRM 라이선스 유효 기간 만료
ERROR_MULTI_DRM_EXPIRED-7000Multi DRM 라이선스 유효 기간 만료
ERROR_INVALID_CRYPTO_KEY-7001유효하지 않은 암호화 키 사용
ERROR_WIDEVINE_NOT_SUPPORT-7109디바이스의 Widevine DRM 미지원
ERROR_STOAGE_MANAGER_BASE-8000스토리지 매니저에서 발생하는 모든 에러 코드의 기준이 되는 기본값
ERROR_CURLE_COULDNT_RESOLVE_HOST-8006호스트 이름 해석 실패 (DNS 오류)
ERROR_CURLE_COULDNT_CONNECT-8007서버 물리적 연결 수립 실패
ERROR_CURLE_PARTIAL_FILE-8018데이터 전송 중 일부 누락 (사이즈 불일치)
ERROR_CURLE_OPERATION_TIMEDOUT-8028네트워크 Timeout
ERROR_CURLE_RECV_ERROR-8056데이터 수신 중 오류 발생
ERROR_BAD_REQUEST-8400잘못된 요청 구문 (HTTP 400)
ERROR_UNAUTHORIZED_1-8401인증 권한 없음 (HTTP 401-1)
ERROR_UNAUTHORIZED_2-8402인증 권한 없음 (HTTP 401-2)
ERROR_FORBIDDEN-8403접근 금지 권한 (HTTP 403)
ERROR_NOT_EXIST_FILE-8404요청한 파일 리소스 부재 (HTTP 404)
ERROR_METHOD_NOT_ALLOWED-8405허용되지 않은 HTTP 메서드 요청 (HTTP 405)
ERROR_REQUEST_URL-8461요청 URL 분석 오류
ERROR_GET_USER_IP-8462사용자 유효 IP 정보 확인 실패
ERROR_ACCESS_DENIED_FOLDER-8463인증 필요 폴더에 대한 접근 거부
ERROR_DUPLICATION_BLOCK_PROCESS-8464중복 차단 프로세스 진행 중 오류 발생
ERROR_VERIFY_MEDIA_KEY-8465미디어 키 검증 오류
ERROR_REQEST_URL_BLOCK-8466보안 정책에 따른 요청 URL 차단
ERROR_MEDIA_KEY_TIME_EXPIRE-8467미디어 키 유효 시간 만료
ERROR_MEDIA_DOMAIN_VALIDATE-8468미디어 도메인 유효성 검증 오류
ERROR_HEAVY_REQUEST-8469과도한 요청(Heavy Request)에 따른 처리 거부
ERROR_PLYMENT-8470결제 관련 인증 오류(Payment Error) 발생
ERROR_GEO_RESTRICTION-8471서비스 미허용 국가 접속 차단
ERROR_PREVIEW_ERROR-8472프리뷰(Preview) 처리 오류
ERROR_USER_KEY-8473유효하지 않은 사용자 키(User Key) 정보
ERROR_CONTENT_NOT_PUBLIC_CHANNEL-8474해당 콘텐츠 채널이 비공개 상태임
ERROR_USED_MEDIA_KEY-8475이미 사용된 미디어 키 재사용 시도
ERROR_MAX_REQUEST_SIZE-8476인증 확인용 최대 요청 길이 초과
ERROR_DIFFERENT_ES_KEY-8477요청 키와 시스템 저장 키의 불일치
ERROR_ACCESS_DENIED_MEMCACHE_SERVER-8478로컬 멤캐시 서버 접속 오류로 인한 키 설정 불가
ERROR_DUPLICATION_BLOCK_MEDIA_KEY-8479중복 차단 정책에 의해 거부된 미디어 키
ERROR_NOT_NORMAL_REQUEST_VIDEO_GATEWAY-8480VideoGateway를 통하지 않은 비정상적 요청
ERROR_INTERNAL_SERVER-8500서버 내부 로직 처리 오류 (HTTP 500)
ERROR_NOT_IMPLEMENTED-8501구현되지 않은 서비스 요청 (HTTP 501)
ERROR_BAD_GATEWAY-8502게이트웨이 및 서버 과부하 상태 (HTTP 502)
ERROR_SERVICE_UNAVAILABLE-8503서비스 일시 중단 상태 (HTTP 503)
ERROR_GATEWAY_TIMEOUT-8504서버 응답 시간 초과 (HTTP 504)
ERROR_HTTP_VERSION_NOT_SUPPORTED-8505미지원 HTTP 프로토콜 버전
ERROR_CREATE_DIRECTORY-8600디렉터리 생성 실패
ERROR_CREATE_FILE-8601파일 생성 실패
ERROR_SAVE_DATA-8602데이터 저장 실패
ERROR_OPEN_DB-8603DB 파일 열기 실패
ERROR_CREATE_TABLE-8604DB 테이블 생성 실패
ERROR_SELECT_TABLE-8605DB 테이블 조회 쿼리 실행 실패
ERROR_DELETE_RECORD-8606DB 레코드 삭제 실패
ERROR_INSERT_RECORD-8607DB 레코드 추가 실패
ERROR_OPEN_FILE-8608파일 열기 실패
ERROR_OUT_OF_MEMORY-8609시스템 메모리 할당 실패
ERROR_READ_FILE-8610파일 읽기 동작 실패
ERROR_WRITE_FILE-8611파일 쓰기 동작 실패
ERROR_PARAM_VALUE-8613입력 파라미터 규격 불일치
ERROR_NOT_LOAD-8614콘텐츠 로드 상태 확인 실패
ERROR_CANCEL_DOWNLOAD-8615콘텐츠 다운로드 취소
ERROR_GET_CONTENTS_LENGTH-8617콘텐츠 길이 정보 획득 실패
ERROR_GET_ENCODE_LEVEL-8618콘텐츠 인코딩 레벨 정보 획득 실패
ERROR_GET_MEDIA_URL-8619스트리밍 미디어 URL 획득 실패
ERROR_NOT_FOUND_DATA-8620요청한 내부 데이터 블록 탐색 실패
ERROR_NOT_FOUND_ID-8621일치하는 콘텐츠 식별자(ID) 탐색 실패
ERROR_DECODE_HEADER-8622암호화된 응답 헤더의 복호화 실패
ERROR_STORAGE_FULL-8623디바이스 저장 공간 부족
ERROR_UPDATE_RECORD-8624DB 레코드 갱신 실패
ERROR_NOT_FOUND_SNAPSHOT_FILENAME-8626스냅샷 파일명 탐색 실패
ERROR_NOT_FOUND_THUMBNAIL_FILENAME-8627섬네일 파일명 탐색 실패
ERROR_NOT_FOUND_RECORD-8628DB 내 대상 레코드 부재
ERROR_NOT_DOWNLOAD_COMPLETE_ALL-8629콘텐츠 다운로드 미완료 상태에서 접근
ERROR_NOT_DOWNLOAD_TYPE-8630다운로드 불가능한 유형의 콘텐츠 요청
ERROR_ALREADY_DOWNLOADING-8631이미 다운로드가 활성화된 상태
ERROR_DECRYPT_CONTENT_INFO_LINK-8632콘텐츠 정보 링크 복호화 실패
ERROR_PARSE_CONTENT_INFO_LINK-8633콘텐츠 정보 링크 JSON 파싱 실패
ERROR_DECRYPT_COMPANY_AUTH_INFO-8634업체 인증 정보 복호화 실패
ERROR_PARSE_COMPANY_AUTH_INFO-8635업체 인증 정보 JSON 파싱 실패
ERROR_NOT_VAILD_COMPANY_AUTH_INFO-8636업체 인증 정보 규격 유효성 검증 실패
ERROR_NO_USE_CONTENT_URL-8637사용 불가능한 콘텐츠 URL 요청
ERROR_NOT_EXIST_DOWNLOADED_CONTENTS-8638로컬 내 다운로드된 콘텐츠 부재
ERROR_EXPIRATION_DATE-8643콘텐츠 재생 유효 기한 만료
ERROR_EXPIRATION_COUNT-8644콘텐츠 최대 재생 허용 횟수 초과
ERROR_REQUEST_CONTENT_URL-8645이어받기용 콘텐츠 URL 요청 오류
ERROR_NOT_VAILD_CONTENTS_INFO-8646콘텐츠 메타데이터 정보 손상
ERROR_CREATE_NO_MEDIA_FILE-8647갤러리 노출 방지 파일(.nomedia) 생성 실패
ERROR_DECRYPT-8649암호화 문자열 복호화 실패
ERROR_NOT_ALLOW_DOWNLOAD-8650해당 경로에 대한 다운로드 권한 부재
ERROR_EMPTY_COMPANY_AUTH_INFO-8651인증 서버로부터 AUTH 정보 수신 실패
ERROR_EMPTY_CONTENT_INFO-8652콘텐츠 데이터 수신 실패
ERROR_NOT_FOUND_DOMAIN-8653요청 도메인과 엣지 서버 도메인 불일치
ERROR_NOT_RECEIVE_DOMAIN-8654서버로부터 도메인 목록 수신 실패
ERROR_ABNORMAL_DRM_INFO-8655DRM 정보 요청에 대한 비정상 응답 수신
ERROR_ABNORMAL_DRM_COMPLETE-8656DRM 처리 완료 응답 수신 실패
ERROR_ABNORMAL_DRM_PLAY-8657DRM 재생 승인 처리 실패
ERROR_FORCE_EXPIRED-8658DRM 다운로드 콜백 호출(kind3) 이후 서버 정책에 의한 강제 만료 처리
ERROR_NOT_RECEIVE_ENC_DATA-8659암호화 데이터(XHTTP_ENC_DATA) 수신 실패
ERROR_NOT_FOUND_MOBILE_LOGO_FILENAME-8660로고 파일 경로 내 파일명 탐색 실패
ERROR_CANNOT_CALL_API-8661내부 객체 종료로 인한 API 호출 불가 상태
ERROR_NOT_FOUND_THUMBNAIL_URL-8662미디어 정보 내 섬네일 URL 부재
ERROR_ALTER_TABLE-8663DB 테이블 구조 변경 실패
ERROR_DIFFERENT_TIME-8664디바이스와 서버 간의 시간 동기화 오류
ERROR_EMPTY_POSTER_UPLOAD_FILE_INFO-8665포스터 업로드 응답 데이터 부재
ERROR_PARSE_POSTER_UPLOAD_FILE_INFO-8666포스터 업로드 응답 데이터 파싱 실패
ERROR_NOT_FOUND_POSTER_URL-8667미디어 정보 내 포스터 URL 부재
ERROR_GET_MEDIA_ID-8668서버로부터 미디어 ID 획득 실패
ERROR_NOT_FOUND_SUBTITLE_FILENAME-8669자막 URL 내 파일명 탐색 실패
ERROR_EMPTY_PLAY_CALLBACK_INFO-8670플레이 콜백 응답 데이터 부재
ERROR_DECRYPT_PLAY_CALLBACK_INFO-8671플레이 콜백 데이터 복호화 실패
ERROR_PARSE_PLAY_CALLBACK_INFO-8672플레이 콜백 데이터 JSON 파싱 실패
ERROR_ABNORMAL_PLAY_CALLBACK_INFO-8673플레이 콜백 결과 에러 수신 (kind1)
ERROR_PLAY_CALLBACK_EXPIRED-8674플레이 콜백(kind3) 응답에 의한 강제 재생 만료
ERROR_ABNORMAL_PLAY_CALLBACK_INFO_PLAY-8675플레이 콜백(kind3) 결과 에러 수신
ERROR_ABNORMAL_UPLOAD_POSTER_INFO-8676서버 측 포스터 업로드 처리 실패
ERROR_GET_CONTENT_TYPE-8677엣지 서버로부터 Content-Type 획득 실패
ERROR_GET_CONTENT_LAST_MODIFIED-8678엣지 서버로부터 수정 일자 정보 획득 실패
ERROR_ENCRYPT_KEY-8679암호화 키 생성 실패
ERROR_FORCE_DELETE-8680DRM 다운로드 콜백 서버 정책에 의한 로컬 콘텐츠 강제 삭제 요청
ERROR_DIFFERENT_EXPIRE_RESET-8681DRM 다운로드 콜백 콜백 세션 불일치로 인한 만료 정보 갱신 실패
ERROR_NOT_FOUND_DRM_KIND-8682DRM 유형 식별 정보 부재
ERROR_EXPIRATION_PLAY_TIME-8683허용된 누적 재생 시간 초과
ERROR_PLAY_CALLBACK_EXPIRATION_PLAY_TIME-8686플레이 콜백 정책에 따른 재생 시간 만료
ERROR_CHECK_EXPIRATION_DATE-8687재생 시점 기준 다운로드 콘텐츠의 유효 기간 만료
ERROR_NOT_FOUND_COMMON_INFO-8800재생 목록 내 공통 메타데이터 탐색 실패
ERROR_NOT_FOUND_ITEM_IN_PLAYLIST-8801재생 목록 내 대상 콘텐츠 부재
ERROR_EMPTY_PLAYLIST_INFO-8802재생 목록 데이터 수신 실패
ERROR_INTRO_CANNOT_DOWNLOAD-8803인트로 영상에 대한 다운로드 시도 거부
INFO_NETWORK_TIMEOUT-8899네트워크 Timeout 발생 시 재시도용 내부 정보
ERROR_VIDEO_GATEWAY_ABNORMAL_RESPONSE-8900VideoGateway의 비정상적 상태 응답 수신

EXTERNAL_DISPLAY_MODE Enum

com.kollus.sdk.media.MediaPlayer.EXTERNAL_DISPLAY_MODE

외부 디스플레이 장치의 연결 방식 및 출력 상태를 정의하는 열거형 클래스입니다.

Public Properties

  • EXTERNAL_HDMI_DISPLAY
  • EXTERNAL_WIFI_DISPLAY

Property Details

속성설명
EXTERNAL_HDMI_DISPLAYHDMI 케이블을 통한 유선 외부 디스플레이 연결 또는 해제 상태
EXTERNAL_WIFI_DISPLAY무선 네트워크를 통한 디스플레이 연결 또는 해제 상태

ForensicWatermarkView Class

com.kollus.sdk.media.ForensicWatermarkView

콘텐츠 불법 유출 방지 및 추적을 위한 포렌식 워터마크(Forensic Watermark)를 영상 화면 위에 렌더링하는 전용 뷰 클래스입니다. 해당 뷰는 영상 재생 화면의 최상위 ViewGroup에 추가되어야 정상적으로 동작합니다.

Public Methods

  • ForensicWatermarkView(Context context, KollusStorage storage, String key, String expireDate, boolean isDownload)
  • void setStrength(int alpha)

Protected Methods

  • void onLayout(boolean changed, int l, int t, int r, int b)
  • int start(long message)
  • void stop()

Constructors & Destructors

com.kollus.sdk.media.ForensicWatermarkView.ForensicWatermarkView(Context context, KollusStorage storage, String key, String expireDate, boolean isDownload)

포렌식 워터마크 표시를 위한 뷰 객체를 생성합니다.

파라미터타입설명
contextContext애플리케이션 컨텍스트
storageKollusStorage라이선스 및 데이터 관리를 위한 KollusStorage 인스턴스
keyString서비스 서버로부터 발급받은 워터마크 인증 키
expireDateString인증 키의 유효 기한
isDownloadboolean다운로드된 로컬 콘텐츠 여부

Method Details

void com.kollus.sdk.media.ForensicWatermarkView.setStrength(int alpha)

포렌식 강도를 지정하는 함수입니다. UI에 addView전에 설정해야 반영이 됩니다.

파라미터타입설명
alphaint워터마크 투명도 값
  • 범위: 0~255
  • 기본값: 2
  • 값이 너무 낮으면 워터마크 검출이 불가능할 수 있으며, 너무 높으면 시인성이 높아져 시청에 방해가 될 수 있습니다.

KollusBookmark Class

com.kollus.sdk.media.content.KollusBookmark

영상 콘텐츠의 특정 재생 시점에 대한 정보(시간, 제목, 이미지 등)를 저장하고 관리하는 클래스입니다. 시청자가 직접 추가하거나 고객사 측에서 사전 설정한 북마크 데이터를 취급합니다.

Public Methods

  • KollusBookmark()
  • int describeContents()
  • String getLabel()
  • int getLevel()
  • Bitmap getThumbnail()
  • int getTime()
  • String getTitle()
  • void setLabel(String label)
  • void setLevel(int level)
  • void setThumbnail(Bitmap bm)
  • void setTime(int time)
  • void setTitle(String title)
  • void writeToParcel(Parcel dest, int flags)

Static Public Methods

  • static ArrayList<KollusBookmark> getBookmarkInfo(String jsonString)

Static Public Properties

  • static final int NO_LEVEL = -1
  • static final int USER_LEVEL = 0
  • static final int PROVIDER_LEVEL = 1
  • static final int MAX_BOOKMARK = 1000

Constructors & Destructors

com.kollus.sdk.media.content.KollusBookmark.KollusBookmark()

Internal SDK Only  북마크 객체를 생성합니다.

Method Details

static ArrayList<KollusBookmark> com.kollus.sdk.media.content.KollusBookmark.getBookmarkInfo(String jsonString)

Internal SDK Only  JSON 형식의 문자열 데이터를 파싱하여 KollusBookmark 객체 리스트로 변환합니다.

파라미터타입설명
jsonStringStringJSON 형식의 북마크 데이터 문자열
  • 반환값: 북마크 리스트
String com.kollus.sdk.media.content.KollusBookmark.getLabel()

북마크 레이블을 조회합니다.

  • 반환값: 북마크 레이블
int com.kollus.sdk.media.content.KollusBookmark.getLevel()

북마크의 생성 주체(레벨)를 확인합니다.

  • 반환값: 북마크 레벨 (USER_LEVEL, PROVIDER_LEVEL)
Bitmap com.kollus.sdk.media.content.KollusBookmark.getThumbnail()

북마크 설정 지점의 영상 화면을 캡처한 섬네일 이미지를 조회합니다.

  • 반환값: 북마크 섬네일 비트맵
int com.kollus.sdk.media.content.KollusBookmark.getTime()

북마크가 설정된 시점을 확인합니다.

  • 반환값: 북마크 설정 시점 (s)
String com.kollus.sdk.media.content.KollusBookmark.getTitle()

북마크의 명칭(제목)을 조회합니다.

  • 반환값: 북마크 식별 명칭
void com.kollus.sdk.media.content.KollusBookmark.setLabel(String label)

북마크 레이블을 설정합니다.

파라미터타입설명
labelString북마크 레이블
void com.kollus.sdk.media.content.KollusBookmark.setLevel(int level)

북마크의 생성 주체(레벨)를 설정합니다.

파라미터타입설명
levelint설정할 북마크 레벨 값
void com.kollus.sdk.media.content.KollusBookmark.setThumbnail(Bitmap bm)

북마크 지점에 표시할 섬네일 이미지를 설정합니다.

파라미터타입설명
bmBitmap설정할 섬네일 비트맵 이미지
void com.kollus.sdk.media.content.KollusBookmark.setTime(int time)

북마크를 저장할 재생 시점 정보를 설정합니다.

파라미터타입설명
timeint북마크를 설정할 재생 시점 (s)
void com.kollus.sdk.media.content.KollusBookmark.setTitle(String title)

북마크의 명칭(제목)을 설정합니다.

파라미터타입설명
titleString북마크 식별 명칭

Property Details

속성설명
MAX_BOOKMARK1000단일 콘텐츠당 등록 가능한 최대 북마크 개수
PROVIDER_LEVEL1고객사가 사전에 설정한 북마크 레벨
USER_LEVEL0시청자가 직접 추가한 북마크 레벨
NO_LEVEL-1레벨 정보가 지정되지 않은 상태

KollusContent Class

com.kollus.sdk.media.content.KollusContent

콘텐츠의 메타데이터, 보안 설정, 자막 및 챕터 정보 등 재생에 필요한 모든 세부 정보를 통합적으로 관리하는 클래스입니다.

Classes & Enums

  • class ChapterInfo
  • class ChattingInfo
  • enum ContentType
  • class SubtitleInfo

Public Methods

list
  • KollusContent()
  • KollusContent(Parcel in)
  • void copy(KollusContent content)
  • String getAiScriptPath()
  • int getBitrate()
  • String getCaptionStyle()
  • List<ChapterInfo> getChapterInfos()
  • ChattingInfo getChattingInfo()
  • Deprecated  String getCompany()
  • String getContentProvierKey()
  • String getContentProvierName()
  • ContentType getContentType()
  • Deprecated  String getCourse()
  • String getDefaultChapterLanguage()
  • String getDetailInfoUrl()
  • boolean getDisablePlayRate()
  • boolean getDisableTvOut()
  • boolean getDownloadError()
  • int getDownloadPercent()
  • int getDuration()
  • String getErrorAdditionalInfo()
  • String getErrorReportUrl()
  • int getExpirationCount()
  • int getExpirationDate()
  • int getExpirationPlaytime()
  • boolean getExpirationRefreshPopup()
  • long getFileSize()
  • boolean getForceNScreen()
  • String getForensicWaterMark()
  • String getLicenseKey()
  • String getLicenseToken()
  • String getLicenseUrl()
  • String getLocalMediaUrl()
  • int getMaxPlaybackRate()
  • String getMediaContentKey()
  • String getMediaContentKeyMD5()
  • String getMediaUrl()
  • boolean getMute()
  • String getNextEpisodeCallbackData()
  • String getNextEpisodeCallbackUrl()
  • int getNextEpisodeShowTime()
  • String getOriginThumbnailPath()
  • int getPlaySectionEnd()
  • int getPlaySectionStart()
  • int getPlaytime()
  • long getReceivedSize()
  • long getReceivingSize()
  • int getRepeatPlaySectionEnd()
  • int getRepeatPlaySectionStart()
  • String getScreenShotPath()
  • boolean getSeekable()
  • int getSeekableEnd()
  • String getServiceProviderMessage()
  • String getSkinString()
  • int getSkipSec()
  • int getStartAt()
  • String getSubCourse()
  • Vector<SubtitleInfo> getSubtitleInfo()
  • Vector<SubtitleInfo> getSubtitleSubInfo()
  • Deprecated  String getSynopsis()
  • Deprecated  String getTeacher()
  • String getThumbnailPath()
  • int getTotalExpirationCount()
  • int getTotalExpirationPlaytime()
  • String getUalErrorReportUrl()
  • String getUploadFileKey()
  • int getUriIndex()
  • int getVideoHeight()
  • int getVideoWaterMarkAlpha()
  • String getVideoWaterMarkCode()
  • int getVideoWaterMarkFontColor()
  • int getVideoWaterMarkFontSize()
  • int getVideoWaterMarkHideTime()
  • int getVideoWaterMarkShowTime()
  • int getVideoWaterMarkSpace()
  • int getVideoWidth()
  • boolean hasAudioWaterMark()
  • boolean hasForensicWaterMark()
  • boolean isAudioFile()
  • boolean isCompleted()
  • boolean isContentExpirated()
  • boolean isDisableBackgroundAudio()
  • boolean isDownloadCanceled()
  • boolean isDownloading()
  • boolean isDrm()
  • boolean isIgnoreZero()
  • boolean isIntro()
  • boolean IsInvalidFileSize()
  • boolean isLive()
  • boolean isLoaded()
  • boolean isNextEpisodeShowButton()
  • Deprecated  boolean isSection()
  • boolean isThumbnailDownloadSync()
  • boolean isThumbnailEnable()
  • boolean isVideoWaterMarkRandom()
  • boolean isVmCheck()
  • boolean isVr()
  • void setByJson(String jsonString)
  • void setContentExpired(boolean expired)
  • void setContentType(ContentType type)
  • void setDownloadCanceled()
  • void setDownloadCompleted(boolean complete)
  • void setDownloadError(boolean bError)
  • void setDownloading(boolean downloading)
  • void setDownloadPercent(int percent)
  • void setFileSize(long fileSize)
  • void setForDownload(Parcel in)
  • void setForPlay(Parcel in)
  • void setLoaded(boolean bLoaded)
  • void setLocalMediaUrl(String mediaUrl)
  • void setMediaContentKey(String key)
  • void setPlaytime(int playtime)
  • void setReceivedSize(long receiveSize)
  • void setReceivingSize(long receiveSize)
  • void setServiceProviderMessage(String message)
  • void setUriIndex(int index)
  • String toString()
  • boolean useBlockEmulator()

Static Public Properties

  • static final Parcelable.Creator<KollusContent> CREATOR

Protected Properties

  • boolean mInvalidFileSize

Constructors & Destructors

com.kollus.sdk.media.content.KollusContent.KollusContent()

콘텐츠 객체를 생성합니다.

com.kollus.sdk.media.content.KollusContent.KollusContent(Parcel in)

Internal SDK Only  Parcel 객체로부터 콘텐츠 정보를 복원합니다.

파라미터타입설명
inParcel콘텐츠 정보

Method Details

void com.kollus.sdk.media.content.KollusContent.copy(KollusContent content)

현재 객체의 정보를 인자로 전달된 대상 객체에 복사합니다.

파라미터타입설명
contentKollusContent콘텐츠 정보를 복사할 KollusContent 객체
String com.kollus.sdk.media.content.KollusContent.getActionStatsSecretKey()

사용자 활동 이력을 전송할 때 사용하는 암호화 키를 조회합니다.

  • 반환값: 암호화 키
String com.kollus.sdk.media.content.KollusContent.getActionStatsUrl()

사용자 활동 이력 데이터를 전송할 서버 주소를 조회합니다.

  • 반환값: 통계 수집 서버 주소
String com.kollus.sdk.media.content.KollusContent.getAiScriptPath()

AI배속 파일의 경로를 조회합니다. 이 경로가 빈 문자열이 아니면 AI배속 기능을 지원하는 콘텐츠입니다.

  • 반환값: AI배속 파일 저장 경로
int com.kollus.sdk.media.content.KollusContent.getBitrate()

다운로드된 콘텐츠의 전송률(비트레이트) 정보를 조회합니다.

  • 반환값: 콘텐츠 비트레이트 값
String com.kollus.sdk.media.content.KollusContent.getCaptionStyle()

콘텐츠에 설정된 자막 스타일 정보를 조회합니다.

  • 반환값: 자막 스타일 설정 데이터
String com.kollus.sdk.media.content.KollusContent.getCencSiteId()

Multi DRM 연동을 위한 사이트 식별자(Site ID)를 조회합니다.

  • 반환값: DRM 서비스 Site ID
String com.kollus.sdk.media.content.KollusContent.getChannelKey()

콘텐츠가 소속된 채널의 고유 식별 키를 조회합니다.

  • 반환값: 채널 키
List<ChapterInfo> com.kollus.sdk.media.content.KollusContent.getChapterInfos()

콘텐츠의 챕터 상세 정보 목록을 조회합니다.

  • 반환값: 챕터 정보 리스트
ChattingInfo com.kollus.sdk.media.content.KollusContent.getChattingInfo()

채팅 서비스 설정에 필요한 인스턴스 정보를 조회합니다.

  • 반환값: 채팅 설정 정보
String com.kollus.sdk.media.content.KollusContent.getCompany()
Deprecated
  • 반환값: 업체 이름
String com.kollus.sdk.media.content.KollusContent.getContentProvierKey()

Internal SDK Only  콘텐츠 제공자(CP)의 식별 키를 조회합니다.

  • 반환값: 콘텐츠 제공자 키
String com.kollus.sdk.media.content.KollusContent.getContentProvierName()

Internal SDK Only  콘텐츠 제공자(CP)의 명칭을 조회합니다.

  • 반환값: 콘텐츠 제공자 이름
ContentType com.kollus.sdk.media.content.KollusContent.getContentType()

콘텐츠의 데이터 타입(DRM 종류 등)을 조회합니다.

  • 반환값: 콘텐츠 타입 (ContentType 값)
String com.kollus.sdk.media.content.KollusContent.getCourse()
Deprecated
  • 반환값: 카테고리 정보
String com.kollus.sdk.media.content.KollusContent.getDefaultChapterLanguage()

콘텐츠에 설정된 기본 챕터 언어 코드를 조회합니다.

  • 반환값: 언어 코드
String com.kollus.sdk.media.content.KollusContent.getDetailInfoUrl()

다운로드 콘텐츠의 상세 정보 페이지 URL을 조회합니다.

  • 반환값: 상세 정보 URL 주소
boolean com.kollus.sdk.media.content.KollusContent.getDisablePlayRate()

해당 콘텐츠의 배속 조절 기능 제한 여부를 조회합니다.

  • 반환값
    • true: 배속 조절 불가
    • false: 배속 조절 가능
boolean com.kollus.sdk.media.content.KollusContent.getDisableTvOut()

외부 디스플레이 출력(TV-Out, HDMI 등) 차단 설정 여부를 조회합니다.

  • 반환값
    • true: 차단
    • false: 미차단
boolean com.kollus.sdk.media.content.KollusContent.getDownloadError()

콘텐츠 다운로드 진행 중 에러 발생 여부를 확인합니다.

  • 반환값: 에러 발생 여부
int com.kollus.sdk.media.content.KollusContent.getDownloadPercent()

현재 콘텐츠의 다운로드 진행률을 조회합니다.

  • 반환값: 다운로드 진행률 (%)
int com.kollus.sdk.media.content.KollusContent.getDuration()

콘텐츠의 전체 길이를 조회합니다.

  • 반환값: 콘텐츠 전체 길이 (ms)
String com.kollus.sdk.media.content.KollusContent.getErrorAdditionalInfo()

Internal SDK Only  에러 발생 시 수집 서버로 전송할 추가 데이터를 조회합니다.

  • 반환값: 추가 데이터
String com.kollus.sdk.media.content.KollusContent.getErrorReportUrl()

Internal SDK Only  에러 발생 시 로그를 전송할 수집 서버의 주소를 조회합니다.

  • 반환값: 에러 서버 주소
int com.kollus.sdk.media.content.KollusContent.getExpirationCount()

다운로드 콘텐츠에 대해 남은 재생 가능 횟수를 조회합니다.

  • 반환값: 남은 재생 가능 횟수
int com.kollus.sdk.media.content.KollusContent.getExpirationDate()

다운로드 콘텐츠의 재생 만료 시점을 조회합니다.

  • 반환값: 재생 만료 시간 데이터
int com.kollus.sdk.media.content.KollusContent.getExpirationPlaytime()

다운로드 콘텐츠에 대해 남은 재생 가능 시간을 조회합니다.

  • 반환값: 재생 가능 잔여 시간 (s)
boolean com.kollus.sdk.media.content.KollusContent.getExpirationRefreshPopup()

만료된 콘텐츠 갱신 시 사용자 알림 팝업 노출 여부를 조회합니다.

  • 반환값: 팝업창 노출 여부
long com.kollus.sdk.media.content.KollusContent.getFileSize()

다운로드가 완료된 로컬 콘텐츠 파일의 크기를 조회합니다.

  • 반환값: 파일 용량
boolean com.kollus.sdk.media.content.KollusContent.getForceNScreen()

이어보기 안내 팝업창을 강제로 노출할지 여부를 조회합니다.

  • 반환값: 팝업창 노출 여부
String com.kollus.sdk.media.content.KollusContent.getForensicWaterMark()

콘텐츠에 적용된 포렌식 워터마크 정보를 조회합니다.

  • 반환값: 포렌식 워터마크 데이터
String com.kollus.sdk.media.content.KollusContent.getLicenseKey()

Multi DRM 라이선스 검증에 사용되는 키 값을 조회합니다.

  • 반환값: 라이선스 키
String com.kollus.sdk.media.content.KollusContent.getLicenseToken()

Multi DRM 라이선스 발급에 필요한 인증 토큰을 조회합니다.

  • 반환값: 라이선스 토큰
String com.kollus.sdk.media.content.KollusContent.getLicenseUrl()

Multi DRM 라이선스를 요청할 서버의 URL 주소를 조회합니다.

  • 반환값: 라이선스 URL
String com.kollus.sdk.media.content.KollusContent.getLocalMediaUrl()

로컬 스토리지에 저장된 콘텐츠의 실제 파일 경로 또는 원본 주소를 조회합니다.

  • 반환값: 콘텐츠 로컬 주소
int com.kollus.sdk.media.content.KollusContent.getMaxPlaybackRate()

해당 콘텐츠에서 허용하는 최대 재생 배속 값을 조회합니다.

  • 반환값: 최대 배속 값
String com.kollus.sdk.media.content.KollusContent.getMediaContentKey()

콘텐츠의 고유 식별자인 미디어 콘텐츠 키를 조회합니다.

  • 반환값: 미디어 콘텐츠 키
String com.kollus.sdk.media.content.KollusContent.getMediaContentKeyMD5()

미디어 콘텐츠 키의 무결성 검증을 위한 MD5 체크섬 값을 조회합니다.

  • 반환값: 미디어 콘텐츠 키의 MD5 체크섬
String com.kollus.sdk.media.content.KollusContent.getMediaUrl()

콘텐츠의 실제 재생 주소 또는 파일 경로를 조회합니다.

  • 반환값: 콘텐츠 경로
boolean com.kollus.sdk.media.content.KollusContent.getMute()

현재 콘텐츠의 음소거 설정 여부를 조회합니다.

  • 반환값
    • true: 음소거 상태
    • false: 음소거 해제 상태
String com.kollus.sdk.media.content.KollusContent.getNextEpisodeCallbackData()

다음 회차 콜백 URL 호출 시 함께 전송할 POST 데이터를 조회합니다.

  • 반환값: POST 데이터 문자열
String com.kollus.sdk.media.content.KollusContent.getNextEpisodeCallbackUrl()

다음 회차 정보를 확인하기 위한 콜백 URL 주소를 조회합니다.

  • 반환값: 다음 회차 콜백 URL
int com.kollus.sdk.media.content.KollusContent.getNextEpisodeShowTime()

다음 회차가 존재할 때, 화면에 이동 버튼(UI)을 표시할 시점을 조회합니다.

  • 반환값: 버튼 노출 시점 (s)
String com.kollus.sdk.media.content.KollusContent.getOriginThumbnailPath()

콘텐츠에 기본으로 설정된 원본 대표 이미지(섬네일)의 경로를 조회합니다.

  • 반환값: 원본 섬네일 경로
int com.kollus.sdk.media.content.KollusContent.getPlaybackLimitDuration()

특정 UTC 시간까지 재생하기 위해 설정된 제한 시간 정보입니다. 플레이 콜백을 통해 설정됩니다.

  • 반환값: 재생 가능 잔여 시간 (s)
String com.kollus.sdk.media.content.KollusContent.getPlaybackLimitMessage()

재생 제한 시간(UTC 기준)이 만료되었을 때 사용자에게 표시할 에러 메시지를 조회합니다.

  • 반환값: 에러 메시지
String com.kollus.sdk.media.content.KollusContent.getPlaybackUrl()

Internal SDK Only  QOE(Quality of Experience) 재생 분석 정보를 전송할 URL을 조회합니다.

  • 반환값: 재생 정보 분석 URL
int com.kollus.sdk.media.content.KollusContent.getPlaySectionEnd()

지정된 재생 구간의 종료 시점을 조회합니다.

  • 반환값: 재생 구간 종료 시각 (ms)
int com.kollus.sdk.media.content.KollusContent.getPlaySectionStart()

지정된 재생 구간의 시작 시점을 조회합니다.

  • 반환값: 재생 구간 시작 시각 (ms)
int com.kollus.sdk.media.content.KollusContent.getPlaytime()

다운로드 콘텐츠의 마지막 재생 위치(이어보기 지점)를 조회합니다.

  • 반환값: 마지막 재생 위치 (ms)
String com.kollus.sdk.media.content.KollusContent.getQoeNetworkUrl()

Internal SDK Only  QOE 네트워크 품질 정보를 전송할 서버 URL을 조회합니다.

  • 반환값: 네트워크 품질 분석 URL
String com.kollus.sdk.media.content.KollusContent.getQoeSecretKey()

Internal SDK Only  QOE 데이터 암호화에 사용하는 시크릿 키를 조회합니다.

  • 반환값: QOE 암호화 키
String com.kollus.sdk.media.content.KollusContent.getQoeSessionUrl()

Internal SDK Only  QOE 세션 유지 및 통계 정보를 전송할 URL을 조회합니다.

  • 반환값: 세션 분석 URL
long com.kollus.sdk.media.content.KollusContent.getReceivedSize()

서버로부터 수신 완료된 콘텐츠의 크기를 조회합니다. 현재 전송률과 비교하여 예상 완료 시간을 계산하는 데 사용됩니다.

  • 반환값: 수신 완료된 데이터 크기
long com.kollus.sdk.media.content.KollusContent.getReceivingSize()

현재까지 다운로드되어 물리적으로 저장된 콘텐츠의 파일 크기를 조회합니다.

  • 반환값: 현재 다운로드된 파일 용량
int com.kollus.sdk.media.content.KollusContent.getRepeatPlaySectionEnd()

구간 반복의 종료 시점을 조회합니다.

  • 반환값: 반복 재생 종료 시각 (ms)
int com.kollus.sdk.media.content.KollusContent.getRepeatPlaySectionStart()

구간 반복의 시작 시점을 조회합니다.

  • 반환값: 반복 재생 시작 시각 (ms)
String com.kollus.sdk.media.content.KollusContent.getScreenShotPath()

영상 탐색 시 미리보기로 보여주는 스냅샷 이미지의 경로 규칙을 조회합니다. 처음 3장은 데이터 보정용이며, 실제 유효 스냅샷은 최대 1,200개입니다. (영상 길이가 1,200초 이하면 초당 1장 생성)

  • 규칙: 패스.width.height.count.확장자
  • 반환값: 스냅샷 이미지 경로 규칙
boolean com.kollus.sdk.media.content.KollusContent.getSeekable()

콘텐츠의 타임라인 탐색(Seek) 가능 여부를 확인합니다.

  • 반환값
    • true: 탐색 가능
    • false: 탐색 불가
int com.kollus.sdk.media.content.KollusContent.getSeekableEnd()

탐색 가능으로 설정된 최대 시간 범위를 조회합니다. 전체 탐색이 불가능한 콘텐츠라도 이 반환값 범위 내에서는 탐색이 가능합니다.

  • 반환값: 탐색 가능 시간 범위 (s)
String com.kollus.sdk.media.content.KollusContent.getServiceProviderMessage()

DRM 인증 과정에서 서비스 제공자(Provider)가 전달한 메시지를 확인합니다. onDRMInfo 이벤트 발생 시 호출 가능합니다.

  • 반환값: 서비스 제공자 메시지
String com.kollus.sdk.media.content.KollusContent.getSkinString()

플레이어 UI 구성을 위한 스킨 데이터를 조회합니다.

  • 반환값: JSON 형식의 스킨 데이터
int com.kollus.sdk.media.content.KollusContent.getSkipSec()

콘텐츠 시작 시 탐색(Seek)을 제한할 시간 설정을 조회합니다. SDK가 자동으로 차단하지 않으므로, 반환된 초만큼 UI에서 탐색 버튼을 비활성화해야 합니다.

  • 반환값: 탐색이 제한된 시간 (s)
int com.kollus.sdk.media.content.KollusContent.getStartAt()

콘텐츠 재생을 위해 서버에 접속한 시점의 시간을 조회합니다.

  • 반환값: 접속 시점의 UTC 시간
String com.kollus.sdk.media.content.KollusContent.getSubCourse()

해당 콘텐츠의 보조 제목 또는 강의 제목을 조회합니다.

  • 반환값: 콘텐츠 제목
Vector<SubtitleInfo> com.kollus.sdk.media.content.KollusContent.getSubtitleInfo()

콘텐츠에 포함된 자막 정보 리스트를 조회합니다.

  • 반환값: 자막 상세 정보 리스트
Vector<SubtitleInfo> com.kollus.sdk.media.content.KollusContent.getSubtitleSubInfo()

콘텐츠에 포함된 서브 자막(추가 다국어 등) 정보 리스트를 조회합니다.

  • 반환값: 서브 자막 정보 리스트
String com.kollus.sdk.media.content.KollusContent.getSynopsis()
Deprecated
  • 반환값: 시놉시스 정보
String com.kollus.sdk.media.content.KollusContent.getTeacher()
Deprecated
  • 반환값: 강사 이름
String com.kollus.sdk.media.content.KollusContent.getThumbnailPath()

콘텐츠의 섬네일 이미지가 저장된 로컬 경로 또는 서버 주소를 조회합니다.

  • 반환값: 섬네일 주소
int com.kollus.sdk.media.content.KollusContent.getTotalExpirationCount()

다운로드 콘텐츠에 대해 최초로 부여된 총 재생 가능 횟수를 조회합니다.

  • 반환값: 재생 가능 횟수
int com.kollus.sdk.media.content.KollusContent.getTotalExpirationPlaytime()

다운로드 콘텐츠에 대해 최초로 부여된 총 재생 만료 시간을 조회합니다.

  • 반환값: 재생 만료 시간 (s)
String com.kollus.sdk.media.content.KollusContent.getUalErrorReportUrl()

Internal SDK Only  에러 발생 시 UAL(User Action Log) 형식으로 로그를 전송할 서버 주소를 조회합니다.

  • 반환값: UAL 에러 서버 주소
String com.kollus.sdk.media.content.KollusContent.getUploadFileKey()

서버로 파일을 업로드할 때 식별자로 사용하는 업로드 파일 키를 조회합니다.

  • 반환값: 업로드 파일 키
int com.kollus.sdk.media.content.KollusContent.getUriIndex()

재생 목록 또는 데이터베이스 내에서 해당 콘텐츠가 가진 고유 인덱스 번호를 조회합니다.

  • 반환값: 콘텐츠 인덱스
int com.kollus.sdk.media.content.KollusContent.getVideoHeight()

다운로드된 영상 콘텐츠의 세로 해상도(Height) 사이즈를 조회합니다.

  • 반환값: 영상 세로 사이즈 (px)
int com.kollus.sdk.media.content.KollusContent.getVideoWidth()

다운로드된 영상 콘텐츠의 가로 해상도(Width) 사이즈를 조회합니다.

  • 반환값: 영상 가로 사이즈 (px)
int com.kollus.sdk.media.content.KollusContent.getVideoWaterMarkAlpha()

영상 위에 표시되는 비디오 워터마크의 투명도(Alpha) 설정을 조회합니다.

  • 반환값: 워터마크 투명도 값
String com.kollus.sdk.media.content.KollusContent.getVideoWaterMarkCode()

영상에 표시될 비디오 워터마크의 텍스트를 조회합니다.

  • 반환값: 워터마크 텍스트
int com.kollus.sdk.media.content.KollusContent.getVideoWaterMarkFontColor()

비디오 워터마크 텍스트에 적용된 폰트 색상 값을 조회합니다.

  • 반환값: 워터마크 색상
int com.kollus.sdk.media.content.KollusContent.getVideoWaterMarkFontSize()

비디오 워터마크 텍스트의 크기를 조회합니다.

  • 반환값: 워터마크 텍스트 크기
int com.kollus.sdk.media.content.KollusContent.getVideoWaterMarkHideTime()

화면에서 비디오 워터마크를 숨기는 시간 간격을 조회합니다.

  • 반환값: 워터마크 숨김 시간 (s)
int com.kollus.sdk.media.content.KollusContent.getVideoWaterMarkShowTime()

화면에 비디오 워터마크를 노출하는 지속 시간을 조회합니다.

  • 반환값: 워터마크 노출 시간 (s)
int com.kollus.sdk.media.content.KollusContent.getVideoWaterMarkSpace()

비디오 워터마크가 표시될 화면상의 공간 분할 개수를 조회합니다.

  • 반환값: 화면 분할 개수
boolean com.kollus.sdk.media.content.KollusContent.hasForensicWaterMark()

해당 콘텐츠에 포렌식 워터마크(Forensic Watermark)가 적용되어 있는지 여부를 확인합니다.

  • 반환값:
    • true: 적용
    • false: 미적용
boolean com.kollus.sdk.media.content.KollusContent.isAudioFile()

해당 콘텐츠가 순수 오디오 파일인지 여부를 확인합니다.

  • 반환값
    • true: 오디오 전용 파일
    • false: 비디오 포함 파일
boolean com.kollus.sdk.media.content.KollusContent.isCompleted()

콘텐츠의 다운로드가 완료되었는지 여부를 확인합니다.

  • 반환값
    • true: 다운로드 완료
    • false: 미완료
boolean com.kollus.sdk.media.content.KollusContent.isContentExpirated()

다운로드된 콘텐츠의 재생 유효 기간이 만료되었는지 여부를 확인합니다.

  • 반환값
    • true: 재생 만료
    • false: 재생 가능
boolean com.kollus.sdk.media.content.KollusContent.isDisableBackgroundAudio()

사용자 설정과 관계없이 백그라운드 오디오 재생을 강제로 제한할지 여부를 조회합니다.

  • 반환값
    • true: 사용자 설정 무시 및 백그라운드 재생 불가
    • false: 사용자 설정에 따름
boolean com.kollus.sdk.media.content.KollusContent.isDownloadCanceled()

콘텐츠 다운로드가 취소되었는지 여부를 확인합니다.

  • 반환값
    • true: 다운로드 취소
    • false: 다운로드 진행 중
boolean com.kollus.sdk.media.content.KollusContent.isDownloading()

현재 콘텐츠가 다운로드 진행 중인 상태인지 확인합니다.

  • 반환값
    • true: 다운로드 진행 중
    • false: 다운로드 진행 중이 아님
boolean com.kollus.sdk.media.content.KollusContent.isDrm()

해당 콘텐츠에 DRM(Digital Rights Management) 보안이 적용되어 있는지 확인합니다.

  • 반환값
    • true: DRM 적용
    • false: DRM 미적용
boolean com.kollus.sdk.media.content.KollusContent.isIgnoreZero()

아주 짧은 시간(예: 10초 미만)의 이어보기 정보를 무시하고 처음부터 재생할지 여부를 조회합니다.

  • 반환값
    • true: 무시하고 바로 재생
    • false: 기준 시간 미만일 경우 이어보기 팝업 없이 처음부터 재생
boolean com.kollus.sdk.media.content.KollusContent.isIntro()

해당 영상이 본편 재생 전 노출되는 인트로 영상인지 여부를 확인합니다.

  • 반환값
    • true: 인트로 영상
    • false: 인트로 영상이 아님
boolean com.kollus.sdk.media.content.KollusContent.IsInvalidFileSize()

다운로드가 완료된 콘텐츠 파일의 물리적 크기가 유효한지 확인합니다.

  • 반환값
    • true: 유효한 파일 사이즈
    • false: 유효하지 않은 파일 사이즈
boolean com.kollus.sdk.media.content.KollusContent.isLive()
  • 설명: 해당 콘텐츠가 실시간 라이브 스트리밍 영상인지 확인합니다.
  • 반환값
    • true: 라이브 영상
    • false: 라이브 영상이 아님
boolean com.kollus.sdk.media.content.KollusContent.isLoaded()
  • 설명: 다운로드를 위해 콘텐츠 메타데이터 정보가 정상적으로 로드되었는지 확인합니다.
  • 반환값
    • true: 로드 완료
    • false: 로드 실패
boolean com.kollus.sdk.media.content.KollusContent.isNextEpisodeShowButton()

다음 회차 자동 재생 모드일 때, 설정된 시간(getNextEpisodeShowTime) 내에 이동 버튼을 노출할지 여부를 조회합니다.

  • 반환값
    • true: 버튼 표시
    • false: 버튼 숨김
boolean com.kollus.sdk.media.content.KollusContent.isSection()
Deprecated
  • 반환값: 섹션 여부
boolean com.kollus.sdk.media.content.KollusContent.isThumbnailDownloadSync()

콘텐츠 로드 시 섬네일 이미지 다운로드를 동기(Sync) 방식으로 처리할지 여부를 조회합니다.

  • 반환값
    • true: 동기 처리
    • false: 병렬 처리
boolean com.kollus.sdk.media.content.KollusContent.isThumbnailEnable()

해당 콘텐츠의 섬네일 표시 기능 활성화 여부를 조회합니다.

  • 반환값
    • true: 섬네일 활성화
    • false: 섬네일 비활성화
boolean com.kollus.sdk.media.content.KollusContent.isVideoWaterMarkRandom()

비디오 워터마크가 화면상에 랜덤한 위치로 표시되는지 여부를 조회합니다.

  • 반환값
    • true: 랜덤 노출
    • false: 고정 위치
boolean com.kollus.sdk.media.content.KollusContent.isVmCheck()

가상 머신(VM) 환경에서의 콘텐츠 재생 허용 여부를 조회합니다.

  • 반환값
    • true: 재생 허용
    • false: 재생 차단
boolean com.kollus.sdk.media.content.KollusContent.isVr()

해당 콘텐츠가 VR(가상 현실) 전용 영상인지 확인합니다.

  • 반환값
    • true: VR 영상
    • false: 일반 영상
void com.kollus.sdk.media.content.KollusContent.setByJson(String jsonString)

Internal SDK Only  JSON 문자열을 파싱하여 콘텐츠 정보를 설정합니다.

파라미터타입설명
jsonStringString콘텐츠 정보를 담고 있는 JSON 형식의 문자열
void com.kollus.sdk.media.content.KollusContent.setContentExpired(boolean expired)

다운로드된 콘텐츠의 재생 만료 여부를 설정합니다.

파라미터타입설명
expiredboolean콘텐츠 만료 여부 (true: 재생 만료, false: 재생 가능)
void com.kollus.sdk.media.content.KollusContent.setContentType(ContentType type)

콘텐츠의 보안 방식이나 스트리밍 형식을 정의하는 콘텐츠 타입을 설정합니다.

파라미터타입설명
typeContentType콘텐츠 타입 (ContentType 값)
void com.kollus.sdk.media.content.KollusContent.setDownloadCanceled()

사용자에 의한 다운로드 취소 상태를 설정합니다. 비동기 메시지 통신 특성상 설정 직후에도 일시적으로 진행률 업데이트가 발생할 수 있습니다.

void com.kollus.sdk.media.content.KollusContent.setDownloadCompleted(boolean complete)

콘텐츠의 다운로드 완료 상태를 설정합니다.

파라미터타입설명
completeboolean다운로드 완료 여부 (true: 완료, false: 미완료)
void com.kollus.sdk.media.content.KollusContent.setDownloadError(boolean bError)

다운로드 진행 중 에러 발생 상태를 설정합니다.

파라미터타입설명
bErrorboolean에러 발생 여부
void com.kollus.sdk.media.content.KollusContent.setDownloading(boolean downloading)

현재 콘텐츠가 다운로드 중인 상태인지를 설정합니다.

파라미터타입설명
downloadingboolean다운로드 진행 상태 여부
void com.kollus.sdk.media.content.KollusContent.setDownloadPercent(int percent)

현재 콘텐츠의 다운로드 진행률 수치를 설정합니다.

파라미터타입설명
percentint다운로드 진행률 (%)
void com.kollus.sdk.media.content.KollusContent.setFileSize(long fileSize)

다운로드가 완료된 콘텐츠의 최종 물리 파일 크기를 설정합니다.

파라미터타입설명
fileSizelong콘텐츠 파일 용량
void com.kollus.sdk.media.content.KollusContent.setForDownload(Parcel in)

Internal SDK Only  전달받은 Parcel 객체로부터 다운로드에 필요한 콘텐츠 정보를 추출하여 설정합니다.

파라미터타입설명
inParcel다운로드용 콘텐츠 데이터가 포함된 Parcel 객체
void com.kollus.sdk.media.content.KollusContent.setForPlay(Parcel in)

Internal SDK Only  전달받은 Parcel 객체로부터 재생에 필요한 콘텐츠 정보를 추출하여 설정합니다.

파라미터타입설명
inParcel재생용 콘텐츠 데이터가 포함된 Parcel 객체
void com.kollus.sdk.media.content.KollusContent.setLoaded(boolean bLoaded)

다운로드 시작을 위한 콘텐츠 메타데이터 로드 완료 여부를 설정합니다.

파라미터타입설명
bLoadedboolean로드 완료 상태 여부
void com.kollus.sdk.media.content.KollusContent.setLocalMediaUrl(String mediaUrl)

콘텐츠가 저장된 로컬 파일 경로 또는 실제 재생 주소를 설정합니다.

파라미터타입설명
mediaUrlString설정할 미디어 경로 주소
void com.kollus.sdk.media.content.KollusContent.setMediaContentKey(String key)

콘텐츠 고유 식별자인 미디어 콘텐츠 키를 설정합니다.

파라미터타입설명
keyString미디어 콘텐츠 키
void com.kollus.sdk.media.content.KollusContent.setPlaytime(int playtime)

마지막 재생 시점인 이어보기 정보를 설정합니다.

파라미터타입설명
playtimeint마지막 재생 위치 (ms)
void com.kollus.sdk.media.content.KollusContent.setReceivedSize(long receiveSize)

서버로부터 수신 완료된 데이터 크기를 설정합니다. 비트레이트 기반의 남은 시간 계산을 위해 사용되며, 계산 후 getReceivingSize 값으로 동기화해야 합니다.

파라미터타입설명
receiveSizelong수신 완료 데이터 크기
void com.kollus.sdk.media.content.KollusContent.setReceivingSize(long receiveSize)

현재까지 물리적으로 저장된 다운로드 데이터 사이즈를 설정합니다.

파라미터타입설명
receiveSizelong현재 저장된 데이터 사이즈
void com.kollus.sdk.media.content.KollusContent.setServiceProviderMessage(String message)

DRM 인증 중 서비스 제공자(Provider)로부터 전달받은 사용자 메시지를 설정합니다.

파라미터타입설명
messageString서비스 제공자 메시지 내용
void com.kollus.sdk.media.content.KollusContent.setUriIndex(int index)

콘텐츠 목록 내에서의 고유 인덱스 번호를 설정합니다.

파라미터타입설명
indexint콘텐츠 인덱스
String com.kollus.sdk.media.content.KollusContent.toString()

KollusContent 객체가 보유한 모든 필드 정보를 문자열 형태로 반환합니다.

  • 반환값: 객체 정보
boolean com.kollus.sdk.media.content.KollusContent.useBlockEmulator()

현재 앱이 실행 중인 환경이 가상 머신(에뮬레이터)인지 여부를 확인합니다.

  • 반환값: 에뮬레이터 사용 여부

Property Details

static final Parcelable.Creator<KollusContent> com.kollus.sdk.media.content.KollusContent.CREATOR

Internal SDK Only  Parcel 데이터를 KollusContent 객체로 복원하거나 생성할 때 사용하는 인터페이스 구현체입니다.

구현 예시

static final Parcelable.Creator<KollusContent> CREATOR = new Parcelable.Creator<KollusContent>() {
@Override
public KollusContent createFromParcel(Parcel in) {
return new KollusContent(in);
}

@Override
public KollusContent[] newArray(int size) {
return new KollusContent[size];
}
}

KollusPlayerBookmarkListener Interface

com.kollus.sdk.media.KollusPlayerBookmarkListener

콘텐츠의 북마크 데이터 로드, 추가, 수정, 삭제 등 북마크와 관련된 모든 이벤트 상태를 수신하는 인터페이스입니다.

Public Methods

  • void onBookmark(List<KollusBookmark> bookmark, boolean bWritable)
  • void onBookmarkDeleted(int position, boolean bDeleted)
  • void onBookmarkUpdated(int position, boolean bUpdated)
  • void onGetBookmarkError(int nErrorCode)

Method Details

void com.kollus.sdk.media.KollusPlayerBookmarkListener.onBookmark(List<KollusBookmark> bookmark, boolean bWritable)

강사용 북마크나 사용자 북마크가 있을 경우 리스닝 됩니다.

파라미터타입설명
bookmarkList<KollusBookmark>북마크 리스트
bWritablebooleanfalse인 경우 사용자 북마크를 할 수 없는 콘텐츠입니다.
void com.kollus.sdk.media.KollusPlayerBookmarkListener.onBookmarkDeleted(int position, boolean bDeleted)

북마크가 삭제되었을 때 리스닝됩니다. 삭제 액션후 네트워크 상황에 따라 오랜 시간후에 리스닝될 수 있습니다.

파라미터타입설명
positionint삭제할 초단위 위치
bDeletedboolean삭제 성공 여부
void com.kollus.sdk.media.KollusPlayerBookmarkListener.onBookmarkUpdated(int position, boolean bUpdated)

북마크를 추가하거나 갱신되었을 때 리스닝됩니다. 추가 액션후 네트워크 상황에 따라 오랜 시간후에 리스닝될 수 있습니다.

파라미터타입설명
positionint갱신할 초단위 위치
bUpdatedboolean갱신 성공 여부
void com.kollus.sdk.media.KollusPlayerBookmarkListener.onGetBookmarkError(int nErrorCode)

네트워크 오류, JSON 데이터 파싱 오류, JSON error 필드가 0이 아닐 때 발생합니다.

파라미터타입설명
nErrorCodeint오류 코드

KollusPlayerCallbackListener Interface

com.kollus.sdk.media.KollusPlayerCallbackListener

DRM 인증 및 라이선스 발급 과정에서 서버와 주고받는 데이터(Raw Data)를 모니터링하기 위한 인터페이스입니다.

Public Methods

void onCallbackMessage(String request, String response)

Method Details

void com.kollus.sdk.media.KollusPlayerCallbackListener.onCallbackMessage(String request, String response)

DRM 관련하여 클라이언트가 서버로 전송한 요청 데이터와 그에 대한 서버의 응답 데이터를 수신합니다.

파라미터타입설명
requestStringSDK가 DRM 서버에 전송한 데이터
responseStringDRM 서버로부터 수신한 결과 데이터

KollusPlayerContentMode Class

com.kollus.sdk.media.KollusPlayerContentMode

플레이어 화면의 영상 출력 모드(Aspect Ratio 및 Scaling)를 정의하는 상수 클래스입니다.

Static Public Properties

  • static final int ScaleAspectFit = 0
  • static final int ScaleAspectFill = 1
  • static final int ScaleAspectFillStretch = 2
  • static final int ScaleCenter = 3
  • static final int ScaleZoom = 4

Property Details

속성설명
ScaleAspectFit0영상의 가로세로 비율을 유지하면서 화면을 가득 채웁니다. 여백(Letterbox)이 생길 수 있습니다.
ScaleAspectFill1영상의 가로세로 비율을 유지하면서 화면을 가득 채웁니다. 화면보다 큰 부분은 잘릴 수 있습니다.
ScaleAspectFillStretch2영상의 가로세로 비율을 무시하고 화면의 크기에 강제로 맞춥니다. 영상이 왜곡되어 보일 수 있습니다.
ScaleCenter3상의 원본 해상도 사이즈를 유지하며 화면 중앙에 배치합니다.
ScaleZoom4사용자가 정의한 특정 비율에 맞춰 영상을 확대하거나 축소합니다.

KollusPlayerDRMListener Interface

com.kollus.sdk.media.KollusPlayerDRMListener

콘텐츠의 DRM 인증 과정에서 발생하는 서버 통신 데이터와 서버의 정책 응답(콘텐츠 제어 명령)을 수신하는 인터페이스입니다.

Public Methods

  • void onDRM(String request, String response)
  • void onDRMInfo(KollusContent content, int nInfoCode)

Static Public Properties

  • static final int DCB_INFO_DELETE = 0
  • static final int DCB_INFO_EXPIRED = 1
  • static final int DCB_INFO_RESET = 2

Method Details

void com.kollus.sdk.media.KollusPlayerDRMListener.onDRM(String request, String response)

DRM 인증을 위해 클라이언트가 서버로 전송한 요청 데이터와 서버로부터 수신한 결과 데이터를 수신합니다.

파라미터타입설명
requestStringDRM 서버에 전송한 요청 데이터
responseStringDRM 서버로부터 수신한 응답 데이터
void com.kollus.sdk.media.KollusPlayerDRMListener.onDRMInfo(KollusContent content, int nInfoCode)

DRM 서버로부터 수신한 특정 지시 사항(kind 응답 정보)에 따라 콘텐츠 상태가 변경되었을 때 호출됩니다. 로컬 콘텐츠의 삭제, 강제 만료, 설정 리셋 등 정책 기반의 데이터 처리가 완료된 후 해당 이벤트를 발생시킵니다.

파라미터타입설명
contentKollusContent상태가 변경된 콘텐츠의 메타데이터 정보
nInfoCodeint변경된 상태 정보 (DCB_INFO_DELETE, DCB_INFO_EXPIRED, DCB_INFO_RESET)

Property Details

속성설명
DCB_INFO_DELETE0DRM 콜백 응답에 따라 해당 콘텐츠의 로컬 데이터가 삭제되었음을 알리는 상태 코드입니다.
DCB_INFO_EXPIRED1DRM 정책에 의해 해당 콘텐츠가 강제로 만료 처리되었음을 알리는 상태 코드입니다.
DCB_INFO_RESET2DRM 서버의 요청에 따라 해당 콘텐츠의 설정 정보가 초기화(Reset)되었음을 알리는 상태 코드입니다.

KollusPlayerDRMUpdateListener Interface

com.kollus.sdk.media.KollusPlayerDRMUpdateListener

콘텐츠의 DRM 라이선스 갱신 프로세스의 시작, 진행 상황 및 완료 상태를 모니터링하기 위한 인터페이스입니다.

Public Methods

  • void onDRMUpdateComplete()
  • void onDRMUpdateProcess(String request, String response)
  • void onDRMUpdateStart()

Method Details

void com.kollus.sdk.media.KollusPlayerDRMUpdateListener.onDRMUpdateComplete()

DRM 라이선스 갱신 프로세스가 성공적으로 완료되었을 때 호출됩니다.

void com.kollus.sdk.media.KollusPlayerDRMUpdateListener.onDRMUpdateProcess(String request, String response)

현재 DRM 정보 갱신의 세부 진행 상황을 수신합니다. 갱신 과정에서는 KollusPlayerDRMListener.onDRM() 대신 이 메서드를 통해 서버와 주고받은 데이터를 전달받습니다.

파라미터타입설명
requestString서버에 전송한 요청 데이터
responseString서버로부터 수신한 응답 데이터
void com.kollus.sdk.media.KollusPlayerDRMUpdateListener.onDRMUpdateStart()

DRM 정보 갱신 프로세스가 시작되었을 때 호출됩니다. 갱신을 위한 네트워크 통신 직전에 발생합니다.


KollusPlayerLMSListener Interface

com.kollus.sdk.media.KollusPlayerLMSListener

시청자의 진도율(Progress Rate)을 학습 관리 시스템(LMS) 서버로 전송하고, 그에 대한 응답 결과를 수신하는 인터페이스입니다.

Public Methods

  • void onLMS(String request, String response)

Method Details

void com.kollus.sdk.media.KollusPlayerLMSListener.onLMS(String request, String response)

시청자의 진도율 데이터를 서버에 전송했을 때 발생하며, 전송한 메시지와 서버의 응답 메시지를 전달받습니다.

파라미터타입설명
requestStringLMS 서버로 전송된 진도율 관련 데이터 메시지
responseString전송 결과에 대해 서버로부터 수신한 응답 메시지

KollusPlayerThumbnailListener Interface

com.kollus.sdk.media.KollusPlayerThumbnailListener

콘텐츠 로드 시 비동기 스레드 방식으로 진행되는 섬네일 이미지의 다운로드 및 캐싱 상태를 수신하는 인터페이스입니다.

Public Methods

  • void onCached(int index, int nErrorCode, String savePath)

Method Details

void com.kollus.sdk.media.KollusPlayerThumbnailListener.onCached(int index, int nErrorCode, String savePath)

섬네일 다운로드가 스레드 방식으로 수행될 때, 각 콘텐츠별 다운로드 결과(성공 또는 실패)를 수신합니다.

파라미터타입설명
indexint식별 번호 (KollusContentgetUriIndex 값)
nErrorCodeint다운로드 결과 에러 코드 (0일 경우 성공)
savePathString로컬 장치에 섬네일이 저장된 물리적 경로

KollusStorage Class

com.kollus.sdk.media.KollusStorage

콘텐츠의 다운로드, 캐시 관리, DRM 갱신 및 각종 이벤트 리스너를 총괄하는 스토리지 관리 클래스입니다.

Interfaces

  • interface DrmSessionManagerListener
  • interface OnKollusStorageDeviceListener
  • interface OnKollusStorageListener

Public Methods

  • KollusStorage(Context context)
  • void cancelLoad()
  • int checkLiveStream(String url)
  • void clearCache()
  • String decrypt(String encData)
  • int download(String mediaContentKey)
  • void finish()
  • ArrayList<KollusContent> getDownloadContentList()
  • KollusContent getDownloadKollusContent(String path)
  • boolean getKollusContent(KollusContent content, String mediaContentKey) throws IllegalStateException
  • String getLastError()
  • long getNativeInstance()
  • String getRootPath()
  • long getUsedSize(int type)
  • String getVersion()
  • int initialize(String key, String expireDate, String packageName)
  • boolean isReady()
  • int load(String path, String extraDrmParam, KollusContent content)
  • void registerDrmSessionManagerListenerList(DrmSessionManagerListener listener)
  • void registerKollusPlayerCallbackListener(KollusPlayerCallbackListener listener)
  • void registerKollusPlayerDRMListener(KollusPlayerDRMListener listener)
  • void registerKollusPlayerThumbnailListener(KollusPlayerThumbnailListener listener)
  • void registerKollusStorageListener(OnKollusStorageListener listener)
  • synchronized void releaseInstance()
  • int remove(String mediaContentKey)
  • void removeDrmSessionManagerListenerList(DrmSessionManagerListener listener)
  • void sendStoredLMS(StoredLMSListener listener)
  • void setCacheSize(int cacheSizeMB)
  • int setDevice(String storagePath, boolean bTablet)
  • void setDeviceASync(String storagePath, boolean bTablet, OnKollusStorageDeviceListener listener)
  • void setNetworkTimeout(int timeout, int retryCount)
  • int unload(String mediaContentKey)
  • void unregisterKollusPlayerCallbackListener(KollusPlayerCallbackListener listener)
  • void unregisterKollusPlayerDRMListener(KollusPlayerDRMListener listener)
  • void unregisterKollusPlayerThumbnailListener(KollusPlayerThumbnailListener listener)
  • void unregisterKollusStorageListener(OnKollusStorageListener listener)
  • void updateDownloadDRMInfo(KollusPlayerDRMUpdateListener listener, boolean bAll)
  • void updateDownloadDRMInfo(KollusPlayerDRMUpdateListener listener, ArrayList<String> mckList)

Static Public Methods

  • static synchronized KollusStorage getInstance(Context context)

Static Public Properties

  • static final int TYPE_CACHE = 0
  • static final int TYPE_DOWNLOAD = 1
  • static final int TYPE_ALL = 2

Protected Methods

  • int downloadFile(String srcPath, String dstPath)
  • int downloadThumbnail(String srcPath, String dstPath)
  • String getCallback(String customer, String callbackUrl, String postData)
  • String getMediaInfoJson(Uri uri)
  • String getNoKollusDownloadPath()
  • String getNoKollusStreamPath()
  • void registerKollusPlayerLMSListener(KollusPlayerLMSListener listener)
  • void sendCallback(String customer, String url)
  • void unregisterKollusPlayerLMSListener(KollusPlayerLMSListener listener)

Method Details

void com.kollus.sdk.media.KollusStorage.cancelLoad()

현재 진행 중인 로드(Load) 작업을 중단합니다. 다운로드 취소 시 해당 메서드 호출 후 unload를 수행해야 합니다.

int com.kollus.sdk.media.KollusStorage.checkLiveStream(String url)

해당 경로가 현재 라이브 방송 주소인지 확인합니다.

파라미터타입설명
urlString라이브 방송 시청 URL
  • 반환값: 라이브 여부 확인 코드
void com.kollus.sdk.media.KollusStorage.clearCache()

스트리밍 재생 시 사용된 임시 캐시 데이터를 모두 삭제합니다. (다운로드 콘텐츠는 삭제되지 않습니다.)

int com.kollus.sdk.media.KollusStorage.download(String mediaContentKey)

로드된 콘텐츠의 미디어 콘텐츠 키를 이용해 다운로드를 시작합니다.

파라미터타입설명
mediaContentKeyString미디어 콘텐츠 키
void com.kollus.sdk.media.KollusStorage.finish()

Native 영역의 스토리지 자원을 회수합니다.

ArrayList<KollusContent> com.kollus.sdk.media.KollusStorage.getDownloadContentList()

현재 다운로드된 전체 콘텐츠 리스트를 반환합니다.

  • 반환값: 다운로드된 콘텐츠 리스트
KollusContent com.kollus.sdk.media.KollusStorage.getDownloadKollusContent(String path)

지정된 경로에 해당하는 다운로드 콘텐츠 정보를 조회합니다.

  • 반환값: 콘텐츠 정보
static synchronized KollusStorage com.kollus.sdk.media.KollusStorage.getInstance(Context context)

KollusStorage의 싱글톤 인스턴스를 반환합니다.

파라미터타입설명
contextContext애플리케이션 컨텍스트
  • 반환값: KollusStorage 인스턴스
boolean com.kollus.sdk.media.KollusStorage.getKollusContent(KollusContent content, String mediaContentKey) throws IllegalStateException

미디어 콘텐츠 키를 통해 특정 콘텐츠 정보를 획득합니다.

  • 파라미터
    파라미터설명
    content정보를 담을 빈 객체
    mediaContentKey미디어 콘텐츠 키
  • 반환값: 정보 획득 성공 여부
String com.kollus.sdk.media.KollusStorage.getLastError()

마지막으로 발생한 에러의 메시지를 반환합니다.

  • 반환값: 에러 메시지
String com.kollus.sdk.media.KollusStorage.getMediaInfoJson(Uri uri)

Internal SDK Only  지정된 URI의 미디어 정보를 JSON 형태로 조회합니다.

파라미터타입설명
uriUri미디어 URI
  • 반환값: 미디어 정보 (JSON 데이터)
long com.kollus.sdk.media.KollusStorage.getNativeInstance()

Native 영역에서 관리되는 KollusStorage 엔진의 실제 인스턴스 핸들(포인터) 값을 반환합니다.

  • 반환값: Native 인스턴스 주소 값 (Handle)
String com.kollus.sdk.media.KollusStorage.getRootPath()

현재 설정된 콘텐츠 저장 루트 경로를 반환합니다.

  • 반환값: 현재 설정된 저장 위치 경로
long com.kollus.sdk.media.KollusStorage.getUsedSize(int type)

지정된 데이터 타입의 총 사용 용량을 조회합니다.

  • 파라미터
    파라미터타입설명
    typeint
    • TYPE_CACHE(0): 스트리밍 재생 시 생성된 캐시 용량
    • TYPE_DOWNLOAD(1): 로컬에 저장된 다운로드 콘텐츠 총 용량
    • TYPE_ALL(2): 모든 타입의 총 용량
  • 반환값: 현재 사용 중인 총 용량
String com.kollus.sdk.media.KollusStorage.getVersion()

SDK 라이브러리의 버전 정보를 반환합니다.

  • 반환값: SDK 버전
int com.kollus.sdk.media.KollusStorage.initialize(String key, String expireDate, String packageName)

SDK 라이브러리를 초기화합니다.

파라미터타입설명
keyString발급받은 키
expireDateString만료일 (YYYY/MM/DD)
packageNameString앱 패키지 이름
boolean com.kollus.sdk.media.KollusStorage.isReady()

스토리지 매니저가 사용 가능한 상태(Device 설정 완료)인지 확인합니다.

  • 반환값
    • true: 사용 가능
    • false: 사용 불가
int com.kollus.sdk.media.KollusStorage.load(String path, String extraDrmParam, KollusContent content)

다운로드할 콘텐츠 정보를 로드합니다.

파라미터타입설명
pathString다운로드할 콘텐츠 경로
extraDrmParamString동적 DRM 다운로드 콜백 / 플레이 콜백 인자
contentKollusContent정보를 담을 객체
void com.kollus.sdk.media.KollusStorage.registerKollusPlayerCallbackListener(KollusPlayerCallbackListener listener)

KollusPlayCallbackListener를 등록합니다.

파라미터타입설명
listenerKollusPlayerCallbackListener이벤트를 처리할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.registerKollusPlayerDRMListener(KollusPlayerDRMListener listener)

KollusPlayerDRMListener를 등록합니다.

파라미터타입설명
listenerKollusPlayerDRMListener이벤트를 처리할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.registerKollusPlayerLMSListener(KollusPlayerLMSListener listener)

KollusPlayerLMSListener를 등록합니다.

파라미터타입설명
listenerKollusPlayerLMSListener이벤트를 처리할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.registerKollusPlayerThumbnailListener(KollusPlayerThumbnailListener listener)

KollusPlayerThumbnailListener를 등록합니다.

파라미터타입설명
listenerKollusPlayerThumbnailListener이벤트를 처리할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.registerKollusStorageListener(OnKollusStorageListener listener)

OnStorageManagerListener를 등록합니다.

파라미터타입설명
listenerOnKollusStorageListener이벤트를 처리할 리스너 인스턴스
synchronized void com.kollus.sdk.media.KollusStorage.releaseInstance()

사용 중인 KollusStorage 인스턴스 자원을 명시적으로 해제합니다.

int com.kollus.sdk.media.KollusStorage.remove(String mediaContentKey)

로컬에 저장된 다운로드 콘텐츠를 삭제합니다.

파라미터타입설명
mediaContentKeyString미디어 콘텐츠 키
void com.kollus.sdk.media.KollusStorage.sendStoredLMS(StoredLMSListener listener)

네트워크 문제 등으로 미처 전송하지 못한 로컬 저장 LMS 데이터를 일괄 전송합니다.

파라미터타입설명
listenerStoredLMSListener이벤트를 처리할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.setCacheSize(int cacheSizeMB)

스트리밍 시 사용할 캐시 메모리 크기를 설정합니다. setDevice 또는 setDeviceASync 호출 전에 설정해야 합니다.

파라미터타입설명
cacheSizeMBint캐시 사이즈 (MB)
int com.kollus.sdk.media.KollusStorage.setDevice(String storagePath, boolean bTablet)

스토리지 루트 경로와 디바이스 유형을 설정합니다.

파라미터타입설명
storagePathString스토리지 매니저가 사용할 루트 경로
bTabletboolean태블릿 여부 (true: 태블릿)
void com.kollus.sdk.media.KollusStorage.setDeviceASync(String storagePath, boolean bTablet, OnKollusStorageDeviceListener listener)

스토리지 설정을 비동기 방식으로 수행합니다.

파라미터타입설명
storagePathString스토리지 매니저가 사용할 루트 경로
bTabletboolean태블릿 여부 (true: 태블릿)
listenerOnKollusStorageDeviceListener설정 완료를 수신할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.setNetworkTimeout(int timeout, int retryCount)

네트워크 Timeout 시간과 재시도 횟수를 설정합니다.

파라미터타입설명
timeoutint제한 시간 (s)
retryCountintTimeout 발생 시 재시도 횟수
int com.kollus.sdk.media.KollusStorage.unload(String mediaContentKey)

로드된 인덱스를 해제합니다. 다운로드 취소 시 cancelLoad 후 호출합니다.

파라미터타입설명
mediaContentKeyString미디어 콘텐츠 키
void com.kollus.sdk.media.KollusStorage.unregisterKollusPlayerCallbackListener(KollusPlayerCallbackListener listener)

KollusPlayCallbackListener를 해제합니다.

파라미터타입설명
listenerKollusPlayerCallbackListener해제할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.unregisterKollusPlayerDRMListener(KollusPlayerDRMListener listener)

KollusPlayerDRMListener를 해제합니다.

파라미터타입설명
listenerKollusPlayerDRMListener해제할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.unregisterKollusPlayerLMSListener(KollusPlayerLMSListener listener)

KollusPlayerLMSListener를 해제합니다.

파라미터타입설명
listenerKollusPlayerLMSListener해제할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.unregisterKollusPlayerThumbnailListener(KollusPlayerThumbnailListener listener)

KollusPlayerThumbnailListener를 해제합니다.

파라미터타입설명
listenerKollusPlayerThumbnailListener해제할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.unregisterKollusStorageListener(OnKollusStorageListener listener)

OnStorageManagerListener를 해제합니다.

파라미터타입설명
listenerOnKollusStorageListener해제할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.updateDownloadDRMInfo(KollusPlayerDRMUpdateListener listener, boolean bAll)

모든 콘텐츠 또는 만료된 콘텐츠의 DRM 정보를 일괄 갱신합니다.

파라미터타입설명
listenerKollusPlayerDRMUpdateListener갱신 진행 상태 및 결과 수신용 인터페이스 인스턴스
bAllboolean갱신 범위 설정값 (true: 전체 콘텐츠, false: 만료된 콘텐츠 한정)
void com.kollus.sdk.media.KollusStorage.updateDownloadDRMInfo(KollusPlayerDRMUpdateListener listener, ArrayList<String>  mckList)

특정 미디어 콘텐츠 키 리스트에 해당하는 콘텐츠들의 DRM을 갱신합니다.

파라미터타입설명
listenerKollusPlayerDRMUpdateListener갱신 진행 상태 및 결과 수신용 인터페이스 인스턴스
mckListArrayList<String>갱신 대상 미디어 콘텐츠 키 리스트

Property Details

속성설명
TYPE_CACHE0스트리밍 재생 시 생성되는 캐시 데이터
TYPE_DOWNLOAD 1로컬 저장소에 저장되는 다운로드 콘텐츠 데이터
TYPE_ALL2모든 타입의 데이터 (캐시 + 다운로드)

MediaPlayer Class

com.kollus.sdk.media.MediaPlayer

콘텐츠 재생, 화면 출력 제어, 자막 관리 및 각종 멀티미디어 이벤트를 처리하는 SDK의 핵심 재생 엔진 클래스입니다.

Classes & Interfaces

  • `interface APP_STATUS
  • enum EXTERNAL_DISPLAY_MODE
  • enum MediaRouteState
  • Deprecated  interface OnBufferingUpdateListener
  • interface OnCompletionListener
  • interface OnErrorListener
  • interface OnExternalDisplayDetectListener
  • interface OnInfoListener
  • interface OnMediaRouteInfoListener
  • interface OnPreparedListener
  • interface OnSeekCompleteListener
  • interface OnTimedTextDetectListener
  • interface OnTimedTextListener
  • interface OnVideoSizeChangedListener
  • class TMCMReceiver
  • class TrackInfo

Public Methods

  • MediaPlayer(Context context, KollusStorage storage, int port)
  • void addTimedTextSource(boolean bSubTimedText, String path) throws IOException, IllegalArgumentException, IllegalStateException, RuntimeException
  • void addTimedTextSource(Context context, boolean bSubTimedText, Uri uri) throws IOException, IllegalArgumentException, IllegalStateException
  • void deleteKollusBookmark(int position) throws IllegalStateException
  • void deselectTrack(boolean bSubTimedText, int index) throws IllegalStateException
  • void destroyDisplay()
  • int getBandwidth()
  • int getCachedDuration()
  • int getCurrentPosition()
  • int getDownloadRate()
  • int getDuration()
  • String getErrorString(int errorCode)
  • boolean getKollusContent(KollusContent content) throws IllegalStateException
  • int getPlayAt()
  • String getPlayerName()
  • MediaPlayerBase.TrackInfo[] getTrackInfo() throws IllegalStateException
  • String getVersion()
  • String getVideoCodecName()
  • int getVideoHeight()
  • int getVideoWidth()
  • boolean isAiPlaybackRateEnabled()
  • boolean isLooping()
  • boolean isPlaying()
  • void pause() throws IllegalStateException
  • void prepareAsync()
  • void release()
  • void releaseWhenFinishing()
  • void seekTo(int msec) throws IllegalStateException
  • void seekToExact(int msec) throws IllegalStateException
  • void selectTrack(boolean bSubTimedText, int index) throws IllegalStateException
  • void setAiPlaybackRateEnable(boolean enable)
  • void setAppStatus(@APP_STATUS int status)
  • void setAudioDelay(int timeMs)
  • void setBandwidth(int bandwidth)
  • void setBandwidthName(String bandwidthName)
  • boolean setBufferingRatio(int ratio)
  • void setCaptureDetectLister(CaptureDetectLister listener)
  • void setDataSourceByKey(String mediaContentKey, String extraDrmParam)
  • void setDataSourceByUrl(String path, String extraDrmParam)
  • void setDisplay(SurfaceHolder sh)
  • void setEmulatorCheckerListener(EmulatorCheckerListener listener)
  • void setForensicWatermarkView(ForensicWatermarkView view)
  • void setInitialBandwidth(int bandwidth)
  • void setKollusPlayerBookmarkListener(KollusPlayerBookmarkListener listener)
  • void setKollusPlayerLMSListener(KollusPlayerLMSListener listener)
  • void setLastOffsetTime(int lastOffsetTimeMs)
  • void setLmsOffDownloadContent(boolean bOn)
  • void setLooping(boolean looping)
  • void setMinDurationForQualityIncreaseMs(int msec)
  • void setMute(boolean mute)
  • boolean setNetworkTimeout(int timeout)
  • void setNotifyLastReport(boolean bOn)
  • Deprecated  void setOnBufferingUpdateListener(OnBufferingUpdateListener listener)
  • void setOnCompletionListener(OnCompletionListener listener)
  • void setOnErrorListener(OnErrorListener listener)
  • void setOnExternalDisplayDetectListener(OnExternalDisplayDetectListener listener)
  • void setOnInfoListener(OnInfoListener listener)
  • void setOnMediaRouteInfoListener(OnMediaRouteInfoListener listener)
  • void setOnPreparedListener(OnPreparedListener listener)
  • void setOnSeekCompleteListener(OnSeekCompleteListener listener)
  • void setOnTimedTextDetectListener(OnTimedTextDetectListener listener)
  • void setOnTimedTextListener(OnTimedTextListener listener)
  • void setOnVideoSizeChangedListener(OnVideoSizeChangedListener listener)
  • boolean setPlayingRate(float playing_rate) throws IllegalStateException
  • void setRemoteMediaRouteInfo(String castNameSpace)
  • void setScreenOnWhilePlaying(boolean screenOn)
  • void setSurface(Surface surface)
  • void setVideoRending(boolean bRendering)
  • void skip()
  • void start() throws IllegalStateException
  • void stop() throws IllegalStateException
  • boolean supportPlaybackrateControl()
  • void updateKollusBookmark(int position, String label) throws IllegalStateException

Static Public Properties

  • static final String VERSION = "2.0.19_r3"
  • static final int MEDIA_ERROR_UNKNOWN = 1
  • static final int APP_STATUS_BACKGROUND = 1
  • static final int APP_STATUS_FOREGROUND = 2
  • static final int MEDIA_INFO_FRAME_RATE = 7
  • static final int MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK = 200
  • static final int QUICK = 1
  • static final int EXACT = 2
  • static final String CAST_NAME_SPACE = "urn:x-cast:com.kollus.cast"
  • static final String CAST_APP_ID = "E956F6B0"

Protected Methods

  • void setKollusStorage(KollusStorage storage)

Constructors & Destructors

com.kollus.sdk.media.MediaPlayer.MediaPlayer(Context context, KollusStorage storage, int port)

플레이어 인스턴스를 생성합니다.

파라미터타입설명
contextContextContext 인스턴스
storageKollusStorageKollusStorage 인스턴스
portint내장 플레이어 통신에 필요한 서버 포트 번호

Method Details

void com.kollus.sdk.media.MediaPlayer.addTimedTextSource(boolean bSubTimedText, String path) throws IOException, IllegalArgumentException, IllegalStateException, RuntimeException

HTTP URL 경로를 통해 자막을 설정합니다.

파라미터타입설명
bSubTimedTextboolean서브 자막 유무
pathString자막 파일의 HTTP URL 경로
void com.kollus.sdk.media.MediaPlayer.addTimedTextSource(Context context, boolean bSubTimedText, Uri uri) throws IOException, IllegalArgumentException, IllegalStateException

Android URI를 통해 자막을 설정합니다.

파라미터타입설명
contextContext애플리케이션 컨텍스트
bSubTimedTextboolean서브 자막 유무
uriUri자막 파일의 URI 경로
void com.kollus.sdk.media.MediaPlayer.deleteKollusBookmark(int position) throws IllegalStateException

특정 위치의 북마크 정보를 삭제합니다. 삭제 성공 여부는 onBookmarkInfoDeleted 콜백을 통해 리턴됩니다.

파라미터타입설명
positionint삭제할 북마크의 위치 (ms)
void com.kollus.sdk.media.MediaPlayer.deselectTrack(boolean bSubTimedText, int index) throws IllegalStateException

selectTrack메서드를 통해 선택된 특정 미디어 트랙을 해제합니다.

파라미터타입설명
bSubTimedTextboolean서브 자막 트랙 여부
indexint해제 대상 트랙의 인덱스
void com.kollus.sdk.media.MediaPlayer.destroyDisplay()

비디오 출력 화면(Surface 또는 SurfaceHolder)의 Destroy 시점에 호출하여 자원을 정리합니다.

int com.kollus.sdk.media.MediaPlayer.getBandwidth()

MPEG-DASH 환경에서 ABR(Adaptive Bitrate) 재생 시 현재 다운로드 중인 대역폭 정보를 조회합니다.

  • 반환값: 대역폭 (현재 다운로드하고 있는 Bandwidth 값)
int com.kollus.sdk.media.MediaPlayer.getCachedDuration()

스트리밍 재생 시 현재 버퍼에 캐싱된 영상의 길이를 조회합니다.

  • 반환값: 캐싱된 영상 길이 (ms)
int com.kollus.sdk.media.MediaPlayer.getCurrentPosition()

현재 재생 위치를 조회합니다.

  • 반환값: 현재 재생 위치 (ms)
int com.kollus.sdk.media.MediaPlayer.getDownloadRate()

MPEG-DASH 재생 환경에서 현재 데이터 다운로드 속도를 조회합니다.

  • 반환값: 다운로드 속도
int com.kollus.sdk.media.MediaPlayer.getDuration()

현재 재생 중인 콘텐츠의 전체 길이를 조회합니다.

  • 반환값: 콘텐츠 전체 길이 (ms)
String com.kollus.sdk.media.MediaPlayer.getErrorString(int errorCode)

에러 코드를 문자열로 변환하여 출력합니다.

파라미터타입설명
errorCodeint에러 코드
  • 반환값: 에러 코드에 해당하는 문자열
boolean com.kollus.sdk.media.MediaPlayer.getKollusContent(KollusContent content) throws IllegalStateException

현재 재생 중인 콘텐츠의 상세 정보를 획득합니다.

파라미터타입설명
contentKollusContent콘텐츠 정보를 복사할 인스턴스
  • 반환값: 정보 획득 성공 여부
int com.kollus.sdk.media.MediaPlayer.getPlayAt()

이어보기 위치 정보를 조회합니다. nscreen 동기화 등의 기능과 연관됩니다.

  • 반환값: 마지막으로 저장된 시청 위치 (ms)
String com.kollus.sdk.media.MediaPlayer.getPlayerName()

MediaPlayerFactory를 통해 생성된 실제 플레이어의 이름을 조회합니다.

  • 반환값: 플레이어 이름
MediaPlayerBase.TrackInfo[] com.kollus.sdk.media.MediaPlayer.getTrackInfo() throws IllegalStateException

현재 재생 중인 콘텐츠의 트랙 정보를 조회합니다.

  • 반환값: 트랙 정보 배열
String com.kollus.sdk.media.MediaPlayer.getVersion()

플레이어의 버전을 조회합니다.

  • 반환값: 플레이어 버전
String com.kollus.sdk.media.MediaPlayer.getVideoCodecName()

비디오 코덱 이름을 조회합니다. 하드웨어(HW) 코덱 연동 여부를 확인하기 위해 주로 사용됩니다.

  • 반환값: 비디오 코덱 이름
int com.kollus.sdk.media.MediaPlayer.getVideoHeight()

콘텐츠의 세로 길이를 조회합니다. onPrepared 응답을 받은 후에 정상적으로 호출할 수 있습니다.

  • 반환값: 비디오 세로 사이즈
int com.kollus.sdk.media.MediaPlayer.getVideoWidth()

콘텐츠의 가로 길이를 조회합니다. onPrepared 응답을 받은 후에 정상적으로 호출할 수 있습니다.

  • 반환값: 비디오 가로 해상도
boolean com.kollus.sdk.media.MediaPlayer.isAiPlaybackRateEnabled()

현재 콘텐츠에 AI배속 기능이 활성화되어 있는지 여부를 확인합니다.

  • 반환값
    • true: 활성화
    • false: 비활성화
boolean com.kollus.sdk.media.MediaPlayer.isLooping()

현재 반복 재생 설정 여부를 확인합니다.

  • 반환값
    • true: 반복 재생 상태
    • false: 반복 재생 상태 아님
boolean com.kollus.sdk.media.MediaPlayer.isPlaying()

현재 재생 중인지 여부를 확인합니다.

  • 반환값
    • true: 재생 중 false`: 재생 중 아님
void com.kollus.sdk.media.MediaPlayer.pause() throws IllegalStateException

재생을 일시정지할 때 호출합니다.

void com.kollus.sdk.media.MediaPlayer.prepareAsync()

데이터 소스(setDataSource) 설정 후 재생 준비를 비동기적으로 시작합니다. 준비가 완료되면 onPrepared 콜백이 수신됩니다.

void com.kollus.sdk.media.MediaPlayer.release()

플레이어에 할당된 자원을 회수하는 함수입니다. 재생 정지(stop) 후에 호출합니다.

void com.kollus.sdk.media.MediaPlayer.releaseWhenFinishing()

플레이어에 할당된 자원을 회수하는 함수입니다. 재생 정지(stop) 후에 호출합니다.

void com.kollus.sdk.media.MediaPlayer.seekTo(int msec) throws IllegalStateException

지정된 위치로 재생 지점을 이동합니다. (I-Frame 단위 이동)

파라미터타입설명
msecint이동할 위치 (ms)
void com.kollus.sdk.media.MediaPlayer.seekToExact(int msec) throws IllegalStateException

지정된 위치로 재생 지점을 이동합니다. (시간 단위 이동)

파라미터타입설명
msecint이동할 위치 (ms)
void com.kollus.sdk.media.MediaPlayer.selectTrack(boolean bSubTimedText, int index) throws IllegalStateException

getTrackInfo로 가져온 트랙 정보 중에서 특정 트랙(오디오, 자막 등)을 선택하여 재생할 때 호출합니다.

파라미터타입설명
bSubTimedTextboolean서브 자막 트랙 여부
indexint선택할 트랙의 인덱스
void com.kollus.sdk.media.MediaPlayer.setAiPlaybackRateEnable(boolean enable)

AI배속 기능의 활성화 여부를 설정합니다.

파라미터타입설명
enablebooleanAI배속 기능 활성화 여부 (true: 활성화, false: 비활성화)
void com.kollus.sdk.media.MediaPlayer.setAppStatus(@APP_STATUS int status)

LMS 데이터를 전송할 때 앱의 상태 변화(백그라운드/포그라운드) 시간 정보를 함께 기록하기 위해 호출합니다.

파라미터타입설명
statusint앱의 상태 값 (APP_STATUS)
void com.kollus.sdk.media.MediaPlayer.setAudioDelay(int timeMs)

비디오와 오디오의 싱크(Sync)를 수동으로 조절합니다.

파라미터타입설명
timeMsint조절할 시간 (ms)
void com.kollus.sdk.media.MediaPlayer.setBandwidth(int bandwidth)

콘텐츠가 ABR(Adaptive Bitrate) 방식인 경우, 특정 대역폭을 지정하여 화질을 강제로 선택합니다.

파라미터타입설명
bandwidthint선택할 대역폭 값
void com.kollus.sdk.media.MediaPlayer.setBandwidthName(String bandwidthName)

콘텐츠가 ABR 방식인 경우, 대역폭 명칭을 통해 화질을 선택합니다.

파라미터타입설명
bandwidthNameString선택할 대역폭 명칭
boolean com.kollus.sdk.media.MediaPlayer.setBufferingRatio(int ratio)

기본 버퍼링량의 배수를 설정합니다. Utils.PLAYER_TYPE_KOLLUS 설정 시에만 유효합니다.

파라미터타입설명
ratioint설정할 버퍼링 배수 (범위: 1~10)
  • 반환값
    • true: 성공
    • false: 실패
void com.kollus.sdk.media.MediaPlayer.setCaptureDetectLister(CaptureDetectLister listener)

화면 캡처 감지 리스너를 설정합니다.

파라미터타입설명
listenerCaptureDetectLister리스너 인스턴스
void com.kollus.sdk.media.MediaPlayer.setDataSourceByKey(String mediaContentKey, String extraDrmParam)

다운로드된 로컬 콘텐츠를 재생할 때 데이터 소스를 설정합니다.

파라미터타입설명
mediaContentKeyString콘텐츠 미디어 키
extraDrmParamString동적 DRM 다운로드 콜백 / 플레이 콜백 인자
void com.kollus.sdk.media.MediaPlayer.setDataSourceByUrl(String path, String extraDrmParam)

스트리밍 재생을 위한 데이터 소스(URL)를 설정합니다.

파라미터타입설명
pathString스트리밍 콘텐츠의 경로
extraDrmParamString동적 DRM 다운로드 콜백 / 플레이 콜백 인자
void com.kollus.sdk.media.MediaPlayer.setDisplay(SurfaceHolder sh)

비디오가 출력될 화면을 설정합니다.

파라미터타입설명
shSurfaceHolder비디오 출력을 담당할 SurfaceHolder
void com.kollus.sdk.media.MediaPlayer.setEmulatorCheckerListener(EmulatorCheckerListener listener)

에뮬레이터 환경에서 재생을 시도할 때 발생하는 이벤트를 가로채는 리스너를 설정합니다.

파라미터타입설명
listenerEmulatorCheckerListenerEmulatorCheckerListener 인스턴스
void com.kollus.sdk.media.MediaPlayer.setForensicWatermarkView(ForensicWatermarkView view)

포렌식 비디오 워터마크를 출력할 뷰를 설정합니다. 포렌식 워터마크 기능 사용 시 반드시 호출해야 합니다.

파라미터타입설명
viewForensicWatermarkView워터마크 표시용 ForensicWatermarkView 인스턴스
void com.kollus.sdk.media.MediaPlayer.setInitialBandwidth(int bandwidth)

재생 시작 시의 초기 대역폭을 설정합니다. prepareAsync() 이전에 호출해야 합니다.

파라미터타입설명
bandwidthint초기 시청 대역폭
  • 0: 대역폭 리스트의 첫 항목부터 시작
  • 0보다 큰 값: 해당 값 이하의 최적 대역폭부터 시작
void com.kollus.sdk.media.MediaPlayer.setKollusPlayerBookmarkListener(KollusPlayerBookmarkListener listener)

북마크 관련 이벤트를 처리할 리스너를 설정합니다.

파라미터타입설명
listenerKollusPlayerBookmarkListenerKollusPlayerBookmarkListener 인스턴스
void com.kollus.sdk.media.MediaPlayer.setKollusPlayerLMSListener(KollusPlayerLMSListener listener)

LMS 데이터 전송 관련 이벤트를 처리할 리스너를 설정합니다.

파라미터타입설명
listenerKollusPlayerLMSListenerKollusPlayerLMSListener 인스턴스
void com.kollus.sdk.media.MediaPlayer.setKollusStorage(KollusStorage storage)

StorageManager 인스턴스를 설정합니다. initialize() 호출 후 setDataSource() 호출 전 단계에서 실행합니다.

파라미터타입설명
storageKollusStorageKollusStorage 인스턴스
void com.kollus.sdk.media.MediaPlayer.setLastOffsetTime(int lastOffsetTimeMs)

MPEG-DASH 콘텐츠의 전체 타임라인을 기준으로, 종료 시점부터 역산한 특정 시청 시작 위치를 설정합니다.

파라미터타입설명
lastOffsetTimeMsint종료 지점으로부터의 오프셋 시청 위치 (ms)
void com.kollus.sdk.media.MediaPlayer.setLmsOffDownloadContent(boolean bOn)

다운로드된 콘텐츠의 LMS 데이터 전송 활성화 여부를 설정합니다.

파라미터타입설명
bOnboolean데이터 전송 활성화 여부 (true: 활성화, false: 비활성화)
void com.kollus.sdk.media.MediaPlayer.setLooping(boolean looping)

콘텐츠의 반복 재생 상태를 설정합니다.

파라미터타입설명
loopingboolean반복 재생 활성화 여부 (true: 반복 재생, false: 반복 안 함)
void com.kollus.sdk.media.MediaPlayer.setMinDurationForQualityIncreaseMs(int msec)

대역폭 상향 시 필요한 최소 버퍼 용량 기준 설정 함수입니다. 기본값은 10초이며, prepareAsync() 호출 전에 설정해야 합니다.

파라미터타입설명
msecint최소 버퍼링 시간 (ms)
void com.kollus.sdk.media.MediaPlayer.setMute(boolean mute)

오디오 출력의 음소거 상태를 설정합니다.

파라미터타입설명
muteboolean음소거 활성화 여부 (true: 음소거 활성화, false: 음소거 비활성화)
boolean com.kollus.sdk.media.MediaPlayer.setNetworkTimeout(int timeout)

네트워크 연결 Timeout 시간을 설정합니다.

파라미터타입설명
timeoutint네트워크 Timeout 제한 시간 (s)
void com.kollus.sdk.media.MediaPlayer.setNotifyLastReport(boolean bOn)

플레이어 종료 시 LMS 데이터 전송 완료 여부를 UI로 통지받을지 여부를 설정합니다. 활성화 시 네트워크 환경에 따라 종료 시간이 지연될 수 있습니다.

파라미터타입설명
bOnboolean알림 활성화 여부 (true: 알림 활성화, false: 알림 비활성화)
void com.kollus.sdk.media.MediaPlayer.setOnBufferingUpdateListener(OnBufferingUpdateListener listener)

Deprecated  OnBufferingUpdateListener를 설정합니다.

파라미터타입설명
listenerOnBufferingUpdateListenerOnBufferingUpdateListener 인스턴스
void com.kollus.sdk.media.MediaPlayer.setOnCompletionListener(OnCompletionListener listener)

OnCompletionListener를 설정합니다.

파라미터타입설명
listenerOnCompletionListenerOnCompletionListener 인스턴스
void com.kollus.sdk.media.MediaPlayer.setOnErrorListener(OnErrorListener listener)

OnErrorListener를 설정합니다.

파라미터타입설명
listenerOnErrorListenerOnErrorListener 인스턴스
void com.kollus.sdk.media.MediaPlayer.setOnExternalDisplayDetectListener(OnExternalDisplayDetectListener listener)

OnExternalDisplayDetectListener를 설정합니다.

파라미터타입설명
listenerOnExternalDisplayDetectListenerOnExternalDisplayDetectListener 인스턴스
void com.kollus.sdk.media.MediaPlayer.setOnInfoListener(OnInfoListener listener)

OnInfoListener를 설정합니다.

파라미터타입설명
listenerOnInfoListenerOnInfoListener 인스턴스
void com.kollus.sdk.media.MediaPlayer.setOnMediaRouteInfoListener(OnMediaRouteInfoListener listener)

OnMediaRouteInfoListener를 설정합니다.

파라미터타입설명
listenerOnMediaRouteInfoListenerOnMediaRouteInfoListener 인스턴스
void com.kollus.sdk.media.MediaPlayer.setOnPreparedListener(OnPreparedListener listener)

OnPreparedListener를 설정합니다.

파라미터타입설명
listenerOnPreparedListenerOnPreparedListener 인스턴스
void com.kollus.sdk.media.MediaPlayer.setOnSeekCompleteListener(OnSeekCompleteListener listener)

OnSeekCompleteListener를 설정합니다.

파라미터타입설명
listenerOnSeekCompleteListenerOnSeekCompleteListener 인스턴스
void com.kollus.sdk.media.MediaPlayer.setOnTimedTextDetectListener(OnTimedTextDetectListener listener)

OnTimedTextDetectListener를 설정합니다.

파라미터타입설명
listenerOnTimedTextDetectListenerOnTimedTextDetectListener 인스턴스
void com.kollus.sdk.media.MediaPlayer.setOnTimedTextListener(OnTimedTextListener listener)

OnTimedTextListener를 설정합니다.

파라미터타입설명
listenerOnTimedTextListenerOnTimedTextListener 인스턴스
void com.kollus.sdk.media.MediaPlayer.setOnVideoSizeChangedListener(OnVideoSizeChangedListener listener)

OnVideoSizeChangedListener를 설정합니다.

파라미터타입설명
listenerOnVideoSizeChangedListenerOnVideoSizeChangedListener 인스턴스
boolean com.kollus.sdk.media.MediaPlayer.setPlayingRate(float playing_rate)

배속을 설정합니다. 오디오 워터마크가 포함된 콘텐츠는 최대 1.5배속으로 제한되며, 2.0배속 초과 시 프레임 드롭(Frame Drop)이 발생할 수 있습니다.

파라미터타입설명
playing_ratefloat설정할 배속 값 (범위: 0.5~10.0)
  • 반환값
    • true: 성공
    • false: 실패
void com.kollus.sdk.media.MediaPlayer.setRemoteMediaRouteInfo(String castNameSpace)

크롬캐스트(Chromecast) 리시버와 메시지 송수신 시 사용되는 네임스페이스(Namespace)를 설정합니다. prepareAsync() 호출 전 설정해야 합니다.

파라미터타입설명
castNameSpaceStringKollus Cast Receiver 사용 시 MediaPlayer.CAST_NAME_SPACE 입력
void com.kollus.sdk.media.MediaPlayer.setScreenOnWhilePlaying(boolean screenOn)

콘텐츠 재생 중 화면 상시 켜짐 상태 유지 여부를 설정합니다.

파라미터타입설명
screenOnboolean화면 상시 켜짐 활성화 여부 (true: 상시 켜짐 상태 유지, false: 시스템 설정에 따른 자동 꺼짐 적용)
void com.kollus.sdk.media.MediaPlayer.setSurface(Surface surface)

비디오 출력 화면을 설정합니다.

파라미터타입설명
surfaceSurface비디오 화면이 출력될 Surface 인스턴스
void com.kollus.sdk.media.MediaPlayer.setVideoRending(boolean bRendering)

비디오 렌더링 수행 여부를 설정합니다.

파라미터타입설명
bRenderingboolean렌더링 수행 여부 (true: 렌더링 수행, false: 렌더링 미수행)
void com.kollus.sdk.media.MediaPlayer.skip()

인트로 영상이 있는 경우, 현재 재생 중인 콘텐츠의 건너뛰기를 수행합니다.

void com.kollus.sdk.media.MediaPlayer.start()

일시정지 후 재생을 재개하거나 onPrepared 이벤트 수신 후 재생을 시작할 때 호출합니다.

void com.kollus.sdk.media.MediaPlayer.stop()

현재 재생 중인 콘텐츠를 일시정지합니다.

boolean com.kollus.sdk.media.MediaPlayer.supportPlaybackrateControl()

현재 플레이어의 배속 조절 기능 지원 여부를 조회합니다.

  • 반환값
    • true: 배속 지원
    • false: 배속 미지원
void com.kollus.sdk.media.MediaPlayer.updateKollusBookmark(int position, String label)

특정 시점에 북마크 정보를 추가합니다. 성공 여부는 onBookmarkInfoUpdated를 통해 반환됩니다.

파라미터타입설명
positionint북마크 저장 위치 (s)
labelString북마크 레이블

Property Details

static final int com.kollus.sdk.media.MediaPlayer.APP_STATUS_BACKGROUND = 1

애플리케이션의 백그라운드(Background) 실행 상태 정의 상수입니다.

static final int com.kollus.sdk.media.MediaPlayer.APP_STATUS_FOREGROUND = 2

애플리케이션의 포그라운드(Foreground) 실행 상태 정의 상수입니다.

static final int com.kollus.sdk.media.MediaPlayer.MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK = 200

MPEG4BOX 컨테이너 구조 결함으로 인한 프로그레시브 재생 불가 에러 코드입니다.

static final int com.kollus.sdk.media.MediaPlayer.MEDIA_ERROR_UNKNOWN = 1

원인을 파악할 수 없는 미확인 에러 코드입니다.

static final int com.kollus.sdk.media.MediaPlayer.MEDIA_INFO_FRAME_RATE = 7

비디오 프레임레이트(Framerate) 정보 조회를 위한 상태 코드입니다.


MediaRouteState Class

com.kollus.sdk.media.MediaPlayer.MediaRouteState

크롬캐스트(Chromecast) 전송 상태를 정의하는 열거형 클래스입니다.

Public Properties

  • STARTING
  • STARTED
  • RESUME
  • END

OnBufferingUpdateListener Interface  Deprecated

com.kollus.sdk.media.MediaPlayer.OnBufferingUpdateListener

버퍼링(Buffering) 상태 변경 데이터를 수신하는 인터페이스입니다.

Public Methods

  • Deprecated  void onBufferingUpdate(MediaPlayer mp, int percent)

OnCompletionListener Interface

com.kollus.sdk.media.MediaPlayer.OnCompletionListener

콘텐츠의 재생 완료 이벤트를 수신하는 인터페이스입니다.

Public Methods

  • void onCompletion(MediaPlayer mp)

Method Details

void com.kollus.sdk.media.MediaPlayer.OnCompletionListener.onCompletion(MediaPlayer mp)

재생이 완료된 시점에 호출됩니다.

파라미터타입설명
mpMediaPlayer재생이 완료된 플레이어 인스턴스

OnErrorListener Interface

com.kollus.sdk.media.MediaPlayer.OnErrorListener

재생 중 발생하는 에러 정보를 수신하는 인터페이스입니다.

Public Methods

  • boolean onError(MediaPlayer mp, int what, int extra)

Method Details

boolean com.kollus.sdk.media.MediaPlayer.OnErrorListener.onError(MediaPlayer mp, int what, int extra)

재생 중 예기치 않은 에러가 발생했을 때 호출됩니다.

파라미터타입설명
mpMediaPlayer에러가 발생한 플레이어 인스턴스
whatint에러 코드 1
extraint에러 코드 2
  • 반환값
    • true: 애플리케이션(UI) 영역에서 에러 처리 완료
    • false: 에러 처리 위임 (false 반환 시, SDK 내부에서 자동으로 onComplete를 호출하여 재생 세션을 종료함)

OnExternalDisplayDetectListener Interface

com.kollus.sdk.media.MediaPlayer.OnExternalDisplayDetectListener

외부 출력 장치의 연결 상태를 감지하는 인터페이스입니다.

Public Methods

  • void onExternalDisplayDetect(EXTERNAL_DISPLAY_MODE type, boolean plugged)

Method Details

void com.kollus.sdk.media.MediaPlayer.OnExternalDisplayDetectListener.onExternalDisplayDetect(EXTERNAL_DISPLAY_MODE type, boolean plugged)

외부 출력 장치의 연결 또는 해제 이벤트가 발생했을 때 호출됩니다.

파라미터타입설명
typeEXTERNAL_DISPLAY_MODE감지된 외부 장치의 종류 (참고: EXTERNAL_DISPLAY_MODE)
pluggedboolean장치 연결 상태 (true: 연결, false: 연결 해제)

OnInfoListener Interface

com.kollus.sdk.media.MediaPlayer.OnInfoListener

재생 중 발생하는 상태 정보(Info) 및 경고(Warning) 이벤트를 수신하는 인터페이스입니다.

Public Methods

  • void onBufferingEnd(MediaPlayer mp)
  • void onBufferingStart(MediaPlayer mp)
  • void onChangedBandwidth(MediaPlayer mp, BandwidthItem item)
  • void onCodecInitFail(MediaPlayer mp, String componentName)
  • void onDetectBandwidthList(MediaPlayer mp, List<BandwidthItem> list)
  • void onDownloadRate(MediaPlayer mp, int downloadRate)
  • void onFrameDrop(MediaPlayer mp)
  • boolean onInfo(MediaPlayer mp, int what, int extra)

Method Details

void com.kollus.sdk.media.MediaPlayer.OnInfoListener.onBufferingEnd(MediaPlayer mp)

데이터 로딩이 완료되어 버퍼링 상태가 해제된 시점에 호출됩니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
void com.kollus.sdk.media.MediaPlayer.OnInfoListener.onBufferingStart(MediaPlayer mp)

네트워크 환경 등으로 인해 데이터 로딩(버퍼링)이 시작된 시점에 호출됩니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
void com.kollus.sdk.media.MediaPlayer.OnInfoListener.onChangedBandwidth(MediaPlayer mp, BandwidthItem item)

ABR(Adaptive Bitrate) 콘텐츠 재생 중 비트레이트가 변경된 시점에 호출됩니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
itemBandwidthItem변경된 비트레이트 정보
void com.kollus.sdk.media.MediaPlayer.OnInfoListener.onCodecInitFail(MediaPlayer mp, String componentName)

하드웨어 코덱 초기화 실패 시 호출됩니다. (오디오 워터마크 포함 콘텐츠 또는 Android 4.3 Jelly Bean MR2 미만 디바이스 한정 발생)

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
componentNameString초기화에 실패한 코덱 이름
void com.kollus.sdk.media.MediaPlayer.OnInfoListener.onDetectBandwidthList(MediaPlayer mp, List<BandwidthItem>  list)

ABR 콘텐츠 재생 시, 서비스에서 지원 가능한 전체 대역폭 리스트가 감지되었을 때 호출됩니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
listList<BandwidthItem>전체 대역폭 정보 리스트
void com.kollus.sdk.media.MediaPlayer.OnInfoListener.onDownloadRate(MediaPlayer mp, int downloadRate)

콘텐츠 파일 다운로드 완료 시, 해당 파일의 평균 다운로드 전송 속도를 반환합니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
downloadRateint평균 다운로드 속도 (bps)
void com.kollus.sdk.media.MediaPlayer.OnInfoListener.onFrameDrop(MediaPlayer mp)

비디오 프레임 드롭(Frame Drop) 현상 발생 시 호출됩니다. (오디오 워터마크 포함 콘텐츠 또는 Android 4.3 Jelly Bean MR2 미만 디바이스 한정 발생)

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
boolean com.kollus.sdk.media.MediaPlayer.OnInfoListener.onInfo(MediaPlayer mp, int what, int extra)

플레이어의 상태 정보 또는 이벤트 발생 시 호출됩니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
whatint정보 유형
extraint기타 데이터

OnKollusStorageDeviceListener Interface

com.kollus.sdk.media.KollusStorage.OnKollusStorageDeviceListener

setDeviceAsync 메서드 호출을 통한 스토리지 디바이스 설정 프로세스의 진행 상태를 수신하는 인터페이스입니다.

Public Methods

  • void onDeviceSettingEnd()
  • void onDeviceSettingError(int nErrorCode)
  • void onDeviceSettingStart()

Method Details

void com.kollus.sdk.media.KollusStorage.OnKollusStorageDeviceListener.onDeviceSettingEnd()

디바이스 설정 및 초기화 프로세스가 성공적으로 완료된 시점에 호출됩니다.

void com.kollus.sdk.media.KollusStorage.OnKollusStorageDeviceListener.onDeviceSettingError(int nErrorCode)

디바이스 설정 과정 중 오류가 발생했을 때 호출됩니다. (예: 지정된 경로에 필수 디렉터리 생성 권한이 없거나 저장 공간이 부족한 경우)

파라미터타입설명
nErrorCodeint발생한 오류의 식별 코드
void com.kollus.sdk.media.KollusStorage.OnKollusStorageDeviceListener.onDeviceSettingStart()

디바이스 설정 프로세스가 시작된 시점에 호출됩니다.


OnKollusStorageListener Interface

com.kollus.sdk.media.KollusStorage.OnKollusStorageListener

콘텐츠 다운로드 프로세스의 상태 변화(진행 중, 완료, 오류 발생) 이벤트를 수신하는 인터페이스입니다.

Public Methods

  • void onComplete(KollusContent content)
  • void onError(KollusContent content, int errorCode)
  • void onProgress(KollusContent content)

Method Details

void com.kollus.sdk.media.KollusStorage.OnKollusStorageListener.onComplete(KollusContent content)

콘텐츠의 모든 데이터가 로컬 스토리지에 성공적으로 저장된 시점에 호출됩니다.

파라미터타입설명
contentKollusContent콘텐츠 정보
void com.kollus.sdk.media.KollusStorage.OnKollusStorageListener.onError(KollusContent content, int errorCode)

다운로드 과정 중 예기치 않은 오류가 발생하여 중단된 시점에 호출됩니다.

파라미터타입설명
contentKollusContent콘텐츠 정보
errorCodeint에러 코드
void com.kollus.sdk.media.KollusStorage.OnKollusStorageListener.onProgress(KollusContent content)

다운로드가 진행되는 동안 주기적으로 호출됩니다.

파라미터타입설명
contentKollusContent콘텐츠 정보

OnMediaRouteInfoListener Interface

com.kollus.sdk.media.MediaPlayer.OnMediaRouteInfoListener

크롬캐스트(Chromecast)의 연결 상태를 수신하는 인터페이스입니다.

Public Methods

  • void onAvailable(MediaPlayer mp, boolean bAvailable)
  • void onChangedState(MediaPlayer mp, MediaPlayer.MediaRouteState state)
  • void onError(MediaPlayer mp)

Method Details

void com.kollus.sdk.media.MediaPlayer.OnMediaRouteInfoListener.onAvailable(MediaPlayer mp, boolean bAvailable)

네트워크 내에서 캐스팅(Casting) 가능 장치를 발견했을 때 호출됩니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
bAvailableboolean장치 가용 상태 (true: 장치 발견, false: 장치 없음)
void com.kollus.sdk.media.MediaPlayer.OnMediaRouteInfoListener.onChangedState(MediaPlayer mp, MediaPlayer.MediaRouteState state)

크롬캐스트의 연결 상태가 변경되었을 때 호출됩니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
stateMediaRouteState변경된 상태 값 (참고: MediaRouteState)
void com.kollus.sdk.media.MediaPlayer.OnMediaRouteInfoListener.onError(MediaPlayer mp)

미디어 전송 과정 중 예기치 않은 오류가 발생했을 때 호출됩니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스

OnPreparedListener Interface

com.kollus.sdk.media.MediaPlayer.OnPreparedListener

재생 준비 완료 이벤트를 수신하는 인터페이스입니다.

Public Methods

  • void onPrepared(MediaPlayer mp)

Method Details

void com.kollus.sdk.media.MediaPlayer.OnPreparedListener.onPrepared(MediaPlayer mp)

재생 준비가 성공적으로 완료된 시점에 호출됩니다.

파라미터타입설명
mpMediaPlayer재생 준비가 완료된 플레이어 인스턴스

OnSeekCompleteListener Interface

com.kollus.sdk.media.MediaPlayer.OnSeekCompleteListener

재생 위치 이동(Seek) 요청이 완료되었음을 수신하는 인터페이스입니다.

Public Methods

  • void onSeekComplete(MediaPlayer mp)

Method Details

void com.kollus.sdk.media.MediaPlayer.OnSeekCompleteListener.onSeekComplete(MediaPlayer mp)

재생 지점 변경 작업이 성공적으로 완료된 시점에 호출됩니다.

파라미터타입설명
mpMediaPlayer재생 위치 이동이 완료된 플레이어 인스턴스

OnTimedTextDetectListener Interface

com.kollus.sdk.media.MediaPlayer.OnTimedTextDetectListener

addTimedTextSource()를 통한 자막 추가 또는 미디어 스트림 내 포함된 자막이 감지되었을 때 상태를 수신하는 인터페이스입니다.

Public Methods

  • void onSubTimedTextDetect(MediaPlayer mp, int trackIndex)
  • void onTimedTextDetect(MediaPlayer mp, int trackIndex)

Method Details

void com.kollus.sdk.media.MediaPlayer.OnTimedTextDetectListener.onSubTimedTextDetect(MediaPlayer mp, int trackIndex)

콘텐츠 내에서 재생 가능한 서브 자막이 발견되었을 때 호출됩니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
trackIndexint자막 인덱스
void com.kollus.sdk.media.MediaPlayer.OnTimedTextDetectListener.onTimedTextDetect(MediaPlayer mp, int trackIndex)

콘텐츠 내에서 재생 가능한 메인 자막이 발견되었을 때 호출됩니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
trackIndexint자막 인덱스

OnTimedTextListener Interface

com.kollus.sdk.media.MediaPlayer.OnTimedTextListener

재생 시점(Timeline)에 동기화된 자막 데이터를 수신하는 인터페이스입니다.

Public Methods

  • void onSubTimedText(MediaPlayer mp, String text)
  • void onTimedImage(MediaPlayer mp, byte[] image, int width, int height)
  • void onTimedText(MediaPlayer mp, String text)

Method Details

void com.kollus.sdk.media.MediaPlayer.OnTimedTextListener.onSubTimedText(MediaPlayer mp, String text)

텍스트 형식의 서브 자막 데이터를 수신하는 시점에 호출됩니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
textString현재 재생 시점에 해당하는 서브 자막 문자열
void com.kollus.sdk.media.MediaPlayer.OnTimedTextListener.onTimedImage(MediaPlayer mp, byte[]  image, int width, int height)

이미지 형식의 자막(VobSub) 데이터를 수신하는 시점에 호출됩니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
imagebyte[]자막 이미지의 비트맵 데이터
widthint자막 이미지의 가로 길이
heightint자막 이미지의 세로 길이
void com.kollus.sdk.media.MediaPlayer.OnTimedTextListener.onTimedText(MediaPlayer mp, String text)

텍스트 형식의 메인 자막 데이터를 수신하는 시점에 호출됩니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
textString현재 재생 시점에 해당하는 메인 자막 문자열

OnVideoSizeChangedListener Interface

com.kollus.sdk.media.MediaPlayer.OnVideoSizeChangedListener

콘텐츠의 초기 해상도 정보 확인 및 재생 중 해상도가 변경되었을 때 해당 정보를 수신하는 인터페이스입니다.

Public Methods

  • void onVideoSizeChanged(MediaPlayer mp, int width, int height)

Method Details

void com.kollus.sdk.media.MediaPlayer.OnVideoSizeChangedListener.onVideoSizeChanged(MediaPlayer mp, int width, int height)

비디오의 가로 및 세로 크기가 처음으로 식별되거나, 재생 중 해상도가 전환될 때 호출됩니다.

파라미터타입설명
mpMediaPlayer플레이어 인스턴스
widthint비디오의 가로 해상도
heightint비디오의 세로 해상도

SubtitleInfo Class

com.kollus.sdk.media.content.KollusContent.SubtitleInfo

콘텐츠에 포함된 개별 자막의 메타데이터를 관리하는 클래스입니다.

Public Properties

  • String name
  • String url
  • String languageCode
  • boolean ai

Property Details

속성설명
String com.kollus.sdk.media.content.KollusContent.SubtitleInfo.languageCode자막의 언어 코드
String com.kollus.sdk.media.content.KollusContent.SubtitleInfo.name자막의 언어 명칭
String com.kollus.sdk.media.content.KollusContent.SubtitleInfo.url자막 데이터를 로드하기 위한 리소스 경로
boolean com.kollus.sdk.media.content.KollusContent.SubtitleInfo.aiAI자막 여부

Utils Class

com.kollus.sdk.media.util.Utils

SDK 내부 및 애플리케이션 개발 시 범용적으로 사용되는 유틸리티 클래스입니다.

Static Public Methods

  • static<T> T checkNotNull(T object)
  • static void closeSilently(Closeable c)
  • static void closeSilently(ParcelFileDescriptor fd)
  • static void closeSilently(Cursor cursor)
  • static void deleteDirectory(String path)
  • static long getAvailableMemorySize(String path)
  • static DEVICE_TYPE getDeviceType(Context context)
  • static String getDirectoryJSON(Context context, String prefKey)
  • static String getDirectoryJSONByPath(Context context, String path, String prefKey)
  • static File[] getExternalFilesDirs(@NonNull Context context, @Nullable String type)
  • static String getFileMD5(File updateFile)
  • static long getFolderSize(File directory)
  • static String getPlayerId(Context context)
  • static String getPlayerIdMd5(Context context)
  • static String getPlayerIdSha1(Context context)
  • static String getStoragePath(Context context)
  • static String getString(JSONObject json, String key)
  • static long getTotalMemorySize(String path)
  • static Object invoke(Object obj, String methodName, Object[] objList)
  • static boolean isRooting()
  • static boolean makeDirectory(String path)
  • static String makeMD5(String param)
  • static String makeSHA1(String param)
  • static void saveDirectoryJSON(Context context, String dbPath, String jsonString)
  • static void setPlayerId(String id)
  • static void setStoragePath(Context context, String path)
  • static String stringForTime(String dayString, String hourString, String minString, String secString, int timeMs)
  • static String stringForTime(int timeMs)
  • static String stringForTimeHHMMSS(int timeMs)
  • static String stringForTimeHMMSS(int timeMs)
  • static String stringForTimeMMSS(int timeMs)

Static Public Properties

  • static final int PLAYER_TYPE_NONE = 0
  • static final int PLAYER_TYPE_NATIVE = 1
  • static final int PLAYER_TYPE_KOLLUS = 2
  • static final int PLAYER_TYPE_EXO = 3
  • static final boolean USE_EXO_PLAYER = false

Method Details

static void com.kollus.sdk.media.util.Utils.deleteDirectory(String path)

지정된 경로의 디렉터리를 삭제합니다.

파라미터타입설명
pathString디렉터리 경로
static long com.kollus.sdk.media.util.Utils.getAvailableMemorySize(String path)

지정된 경로(내장 메모리 또는 SD카드)의 사용 가능한 여유 공간을 조회합니다.

파라미터타입설명
pathString용량을 확인할 스토리지 경로
  • 반환값: 잔여 용량
static DEVICE_TYPE com.kollus.sdk.media.util.Utils.getDeviceType(Context context)

현재 애플리케이션이 실행 중인 디바이스의 유형을 조회합니다.

파라미터타입설명
contextContext애플리케이션 컨텍스트
static String com.kollus.sdk.media.util.Utils.getDirectoryJSON(Context context, String prefKey)

디렉터리 구조 JSON 데이터를 로드합니다.

파라미터타입설명
contextContext애플리케이션 컨텍스트
prefKeyString저장된 JSON 데이터의 키
  • 반환값: JSON 데이터
static String com.kollus.sdk.media.util.Utils.getDirectoryJSONByPath(Context context, String path, String prefKey)

디렉터리 구조 JSON 데이터를 로드합니다.

파라미터타입설명
contextContext애플리케이션 컨텍스트
pathString데이터가 저장된 파일 경로
prefKeyString저장된 JSON 데이터의 키
  • 반환값: JSON 데이터
static String com.kollus.sdk.media.util.Utils.getFileMD5(File updateFile)

지정된 파일의 데이터 무결성 검증을 위한 MD5 체크섬(Checksum)을 추출합니다.

파라미터타입설명
updateFileFile체크섬을 생성할 파일
  • 반환값: MD5 해시 문자열
static long com.kollus.sdk.media.util.Utils.getFolderSize(File directory)

지정된 디렉터리의 용량을 조회합니다.

파라미터타입설명
directoryFile디렉터리
  • 반환값: 전체 점유 용량
static String com.kollus.sdk.media.util.Utils.getPlayerId(Context context)

디바이스에 할당된 플레이어 ID를 조회합니다.

파라미터타입설명
contextContext애플리케이션 컨텍스트
  • 반환값: 플레이어 ID
static String com.kollus.sdk.media.util.Utils.getPlayerIdMd5(Context context)

내부 로직용으로 사용할 MD5 기반 플레이어 ID를 생성합니다. (16 bytes 헥사 스트링, 32자)

파라미터타입설명
contextContext애플리케이션 컨텍스트
  • 반환값: MD5 해시 처리된 플레이어 ID
static String com.kollus.sdk.media.util.Utils.getPlayerIdSha1(Context context)

외부 시스템 식별용 SHA-1 기반 플레이어 ID를 생성합니다. (길이 제한 없음)

파라미터타입설명
contextContext애플리케이션 컨텍스트
  • 반환값: SHA-1 해시 처리된 플레이어 ID
static String com.kollus.sdk.media.util.Utils.getStoragePath(Context context)

현재 플레이어가 콘텐츠 저장 및 관리를 위해 사용 중인 스토리지 경로를 조회합니다.

파라미터타입설명
contextContext애플리케이션 컨텍스트
  • 반환값: 스토리지 경로
static String com.kollus.sdk.media.util.Utils.getString(JSONObject json, String key)

JSON 객체에서 지정된 키(Key)에 해당하는 문자열 값을 추출합니다.

파라미터타입설명
jsonJSONObjectJSON 데이터
keyString
  • 반환값: 해당 키의 문자열 값
static long com.kollus.sdk.media.util.Utils.getTotalMemorySize(String path)

지정된 경로(내장 메모리 또는 SD카드)의 전체 물리적 용량을 조회합니다.

파라미터타입설명
pathString경로
  • 반환값: 전체 용량
static Object com.kollus.sdk.media.util.Utils.invoke(Object obj, String methodName, Object[] objList)

특정 클래스의 메서드를 동적으로 실행(Invoke)합니다.

파라미터타입설명
objObject대상 메서드가 포함된 클래스 객체
methodNameString실행할 메서드 명칭
objListObject[]메서드 실행 시 전달할 인자(Arguments) 리스트
  • 반환값: 실행된 메서드의 반환 결과 객체
static boolean com.kollus.sdk.media.util.Utils.isRooting()

현재 디바이스의 루팅(Rooting) 여부를 확인합니다.

  • 반환값: 루팅 여부
static boolean com.kollus.sdk.media.util.Utils.makeDirectory(String path)

지정된 경로에 새로운 디렉터리를 생성합니다.

파라미터타입설명
pathString경로
  • 반환값
    • true: 성공
    • false: 실패
static String com.kollus.sdk.media.util.Utils.makeMD5(String param)

입력된 문자열을 MD5 해시 알고리즘을 통해 체크섬 데이터로 변환합니다.

파라미터타입설명
paramString해시를 생성할 문자열
  • 반환값: 생성된 MD5 해시 문자열
static String com.kollus.sdk.media.util.Utils.makeSHA1(String param)

입력된 문자열을 SHA-1 해시 알고리즘을 통해 체크섬 데이터로 변환합니다.

파라미터타입설명
paramString해시를 생성할 문자열
  • 반환값: 생성된 SHA-1 해시 문자열
static void com.kollus.sdk.media.util.Utils.saveDirectoryJSON(Context context, String dbPath, String jsonString)

디렉터리 구조를 나타내는 JSON 데이터를 지정된 로컬 경로에 영구적으로 저장합니다.

파라미터타입설명
contextContext애플리케이션 컨텍스트
dbPathString저장할 위치
jsonStringString저장할 JSON 데이터
static void com.kollus.sdk.media.util.Utils.setPlayerId(String id)

외부에서 수동으로 플레이어 ID를 지정합니다.

파라미터타입설명
idString플레이어 ID
static void com.kollus.sdk.media.util.Utils.setStoragePath(Context context, String path)

플레이어가 콘텐츠 다운로드 및 관리에 사용할 기본 스토리지 경로를 지정합니다.

파라미터타입설명
contextContext애플리케이션 컨텍스트
pathString경로
static String com.kollus.sdk.media.util.Utils.stringForTime(int timeMs)

밀리초(ms) 단위의 시간을 재생 시각 표기에 적합한 문자열 형식(예: 1:10:59 또는 10:59)으로 변환합니다.

파라미터타입설명
timeMsint변환할 시간 데이터 (ms)
  • 반환값: 변환된 시간 문자열
static String com.kollus.sdk.media.util.Utils.stringForTime(String dayString, String hourString, String minString, String secString, int timeMs)

밀리초(ms) 단위의 시간을 사용자 정의 단위 구분자(일, 시, 분, 초)를 포함한 텍스트 형식으로 변환합니다. (예: 1일 1시간 1분 1초)

파라미터타입설명
dayStringString날짜 구분자
hourStringString시간 구분자
minStringString분 구분자
secStringString초 구분자
timeMsint변환할 시간 데이터 (ms)
  • 반환값: 변환된 시간 문자열
static String com.kollus.sdk.media.util.Utils.stringForTimeHHMMSS(int timeMs)

밀리초(ms) 단위의 시간을 00:00:00 형식(시:분:초, 각 2자리 고정)의 문자열로 변환합니다.

파라미터타입설명
timeMsint변환할 시간 데이터 (ms)
  • 반환값: 변환된 시간 문자열
static String com.kollus.sdk.media.util.Utils.stringForTimeHMMSS(int timeMs)

밀리초(ms) 단위의 시간을 0:00:00 형식(시:분:초)의 문자열로 변환합니다.

파라미터타입설명
timeMsint변환할 시간 데이터 (ms)
  • 반환값: 변환된 시간 문자열
static String com.kollus.sdk.media.util.Utils.stringForTimeMMSS(int timeMs)

밀리초(ms) 단위의 시간을 00:00 형식(분:초)의 문자열로 변환합니다.

파라미터타입설명
timeMsint변환할 시간 데이터 (ms)
  • 반환값: 변환된 시간 문자열

Property Details

속성설명
PLAYER_TYPE_EXO3ExoPlayer 엔진 (Android 4.1 젤리빈, API Level 16 이상 지원)
PLAYER_TYPE_KOLLUS2Kollus 보안 플레이어
PLAYER_TYPE_NATIVE1내장 플레이어
PLAYER_TYPE_NONE0플레이어 엔진이 생성되지 않았거나 지정되지 않은 상태