KollusPlayerView
KollusPlayerView Class
#import <KollusPlayerView.h>
콘텐츠 재생, 화면 출력 제어, 이벤트 델리게이트 설정 등 플레이어의 모든 기능을 제어하는 핵심 클래스입니다.
Instance Methods
| 반환 타입 | 메서드 |
|---|---|
id | initWithContentURL: |
id | initWithMediaContentKey: |
BOOL | prepareToPlayWithMode:error: |
BOOL | playWithError: |
BOOL | pauseWithError: |
BOOL | stopWithError: |
BOOL | scroll:error: |
BOOL | scrollStopWithError: |
BOOL | zoom:error: |
BOOL | addBookmark:value:error: |
BOOL | removeBookmark:error: |
void | setNetworkTimeOut: |
void | setBufferingRatio: |
BOOL | isOpened |
BOOL | setSkipPlay |
void | changeBandWidth: |
bool | setSubTitlePath: |
bool | setSubTitleSubPath: |
CGRect | getVideoPosition |
CGFloat | getZoomValue |
void | setPauseOnForeground: |
void | setDisableZoomOut: |
void | setDecoder: |
void | setAIRate: |
Properties
| 속성 | 설명 |
|---|---|
id<KollusPlayerDelegate> delegate | 플레이어 관련 델리게이트 |
id<KollusPlayerDRMDelegate> DRMDelegate | DRM 정보 관련 델리게이트 |
id<KollusPlayerLMSDelegate> LMSDelegate | LMS 정보 관련 델리게이트 |
id<KollusPlayerBookmarkDelegate> bookmarkDelegate | 북마크 관련 델리게이트 |
KollusStorage * storage | KollusStorage 포인터 |
NSString * contentURL | 재생할 콘텐츠 URL (Stream Play) |
NSString * mediaContentKey | 재생할 콘텐츠 미디어 콘텐츠 키 (Local Play) |
KollusContent * content | 사용 중인 콘텐츠 정보 |
BOOL AIRateEnable | AI배속 지원 여부 |
NSTimeInterval currentPlaybackTime | 콘텐츠 현재 시간 |
NSTimeInterval liveDuration | 라이브 타임쉬프트 재생 길이 |
float currentPlaybackRate | 콘텐츠 재생 속도 |
NSArray * bookmarks | 북마크 정보 배열 |
KollusPlayerContentMode scalingMode | 콘텐츠 출력 모드 |
CGRect playerContentFrame | 플레이어 화면 영역 |
KollusPlayerRepeatMode repeatMode | 전체 반복 모드 |
BOOL screenConnectEnabled | 화면 출력 허용 여부 |
BOOL bookmarkModifyEnabled | 북마크 수정 권한 여부 |
BOOL debug | 디버그 로그 출력 여부 |
BOOL isPreparedToPlay | 재생 준비 완료 여부 |
BOOL isPlaying | 재생 중 여부 |
BOOL isBuffering | 버퍼링 진행 여부 |
BOOL isSeeking | 탐색 중 여부 |
BOOL isScrolling | 화면 이동 중 여부 |
BOOL isAudioOnly | 오디오 콘텐츠 여부 |
BOOL muteOnStart | 시작 시 음소거 여부 |
CGSize naturalSize | 원본 콘텐츠 영상 크기 |
BOOL isZoomedIn | 확대(zoom in) 여부 |
KollusPlayerType playerType | 플레이어 타입 |
NSString * customSkin | 플레이어 스킨 정보 JSON |
KPSection * playSection | 미리보기 정보 |
NSInteger nRepeatStartTime | 반복 재생 시작 시간 |
NSInteger nRepeatEndTime | 반복 재생 종료 시간 |
NSInteger nPlaybackLimitDuration | 재생 제한 시간 |
NSString * strPlaybackLimitMessage | 재생 제한 안내 메시지 |
BOOL audioBackgroundPlay | 백그라운드 오디오 파일 재생 |
BOOL lmsOffDownloadContent | 다운로드 콘텐츠 LMS 비활성화 여부 |
NSUInteger proxyPort | 프록시 서버 포트 번호 |
BOOL intro | 인트로 여부 |
BOOL seekable | 탐색(Seek) 가능 여부 |
NSInteger nSecSkip | 지정 시간(sec) 후 건너뛰기 |
BOOL isLive | 라이브 여부 |
BOOL disablePlayRate | 배속 컨트롤 비활성화 여부 |
NSInteger nSeekableEnd | 탐색 가능한 최대 위치 (sec) |
NSString * strCaptionStyle | Partner Portal에서 설정한 자막 스타일. "bg": 자막 배경 적용, 그 외: 사용자 정의 설정 |
BOOL forceNScreen | 강제 이어보기 |
BOOL ignoreZero | 이어보기 시간이 0에 가까울 때에도 이어보기 유효로 처리 |
BOOL isThumbnailEnable | 섬네일 사용 여부 |
BOOL isThumbnailSync | 섬네일 다운로드 방식 (sync, async) |
NSString * fpsCertURL | FairPlay 인증 URL |
NSString * fpsDrmURL | FairPlay DRM URL |
NSInteger nOfflineBookmarkUse | 오프라인 북마크 사용 여부 |
NSInteger nOfflineBookmarkDownload | 1: 인덱스만 다운로드, 2: 인덱스/북마크 모두 다운로드 |
NSInteger nOfflineBookmarkReadOnly | 오프라인 북마크 추가/삭제 사용 여부 (0: 사용(기본값), 1: 사용 안 함) |
NSMutableDictionary * chapterInfo | 챕터 정보 목록 |
NSString * strVideoWaterMark | 비디오 워터마크 문자열 |
NSInteger nVideoWaterMarkAlpha | 비디오 워터마크 알파 값 |
NSInteger nVideoWaterMarkFontSize | 비디오 워터마크 폰트 크기 |
NSString * strVideoWaterMarkFontColor | 비디오 워터마크 텍스트 색상 |
NSInteger nVideoWaterMarkShowTime | 비디오 워터마크 표시 시간 |
NSInteger nVideoWaterMarkHideTime | 비디오 워터마크 숨김 시간 |
NSString * extraDrmParam | 동적 DRM 파라미터 |
NSMutableArray * streamInfoList | HLS ABR 정보 목록 |
KollusChat * kollusChat | 라이브 채팅 객체 |
NSInteger nextEpisodeShowTime | 다음 회차 재생 표시 시간 |
NSString * nextEpisodeCallbackURL | 다음 회차 재생 URL |
NSMutableDictionary * nextEpisodeCallbackParams | 다음 회차 재생 파라미터 |
BOOL nextEpisodeShowButton | 다음 회차 재생 버튼 표시 여부 |
NSString *contentProviderKey | 콘텐츠 제공자 키 |
NSString *contentProviderName | 콘텐츠 제공자 이름 |
BOOL disableBackgroundAudio | 백그라운드 재생 가능 여부 |
NSInteger maxPlaybackRate | 콘텐츠 재생 속도 최댓값 |
NSMutableArray * listSubTitle | 자막 파일 리스트 |
NSMutableArray * listSubTitleSub | 서브 자막 파일 리스트 |
Method Details
(BOOL) addBookmark: (NSTimeInterval) position value: (NSString *) value error: (NSError **) error
북마크를 추가합니다. 북마크가 이미 존재하는 경우 덮어씁니다.
| 파라미터 | 설명 |
|---|---|
position | 추가할 시간 |
value | 북마크 타이틀 |
error | 에러 상세 |
- 반환값
YES: 가능NO: 불가
(void) changeBandWidth: (int) bandWidth
HLS 재생 중 bandwidth를 변경합니다.
(CGRect) getVideoPosition
현재 비디오의 재생 영역 좌표를 반환합니다.
- 반환값: 비디오 재생 영역 (CGRect)
(CGFloat) getZoomValue
비디오 출력화면 확대/축소 값
- 반환값: 출력화면 확대/축소 비율 값
(id) initWithContentURL: (NSString *) url
콘텐츠 URL을 사용하여 플레이어를 생성
| 파라미터 | 설명 |
|---|---|
url | 재생할 콘텐츠 URL |
- 반환값: 생성된 플레이어 ID
(id) initWithMediaContentKey: (NSString *) mck
미디어 콘텐츠 키를 사용하여 플레이어를 생성합니다. 오프라인(다운로드) 콘텐츠 재생 시 사용합니다.
| 파라미터 | 설명 |
|---|---|
mck | 재생할 콘텐츠의 미디어 콘텐츠 키 |
- 반환값: 생성된 플레이어 ID
(BOOL) isOpened
플레이어 생성 여부 확인
- 반환값
YES: 생성됨NO: 생성 안 됨
(BOOL) pauseWithError: (NSError **) error
일시정지 (prepareToPlayWithMode:error: 메서드 호출 및 성공한 경우에 사용)
| 파라미터 | 설명 |
|---|---|
error | 에러 상세 |
- 반환값
YES: 성공NO: 실패
(BOOL) playWithError: (NSError **) error
재생 시작 (prepareToPlayWithMode:error: 메서드 호출 및 성공한 경우에 사용)
| 파라미터 | 설명 |
|---|---|
error | 에러 상세 |
- 반환값
YES: 성공NO: 실패
(BOOL) prepareToPlayWithMode: (KollusPlayerType) type error: (NSError **) error
콘텐츠 재생 준비 (Kollus 플레이어 or Native)
| 파라미터 | 설명 |
|---|---|
type | 플레이어 타입 |
error | 에러 상세 |
- 반환값
YES: 성공NO: 실패
(BOOL) removeBookmark: (NSTimeInterval) position error: (NSError **) error
북마크 삭제 (북마크 kind가 KollusBookmarkKindIndex인 북마크는 삭제되지 않음)
| 파라미터 | 설명 |
|---|---|
position | 삭제할 북마크 시간 |
error | 에러 상세 |
- 반환값
YES: 삭제 가능NO: 삭제 불가
(BOOL) scroll: (CGPoint) distance error: (NSError **) error
비디오 출력화면을 이동
| 파라미터 | 설명 |
|---|---|
distance | 이동할 거리 |
error | 에러 상세 |
- 반환값
YES: 성공NO: 실패
(BOOL) scrollStopWithError: (NSError **) error
비디오 출력화면 이동 중지 (화면 위치 고정)
| 파라미터 | 설명 |
|---|---|
error | 에러 상세 |
- 반환값
YES: 성공NO: 실패
(void) setAIRate: (bool) bAIRate
AI배속 사용 설정
| 파라미터 | 설명 |
|---|---|
bAIRate | YES (기본값): AI배속, NO: 일반 배속 |
(void) setBufferingRatio: (NSInteger) bufferingRatio
버퍼링 배수 설정 (prepareToPlayWithMode:error: 메서드 호출 및 성공한 경우에 사용. PlayerTypeKollus인 경우에만 적용됩니다.)
| 파라미터 | 설명 |
|---|---|
bufferingRatio | 설정할 버퍼링 배수 |
(void) setDecoder: (bool) bHW
코덱 설정
| 파라미터 | 설명 |
|---|---|
bHW | YES (기본값): 하드웨어 코덱, NO: 소프트웨어 코덱 |
(void) setDisableZoomOut: (BOOL) bDisable
줌 기능에서 축소(zoom out) 동작을 비활성화합니다.
| 파라미터 | 설명 |
|---|---|
bDisable | NO (기본값): zoom out(축소)기능 활성화, YES: zoom out 기능 비활성화 |
(void) setNetworkTimeOut: (NSInteger) timeOut
플레이어 네트워크 Timeout 설정
| 파라미터 | 설명 |
|---|---|
timeOut | Timeout 값 (sec) |
(void) setPauseOnForeground: (BOOL) bPause
앱이 포그라운드 상태로 전환될 때 플레이어를 일시정지 상태로 유지할지 설정합니다.
| 파라미터 | 설명 |
|---|---|
bPause | NO (기본값): 포그라운드 진입 시 자동 재생(기존과 동일), YES: 포그라운드 진입시 pause 상태로 유지됨. APP에서 필요한 경우 Play 처리 필요 |
(BOOL) setSkipPlay
재생 목록에서 현재 재생 중인 동영상을 건너뜁니다.
(bool) setSubTitlePath: (char *) path
자막 파일 선택
| 파라미터 | 설명 |
|---|---|
path | 사용할 자막 파일 경로 |
- 반환값
YES: 성공NO: 실패
(bool) setSubTitleSubPath: (char *) path
서브 자막 파일 선택
| 파라미터 | 설명 |
|---|---|
path | 사용할 자막 파일 경로 |
- 반환값
YES: 성공NO: 실패
(BOOL) stopWithError: (NSError **) error
재생 중지 (prepareToPlayWithMode:error: 메서드 호출 및 성공한 경우에 사용. PlayerTypeKollus인 경우에만 적용됩니다.)
| 파라미터 | 설명 |
|---|---|
error | 에러 상세 |
- 반환값
YES: 성공NO: 실패
(BOOL) zoom: (UIPinchGestureRecognizer *) recognizer error: (NSError **) error
비디오 출력화면 확대/축소
| 파라미터 | 설명 |
|---|---|
recognizer | pinch 줌을 적용할 UIPinchGestureRecognizer 포인터 |
error | 에러 상세 |
- 반환값
YES: 성공NO: 실패
Property Details
| 속성 | 설명 |
|---|---|
(BOOL) AIRateEnable[read, write, nonatomic, unsafe_unretained] | AI배속 지원 여부 |
(BOOL) audioBackgroundPlay[read, write, nonatomic, unsafe_unretained] | 백그라운드 오디오 파일 재생 |
(id<KollusPlayerBookmarkDelegate>) bookmarkDelegate[read, write, nonatomic, weak] | 북마크 관련 델리게이트 |
(BOOL) bookmarkModifyEnabled[read, nonatomic, unsafe_unretained] | 북마크 수정 권한 여부 |
(NSArray*) bookmarks[read, write, nonatomic, strong] | 북마크 정보 배열 |
(KollusContent*) content[read, nonatomic, weak] | 사용 중인 콘텐츠 정보 |
(NSString*) contentURL[read, write, nonatomic, copy] | 재생할 콘텐츠 URL(Stream Play) |
(float) currentPlaybackRate[read, write, nonatomic, unsafe_unretained] | 콘텐츠 재생 속도. 10배속까지 지원. 2배속 초과 시 품질 저하 및 오디오/비디오 싱크 문제가 발생할 수 있음. |
(NSTimeInterval) currentPlaybackTime[read, write, nonatomic, unsafe_unretained] | 콘텐츠 현재 시간 |
(NSString*) customSkin[read, write, nonatomic, copy] | 플레이어 스킨 정보 JSON |
(BOOL) debug[read, write, nonatomic, unsafe_unretained] | 디버그 로그 출력 여부 |
(id<KollusPlayerDelegate>) delegate[read, write, nonatomic, weak] | 플레이어 관련 델리게이트 |
(BOOL) disablePlayRate[read, nonatomic, unsafe_unretained] | 배속 컨트롤 비활성화 여부 |
(id<KollusPlayerDRMDelegate>) DRMDelegate[read, write, nonatomic, weak] | DRM 정보 관련 델리게이트 |
(NSString*) extraDrmParam[read, write, nonatomic, copy] | 동적 DRM 파라미터 |
(BOOL) forceNScreen[read, nonatomic, unsafe_unretained] | 강제 이어보기 |
(BOOL) ignoreZero[read, nonatomic, unsafe_unretained] | 이어보기 시간 값이 작을 때에도 이어보기 유효 |
(NSString*) fpsCertURL[read, write, nonatomic, copy] | FairPlay 인증 URL |
(NSString*) fpsDrmURL[read, write, nonatomic, copy] | FairPlay DRM URL |
(BOOL) intro[read, nonatomic, unsafe_unretained] | 인트로 여부 |
(BOOL) isAudioOnly[read, nonatomic, unsafe_unretained] | 오디오 콘텐츠 여부 |
(BOOL) isBuffering[read, nonatomic, unsafe_unretained] | 버퍼링 진행 여부 |
(BOOL) isLive[read, nonatomic, unsafe_unretained] | 라이브 여부 |
(BOOL) isPlaying[read, nonatomic, unsafe_unretained] | 재생 중 여부 |
(BOOL) isPreparedToPlay[read, nonatomic, unsafe_unretained] | 재생 준비 완료 여부 |
(BOOL) isScrolling[read, nonatomic, unsafe_unretained] | 화면 이동 중 여부 |
(BOOL) isSeeking[read, nonatomic, unsafe_unretained] | 탐색 중 여부 |
(BOOL) isThumbnailEnable[read, nonatomic, unsafe_unretained] | 섬네일 사용 여부 |
(BOOL) isThumbnailSync[read, nonatomic, unsafe_unretained] | 섬네일 다운로드 방식(sync, async) |
(BOOL) isZoomedIn[read, nonatomic, unsafe_unretained] | 확대(zoom in) 여부 |
(KollusChat*) kollusChat[read, write, nonatomic, assign] | 라이브 채팅 객체 |
(NSMutableArray*) listSubTitle[read, nonatomic, assign] | 자막 파일 리스트 |
(NSMutableArray*) listSubTitleSub[read, nonatomic, assign] | 서브 자막 파일 리스트 |
(NSTimeInterval) liveDuration[read, nonatomic, unsafe_unretained] | 라이브 타임쉬프트 재생 길이 |
(id<KollusPlayerLMSDelegate>) LMSDelegate[read, write, nonatomic, weak] | LMS 정보 관련 델리게이트 |
(BOOL) lmsOffDownloadContent[read, write, nonatomic, unsafe_unretained] | 다운로드 콘텐츠 LMS 비활성화 여부 |
(NSString*) mediaContentKey[read, write, nonatomic, assign] | 재생할 콘텐츠의 미디어 콘텐츠 키(Local Play) |
(BOOL) muteOnStart[read, nonatomic, unsafe_unretained] | 시작 시 음소거 여부 |
(CGSize) naturalSize[read, nonatomic, unsafe_unretained] | 원본 콘텐츠 영상 크기 |
(NSMutableDictionary*) nextEpisodeCallbackParams[read, nonatomic, assign] | 다음 회차 재생 파라미터 |
(NSString*) nextEpisodeCallbackURL[read, nonatomic, copy] | 다음 회차 재생 URL |
(NSInteger) nextEpisodeShowTime[read, nonatomic, unsafe_unretained] | 다음 회차 재생 표시 시간 |
(BOOL) nextEpisodeShowButton[read, nonatomic, unsafe_unretained] | 다음 회차 재생 버튼 표시 여부 |
(NSString *) contentProviderKey[read, nonatomic, copy] | 콘텐츠 제공자 키 |
(NSString *) contentProviderName[read, nonatomic, copy] | 콘텐츠 제공자 이름 |
(BOOL) disableBackgroundAudio[read, nonatomic, unsafe_unretained] | 백그라운드 재생 가능 여부 |
(NSInteger) maxPlaybackRate[read, nonatomic, unsafe_unretained] | 콘텐츠 재생 속도 최댓값 |
(NSInteger) nOfflineBookmarkDownload[read, nonatomic, unsafe_unretained] | 1: 인덱스만 다운로드, 2: 인덱스/북마크 모두 다운로드 |
(NSInteger) nOfflineBookmarkReadOnly[read, nonatomic, unsafe_unretained] | 오프라인 북마크 추가/삭제 사용 여부 (0: 사용(기본값), 1: 사용 안 함) |
(NSInteger) nOfflineBookmarkUse[read, nonatomic, unsafe_unretained] | 오프라인 북마크 사용 여부. 다운로드 콘텐츠에만 적용 (0: 사용 안 함, 1: 사용) |
(NSInteger) nRepeatEndTime[read, nonatomic, unsafe_unretained] | 반복 재생 종료 시간 |
(NSInteger) nRepeatStartTime[read, nonatomic, unsafe_unretained] | 반복 재생 시작 시간 |
(NSInteger) nPlaybackLimitDuration[read, nonatomic, unsafe_unretained] | 재생 제한 시간 |
(NSString *) strPlaybackLimitMessage[read, nonatomic, copy] | 재생 제한 안내 메시지 |
(NSInteger) nSecSkip[read, nonatomic, unsafe_unretained] | 지정 시간(sec) 후 건너뜁니다 |
(NSInteger) nSeekableEnd[read, nonatomic, unsafe_unretained] | 탐색(Seek) 가능한 최댓값 (sec). seekable이 false일 때만 적용. -1: 탐색 불가 |
(NSInteger) nVideoWaterMarkAlpha[read, nonatomic, unsafe_unretained] | 비디오 워터마크 알파 값 |
(NSInteger) nVideoWaterMarkFontSize[read, nonatomic, unsafe_unretained] | 비디오 워터마크 폰트 크기 |
(NSInteger) nVideoWaterMarkHideTime[read, nonatomic, unsafe_unretained] | 비디오 워터마크 숨김 시간 |
(NSInteger) nVideoWaterMarkShowTime[read, nonatomic, unsafe_unretained] | 비디오 워터마크 표시 시간 |
(CGRect) playerContentFrame[read, write, nonatomic, unsafe_unretained] | 플레이어 화면 영역 |
(KollusPlayerType) playerType[read, nonatomic, assign] | 플레이어 타입 |
(KPSection*) playSection[read, write, nonatomic, assign] | 미리보기 정보 |
(NSUInteger) proxyPort[read, write, nonatomic, unsafe_unretained] | 프록시 서버 포트 번호 |
(KollusPlayerRepeatMode) repeatMode[read, write, nonatomic, unsafe_unretained] | 전체 반복 모드 |
(KollusPlayerContentMode) scalingMode[read, write, nonatomic, unsafe_unretained] | 콘텐츠 출력 모드 |
(BOOL) screenConnectEnabled[read, nonatomic, unsafe_unretained] | 화면 출력 허용 여부 |
(BOOL) seekable[read, nonatomic, unsafe_unretained] | 탐색(Seek) 가능 여부 |
(KollusStorage*) storage[read, write, nonatomic, weak] | KollusStorage 포인터 |
(NSString*) strCaptionStyle[read, nonatomic, copy] | Partner Portal에서 설정한 자막 스타일. "bg": 자막 배경 적용, 그 외: 사용자 정의 설정 |
(NSMutableArray*) streamInfoList[read, nonatomic, assign] | HLS ABR 정보 목록 |
(NSString*) strVideoWaterMark[read, nonatomic, copy] | 비디오 워터마크에 표시할 문자열 |
(NSString*) strVideoWaterMarkFontColor[read, nonatomic, copy] | 비디오 워터마크 텍스트 색상 |