KollusPlayerView
KollusPlayerView Class
#import <KollusPlayerView.h>
The core class that controls all player functions, including content playback, display output control, and event delegate configuration.
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> delegateid<KollusPlayerDRMDelegate> DRMDelegateid<KollusPlayerLMSDelegate> LMSDelegateid<KollusPlayerBookmarkDelegate> bookmarkDelegateKollusStorage * storageNSString * contentURLNSString * mediaContentKeyKollusContent * contentBOOL AIRateEnableNSTimeInterval currentPlaybackTimeNSTimeInterval liveDurationfloat currentPlaybackRateNSArray * bookmarksKollusPlayerContentMode scalingModeCGRect playerContentFrameKollusPlayerRepeatMode repeatModeBOOL screenConnectEnabledBOOL bookmarkModifyEnabledBOOL debugBOOL isPreparedToPlayBOOL isPlayingBOOL isBufferingBOOL isSeekingBOOL isScrollingBOOL isAudioOnlyBOOL muteOnStartCGSize naturalSizeBOOL isZoomedInKollusPlayerType playerTypeNSString * customSkinKPSection * playSectionNSInteger nRepeatStartTimeNSInteger nRepeatEndTimeNSInteger nPlaybackLimitDurationNSString * strPlaybackLimitMessageBOOL audioBackgroundPlayBOOL lmsOffDownloadContentNSUInteger proxyPortBOOL introBOOL seekableNSInteger nSecSkipBOOL isLiveBOOL disablePlayRateNSInteger nSeekableEndNSString * strCaptionStyleBOOL forceNScreenBOOL ignoreZeroBOOL isThumbnailEnableBOOL isThumbnailSyncNSString * fpsCertURLNSString * fpsDrmURLNSInteger nOfflineBookmarkUseNSInteger nOfflineBookmarkDownloadNSInteger nOfflineBookmarkReadOnlyNSMutableDictionary * chapterInfoNSString * strVideoWaterMarkNSInteger nVideoWaterMarkAlphaNSInteger nVideoWaterMarkFontSizeNSString * strVideoWaterMarkFontColorNSInteger nVideoWaterMarkShowTimeNSInteger nVideoWaterMarkHideTimeNSString * extraDrmParamNSMutableArray * streamInfoListKollusChat * kollusChatNSInteger nextEpisodeShowTimeNSString * nextEpisodeCallbackURLNSMutableDictionary * nextEpisodeCallbackParamsBOOL nextEpisodeShowButtonNSString *contentProviderKeyNSString *contentProviderNameBOOL disableBackgroundAudioNSInteger maxPlaybackRateNSMutableArray * listSubTitleNSMutableArray * listSubTitleSub
Method Details
(id) initWithContentURL: (NSString *) url
Initializes the player based on a content URL.
- Parameters
url: Content URL
- Return value: Created player ID
(id) initWithMediaContentKey: (NSString *) mck
Initializes the player based on a media content key. Used for offline (downloaded) content playback.
- Parameters
mck: Media content key
- Return value: Created player ID
(BOOL) prepareToPlayWithMode: (KollusPlayerType) type error: (NSError **) error
Prepares content playback with the specified player type (Kollus or Native).
- Parameters
type: Player typeerror: Error details
- Return value: Result (
YES: success,NO: failure)
(BOOL) playWithError: (NSError **) error
Starts playback if the prepareToPlayWithMode:error: call was successful.
- Parameters
error: Error details
- Return value: Result (
YES: success,NO: failure)
(BOOL) pauseWithError: (NSError **) error
Pauses playback if the prepareToPlayWithMode:error: call was successful.
- Parameters
error: Error details
- Return value: Result (
YES: success,NO: failure)
(BOOL) stopWithError: (NSError **) error
Stops playback if the prepareToPlayWithMode:error: call was successful. Applies only when the player type is PlayerTypeKollus.
- Parameters
error: Error details
- Return value: Result (
YES: success,NO: failure)
(BOOL) scroll: (CGPoint) distance error: (NSError **) error
Moves the coordinates of the screen area where the video is displayed.
- Parameters
distance: Distance to moveerror: Error details
- Return value: Result (
YES: success,NO: failure)
(BOOL) scrollStopWithError: (NSError **) error
Stops moving the video screen and locks it at the current position.
- Parameters
error: Error details
- Return value: Result (
YES: success,NO: failure)
(BOOL) zoom: (UIPinchGestureRecognizer *) recognizer error: (NSError **) error
Dynamically zooms the video screen in or out based on the user's pinch gesture.
- Parameters
recognizer: Pointer to an object containing pinch gesture information for zoomingerror: Error details
- Return value: Result (
YES: success,NO: failure)
(BOOL) addBookmark: (NSTimeInterval) position value: (NSString *) value error: (NSError **) error
Adds a bookmark. If a bookmark already exists at the position, it is overwritten.
- Parameters
position: Position at which to add the bookmarkvalue: Bookmark contenterror: Error details
- Return value: Result (
YES: success,NO: failure)
(BOOL) removeBookmark: (NSTimeInterval) position error: (NSError **) error
Removes a bookmark. Bookmarks of type KollusBookmarkKindIndex cannot be removed.
- Parameters
position: Position of the bookmark to removeerror: Error details
- Return value: Result (
YES: success,NO: failure)
(void) setNetworkTimeOut: (NSInteger) timeOut
Sets the player network Timeout.
- Parameters
timeOut: Timeout value (sec)
(void) setBufferingRatio: (NSInteger) bufferingRatio
Sets the buffering multiplier if the prepareToPlayWithMode:error: call was successful. Applies only when the player type is PlayerTypeKollus.
- Parameters
bufferingRatio: Buffering multiplier to set
(BOOL) isOpened
Checks whether the player has been created.
- Return value: Creation status (
YES: created,NO: not created)
(BOOL) setSkipPlay
Skips the currently playing video in the playlist.
- Return value: Result (
YES: success,NO: failure)
(void) changeBandWidth: (int) bandWidth
Changes the bandwidth during HLS playback.
- Parameters
bandWidth: Bandwidth value to set
(bool) setSubTitlePath: (char *) path
Selects the subtitle file to use.
- Parameters
path: Path to the subtitle file to use
- Return value: Result (
YES: success,NO: failure)
(bool) setSubTitleSubPath: (char *) path
Selects the sub subtitle file to use.
- Parameters
path: Path to the subtitle file to use
- Return value: Result (
YES: success,NO: failure)
(CGRect) getVideoPosition
Returns the coordinates of the current video playback area.
- Return value: Video playback area
(CGFloat) getZoomValue
Returns the zoom in/out ratio of the video output screen.
- Return value: Zoom in/out ratio value of the output screen
(void) setPauseOnForeground: (BOOL) bPause
Sets whether to keep the player paused when the app transitions to the foreground.
- Parameters
bPauseYES: Remains paused when transitioning to the foreground (requires callingplayWithError:directly from the app)NO(default): Automatically resumes playback when transitioning to the foreground
(void) setDisableZoomOut: (BOOL) bDisable
Disables the zoom out action in the zoom feature.
- Parameters
bDisable: Whether to disable zoom out (YES: disabled,NO(default): enabled)
(void) setDecoder: (bool) bHW
Sets the codec to use.
- Parameters
bHW: Codec type (YES(default): hardware codec,NO: software codec)
(void) setAIRate: (bool) bAIRate
Sets whether to use AI Speed.
- Parameters
bAIRate: Whether to use AI Speed (YES(default): AI Speed,NO: normal playback speed)
Property Details
| Property | Description |
|---|---|
(id<KollusPlayerDelegate>) delegate[read, write, nonatomic, weak] | Player-related delegate |
(id<KollusPlayerDRMDelegate>) DRMDelegate[read, write, nonatomic, weak] | DRM information delegate |
(id<KollusPlayerLMSDelegate>) LMSDelegate[read, write, nonatomic, weak] | LMS information delegate |
(id<KollusPlayerBookmarkDelegate>) bookmarkDelegate[read, write, nonatomic, weak] | Bookmark-related delegate |
(KollusStorage*) storage[read, write, nonatomic, weak] | KollusStorage pointer |
(NSString*) contentURL[read, write, nonatomic, copy] | Content URL to play (Stream Play) |
(NSString*) mediaContentKey[read, write, nonatomic, assign] | Media content key of the content to play (Local Play) |
(KollusContent*) content[read, nonatomic, weak] | Content information in use |
(BOOL) AIRateEnable[read, write, nonatomic, unsafe_unretained] | Whether AI Speed is supported |
(NSTimeInterval) currentPlaybackTime[read, write, nonatomic, unsafe_unretained] | Current playback time of the content |
(NSTimeInterval) liveDuration[read, nonatomic, unsafe_unretained] | Live timeshift playback duration |
(float) currentPlaybackRate[read, write, nonatomic, unsafe_unretained] | Content playback speed. Supports up to 10x speed. Exceeding 2x may cause quality degradation and audio/video sync issues. |
(NSArray*) bookmarks[read, write, nonatomic, strong] | Bookmark information array |
(KollusPlayerContentMode) scalingMode[read, write, nonatomic, unsafe_unretained] | Content output mode |
(CGRect) playerContentFrame[read, write, nonatomic, unsafe_unretained] | Player screen area |
(KollusPlayerRepeatMode) repeatMode[read, write, nonatomic, unsafe_unretained] | Full repeat mode |
(BOOL) screenConnectEnabled[read, nonatomic, unsafe_unretained] | Whether screen output is allowed |
(BOOL) bookmarkModifyEnabled[read, nonatomic, unsafe_unretained] | Whether bookmark modification is permitted |
(BOOL) debug[read, write, nonatomic, unsafe_unretained] | Whether debug log output is enabled |
(BOOL) isPreparedToPlay[read, nonatomic, unsafe_unretained] | Whether playback preparation is complete |
(BOOL) isPlaying[read, nonatomic, unsafe_unretained] | Whether playback is in progress |
(BOOL) isBuffering[read, nonatomic, unsafe_unretained] | Whether buffering is in progress |
(BOOL) isSeeking[read, nonatomic, unsafe_unretained] | Whether seeking is in progress |
(BOOL) isScrolling[read, nonatomic, unsafe_unretained] | Whether screen scrolling is in progress |
(BOOL) isAudioOnly[read, nonatomic, unsafe_unretained] | Whether the content is audio only |
(BOOL) muteOnStart[read, nonatomic, unsafe_unretained] | Whether to start muted |
(CGSize) naturalSize[read, nonatomic, unsafe_unretained] | Original content video size |
(BOOL) isZoomedIn[read, nonatomic, unsafe_unretained] | Whether zoomed in |
(KollusPlayerType) playerType[read, nonatomic, assign] | Player type |
(NSString*) customSkin[read, write, nonatomic, copy] | Player skin information JSON |
(KPSection*) playSection[read, write, nonatomic, assign] | Preview information |
(NSInteger) nRepeatStartTime[read, nonatomic, unsafe_unretained] | Repeat playback start time |
(NSInteger) nRepeatEndTime[read, nonatomic, unsafe_unretained] | Repeat playback end time |
(NSInteger) nPlaybackLimitDuration[read, nonatomic, unsafe_unretained] | Playback duration limit |
(NSString *) strPlaybackLimitMessage[read, nonatomic, copy] | Playback limit notification message |
(BOOL) audioBackgroundPlay[read, write, nonatomic, unsafe_unretained] | Background audio file playback |
(BOOL) lmsOffDownloadContent[read, write, nonatomic, unsafe_unretained] | Whether LMS is disabled for downloaded content |
(NSUInteger) proxyPort[read, write, nonatomic, unsafe_unretained] | Proxy server port number |
(BOOL) intro[read, nonatomic, unsafe_unretained] | Whether intro is active |
(BOOL) seekable[read, nonatomic, unsafe_unretained] | Whether seeking is allowed |
(NSInteger) nSecSkip[read, nonatomic, unsafe_unretained] | Intro skip waiting time (sec) |
(BOOL) isLive[read, nonatomic, unsafe_unretained] | Whether live |
(BOOL) disablePlayRate[read, nonatomic, unsafe_unretained] | Whether playback speed control is disabled |
(NSInteger) nSeekableEnd[read, nonatomic, unsafe_unretained] | Seek allowed end point (sec). Applies only when seekable is false. -1: seeking not allowed |
(NSString*) strCaptionStyle[read, nonatomic, copy] | Subtitle style set in Kollus Partner Portal ("bg": subtitle background applied, otherwise: user-defined settings) |
(BOOL) forceNScreen[read, nonatomic, unsafe_unretained] | Whether to automatically apply the resume start position without user confirmation |
(BOOL) ignoreZero[read, nonatomic, unsafe_unretained] | Enables resume even if the resume position is shorter than the reference time |
(BOOL) isThumbnailEnable[read, nonatomic, unsafe_unretained] | Whether thumbnail is enabled |
(BOOL) isThumbnailSync[read, nonatomic, unsafe_unretained] | Thumbnail download method (YES: synchronous, NO: asynchronous) |
(NSString*) fpsCertURL[read, write, nonatomic, copy] | FairPlay certificate URL |
(NSString*) fpsDrmURL[read, write, nonatomic, copy] | FairPlay DRM URL |
(NSInteger) nOfflineBookmarkUse[read, nonatomic, unsafe_unretained] | Whether offline bookmark is enabled. Applies only to downloaded content (0: disabled, 1: enabled) |
(NSInteger) nOfflineBookmarkDownload[read, nonatomic, unsafe_unretained] | 1: download index only, 2: download both index and bookmarks |
(NSInteger) nOfflineBookmarkReadOnly[read, nonatomic, unsafe_unretained] | Whether offline bookmark add/delete is enabled (0 (default): enabled, 1: disabled) |
(NSMutableDictionary*) chapterInfo[read, nonatomic, assign] | Chapter information list |
(NSString*) strVideoWaterMark[read, nonatomic, copy] | String to display in the video watermark |
(NSInteger) nVideoWaterMarkAlpha[read, nonatomic, unsafe_unretained] | Video watermark transparency |
(NSInteger) nVideoWaterMarkFontSize[read, nonatomic, unsafe_unretained] | Video watermark font size |
(NSString*) strVideoWaterMarkFontColor[read, nonatomic, copy] | Video watermark text color |
(NSInteger) nVideoWaterMarkShowTime[read, nonatomic, unsafe_unretained] | Video watermark display time |
(NSInteger) nVideoWaterMarkHideTime[read, nonatomic, unsafe_unretained] | Video watermark hide time |
(NSString*) extraDrmParam[read, write, nonatomic, copy] | Dynamic DRM parameter |
(NSMutableArray*) streamInfoList[read, nonatomic, assign] | HLS ABR information list |
(KollusChat*) kollusChat[read, write, nonatomic, assign] | Live chat object |
(NSInteger) nextEpisodeShowTime[read, nonatomic, unsafe_unretained] | Next episode display time |
(NSString*) nextEpisodeCallbackURL[read, nonatomic, copy] | Next episode playback URL |
(NSMutableDictionary*) nextEpisodeCallbackParams[read, nonatomic, assign] | Next episode playback parameters |
(BOOL) nextEpisodeShowButton[read, nonatomic, unsafe_unretained] | Whether the next episode playback button is displayed |
(NSString *) contentProviderKey[read, nonatomic, copy] | Content provider key |
(NSString *) contentProviderName[read, nonatomic, copy] | Content provider name |
(BOOL) disableBackgroundAudio[read, nonatomic, unsafe_unretained] | Whether background audio playback is restricted |
(NSInteger) maxPlaybackRate[read, nonatomic, unsafe_unretained] | Maximum content playback speed |
(NSMutableArray*) listSubTitle[read, nonatomic, assign] | Subtitle file list |
(NSMutableArray*) listSubTitleSub[read, nonatomic, assign] | Sub subtitle file list |