LiteAVSDK
腾讯云音视频 SDK ,服务于数万家企业客户的高可用组件,致力于最大限度地节省您的研发成本。
TXVodPlayer

详细描述

腾讯云点播播放器接口类
播放器包含如下能力:


结构体说明

◆ TXVodPlayer

class TXVodPlayer

构造函数

(void) - setupVideoWidget:insertIndex:
 
(void) - setupVideoWidget:insertIndex:
 
(void) - removeVideoWidget
 
(void) - setStartTime:
 
(int) - startVodPlay:
 
(int) - startPlayDrm:
 
(int) - startVodPlayWithParams:
 
(int) - stopPlay
 
(bool) - isPlaying
 
(void) - pause
 
(void) - resume
 
(int) - seek:
 
(float) - currentPlaybackTime
 
(float) - duration
 
(float) - playableDuration
 
(int) - width
 
(int) - height
 
(void) - setRenderRotation:
 
(void) - setRenderMode:
 
(void) - setMute:
 
(void) - setAudioPlayoutVolume:
 
(void) - snapshot:
 
(void) - snapshot:
 
(void) - setRate:
 
(NSArray< TXBitrateItem * > *) - supportedBitrates
 
(NSInteger) - bitrateIndex
 
(void) - setBitrateIndex:
 
(void) - setMirror:
 
(void) - enterPictureInPicture
 
(void) - exitPictureInPicture
 
(void) - addSubtitleSource:name:mimeType:
 
(void) - selectTrack:
 
(void) - deselectTrack:
 
(NSArray< TXTrackInfo * > *) - getSubtitleTrackInfo
 
(NSArray< TXTrackInfo * > *) - getAudioTrackInfo
 
(void) - setExtentOptionInfo:
 

类方法

(NSString *) + getEncryptedPlayKey:
 
(BOOL) + isSupportPictureInPicture
 

属性

id< TXLivePlayListenerdelegate
 
id< TXVodPlayListenervodDelegate
 
id< TXVideoCustomProcessDelegate > videoProcessDelegate
 
BOOL enableHWAcceleration
 
TXVodPlayConfigconfig
 
BOOL isAutoPlay
 
NSString * token
 
BOOL loop
 

TRTC场景下功能接口

(void) - attachTRTC:
 
(void) - detachTRTC
 
(void) - publishVideo
 
(void) - publishAudio
 
(void) - unpublishVideo
 
(void) - unpublishAudio
 

函数文档

◆ addSubtitleSource:name:mimeType:()

- (void) addSubtitleSource: (NSString *)  url
name: (NSString *)  name
mimeType: (TX_VOD_PLAYER_SUBTITLE_MIME_TYPE mimeType 

添加外挂字幕

参数
url字幕地址
name字幕的名称。如果添加多个字幕,字幕名称请设置为不同的名字,用于区分与其他添加的字幕,否则可能会导致字幕选择错误
mimeType字幕类型,仅支持VVT和SRT格式,详细见 TXVodSDKEventDef.h 文件

◆ attachTRTC:()

- (void) attachTRTC: (NSObject *)  trtcCloud

将当前vodPlayer附着至TRTC

参数
trtcCloudTRTC 实例指针
注意
用于辅流推送,绑定后音频播放由TRTC接管

◆ bitrateIndex()

- (NSInteger) bitrateIndex

获取当前正在播放的码率索引

◆ currentPlaybackTime()

- (float) currentPlaybackTime

获取当前播放时间

返回
单位秒

◆ deselectTrack:()

- (void) deselectTrack: (NSInteger)  trackIndex

取消选择轨道

参数
trackIndex轨道的Index

◆ detachTRTC()

- (void) detachTRTC

将当前vodPlayer和TRTC分离

◆ duration()

- (float) duration

获取视频总时长

返回
单位秒

◆ enterPictureInPicture()

- (void) enterPictureInPicture

进入画中画功能(此方法需要在Prepared后调用)

◆ exitPictureInPicture()

- (void) exitPictureInPicture

退出画中画功能

◆ getAudioTrackInfo()

- (NSArray<TXTrackInfo *> *) getAudioTrackInfo

返回音频轨道信息列表

◆ getEncryptedPlayKey:()

+ (NSString *) getEncryptedPlayKey: (NSString *)  key

获取加固加密播放密钥

参数
key加密播放密钥
返回
加固加密播放密钥

◆ getSubtitleTrackInfo()

- (NSArray<TXTrackInfo *> *) getSubtitleTrackInfo

返回字幕轨道信息列表

◆ height()

- (int) height

视频高度

◆ isPlaying()

- (bool) isPlaying

是否正在播放

返回
是否正在播放. true:正在播放. false:未播放。

◆ isSupportPictureInPicture()

+ (BOOL) isSupportPictureInPicture

是否支持 Picture In Picture功能(‘画中画’功能) 使用画中画能力时需要判断当前设备是否支持

◆ pause()

- (void) pause

暂停播放

◆ playableDuration()

- (float) playableDuration

可播放时长

返回
单位秒

◆ publishAudio()

- (void) publishAudio

开始向TRTC发布辅路音频流

◆ publishVideo()

- (void) publishVideo

开始向TRTC发布辅路视频流

◆ removeVideoWidget()

- (void) removeVideoWidget

移除Video渲染View

◆ resume()

- (void) resume

继续播放

◆ seek:()

- (int) seek: (float)  time

播放跳转到音视频流某个时间 可实现视频快进,快退,进度条跳转等功能。

参数
time视频流时间点,单位为秒

◆ selectTrack:()

- (void) selectTrack: (NSInteger)  trackIndex

选择轨道

参数
trackIndex轨道的Index

◆ setAudioPlayoutVolume:()

- (void) setAudioPlayoutVolume: (int)  volume

设置音量大小

参数
volume音量大小,100为原始音量,范围是:[0 ~ 150],默认值为100

◆ setBitrateIndex:()

- (void) setBitrateIndex: (NSInteger)  index

设置当前正在播放的码率索引,无缝切换清晰度。如果是自适用码率,设置为 INDEX_AUTO 清晰度切换可能需要等待一小段时间。腾讯云支持多码率HLS分片对齐,保证最佳体验。

参数
index码率索引,index == -1,表示开启HLS码流自适应;index > 0 TXVodPlayer#getSupportedBitrates(),表示手动切换到对应清晰度码率

◆ setExtentOptionInfo:()

- (void) setExtentOptionInfo: (NSDictionary< NSString *, NSString * > *)  extInfo

配置字幕样式

参数
renderModel支持样式参考TXPlayerSubtitleRenderModel /
  • (void) setSubtitleStyle:(TXPlayerSubtitleRenderModel)renederModel;

/** 设置扩展的Option参数

参数
extInfo拓展参数

◆ setMirror:()

- (void) setMirror: (BOOL)  isMirror

设置画面镜像

◆ setMute:()

- (void) setMute: (BOOL)  bEnable

设置静音

参数
mute是否静音播放. true:静音播放. false:不静音播放。

◆ setRate:()

- (void) setRate: (float)  rate

设置播放速率

参数
rate播放速度(0.5-2.0)

◆ setRenderMode:()

- (void) setRenderMode: (TX_Enum_Type_RenderMode)  renderMode

设置画面的裁剪模式

参数
mode填充(画面可能会被拉伸裁剪)或适应(画面可能会有黑边),默认值:TRTCVideoFillMode_Fit
注意
用于窗口渲染模式

◆ setRenderRotation:()

- (void) setRenderRotation: (TX_Enum_Type_HomeOrientation)  rotation

设置画面的方向 设置本地图像的顺时针旋转角度

参数
rotation支持 TRTCVideoRotation90 、 TRTCVideoRotation180 以及 TRTCVideoRotation270 旋转角度,默认值:TRTCVideoRotation0
注意
用于窗口渲染模式

◆ setStartTime:()

- (void) setStartTime: (CGFloat)  startTime

设置播放开始时间

参数
startTime视频流时间点,单位秒(s),小数点后精确到3位

◆ setupVideoWidget:insertIndex:() [1/2]

- (void) setupVideoWidget: (NSView *)  view
insertIndex: (unsigned int)  idx 

setupContainView 创建Video渲染View,该控件承载着视频内容的展示。

◆ setupVideoWidget:insertIndex:() [2/2]

- (void) setupVideoWidget: (UIView *)  view
insertIndex: (unsigned int)  idx 

◆ snapshot:() [1/2]

- (void) snapshot: (void(^)(NSImage *))  snapshotCompletionBlock

snapshotCompletionBlock 通过回调返回当前图像

◆ snapshot:() [2/2]

- (void) snapshot: (void(^)(UIImage *))  snapshotCompletionBlock

◆ startPlayDrm:()

- (int) startPlayDrm: (TXPlayerDrmBuilder *)  drmBuilder

启动一个标准Fairplay drm播放

参数
playerDrmBuilderDRM播放信息,请参考 TXPlayerDrmBuilder
返回
是否成功启动播放。 0:成功, -1:失败

◆ startVodPlay:()

- (int) startVodPlay: (NSString *)  url

启动播放

注意
10.7 版本开始,需要通过TXLiveBase#setLicence 设置 Licence 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。 直播 Licence、短视频 Licence 和视频播放 Licence 均可使用,若您暂未获取上述 Licence,可快速免费申请 Licence以正常播放,正式版 License 需购买
参数
url播放的流地址。
返回
是否成功启动播放。0:成功, -1:失败,-5:licence 不合法,播放失败

◆ startVodPlayWithParams:()

- (int) startVodPlayWithParams: (TXPlayerAuthParams *)  params

通过fileid方式播放。

注意
10.7 版本开始,需要通过TXLiveBase#setLicence 设置 Licence 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。 直播 Licence、短视频 Licence 和视频播放 Licence 均可使用,若您暂未获取上述 Licence,可快速免费申请 Licence以正常播放,正式版 License 需购买
参数
params方式播放参数,参考 TXPlayerAuthParams
返回
是否成功启动播放。0:成功, -1:失败,-5:licence 不合法,播放失败

◆ stopPlay()

- (int) stopPlay

停止播放音视频流

返回
是否成功停止播放. 0:成功. 非0:失败。

◆ supportedBitrates()

- (NSArray<TXBitrateItem *> *) supportedBitrates

当播放地址为master playlist,返回支持的码率(清晰度)

返回
码率列表;无多码率支持返回空数组

◆ unpublishAudio()

- (void) unpublishAudio

结束向TRTC发布辅路音频流

◆ unpublishVideo()

- (void) unpublishVideo

结束向TRTC发布辅路视频流

◆ width()

- (int) width

视频宽度

属性说明

◆ config

- (TXVodPlayConfig*) config
readwritenonatomiccopy

设置播放器配置信息,推荐在启动播放前设置配置信息

◆ delegate

- (id<TXLivePlayListener>) delegate
readwritenonatomicweak

事件回调, 建议使用vodDelegate

弃用:
此接口已废弃,不推荐使用

◆ enableHWAcceleration

- (BOOL) enableHWAcceleration
readwritenonatomicassign

是否开启硬件加速

◆ isAutoPlay

- (BOOL) isAutoPlay
readwriteatomic

设置点播是否startPlay后自动开始播放。默认自动播放

◆ loop

- (BOOL) loop
readwritenonatomicassign

是否循环播放

◆ token

- (NSString*) token
readwritenonatomicstrong

加密HLS的token。设置此值后,播放器自动在URL中的文件名之前增加 voddrm.token.TOKEN

◆ videoProcessDelegate

- (id<TXVideoCustomProcessDelegate>) videoProcessDelegate
readwritenonatomicweak

视频渲染回调。

仅硬解支持,全平台接口软解硬解均支持

◆ vodDelegate

- (id<TXVodPlayListener>) vodDelegate
readwritenonatomicweak

事件回调