TXVodPlayer API 简介
接口概览
基础播放接口
API | 描述 |
播放 HTTP URL 形式地址。10.7版本开始,startPlay 变更为 startVodPlay,需要通过 {@link TXLiveBase#setLicence} 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。 | |
以 fileId 形式播放,传入 TXPlayInfoParams 参数。10.7版本开始,startPlay 变更为 startVodPlay,需要通过 {@link TXLiveBase#setLicence} 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。 | |
播放 DRM 加密视频。 | |
停止播放。 | |
是否正在播放。 | |
暂停播放,停止获取流数据,保留最后一帧画面。 | |
恢复播放,重新获取流数据。 | |
跳转到视频流指定时间点,单位秒。 | |
跳转到视频流指定时间点,单位秒,小数点后精确到3位。支持精准 seek。 | |
获取当前播放位置,单位秒。 | |
获取总时长,单位秒。 | |
获取可播放时长,单位秒。 | |
获取视频宽度。 | |
获取视频高度。 | |
设置点播是否 startPlay 后自动开始播放,默认自动播放。 | |
设置是否开启硬件加速,默认开启。 | |
设置播放开始时间。 | |
设置 Video 渲染 View,该控件承载视频内容的展示。 | |
移除 Video 渲染 View。 | |
加密 HLS 的 token。 | |
获取加固加密播放密钥。 | |
是否循环播放。 | |
添加外挂字幕(播放器高级版本才支持)。 | |
返回字幕轨道信息列表(播放器高级版本才支持)。 | |
返回音频轨道信息列表(播放器高级版本才支持)。 | |
选择轨道(播放器高级版本才支持)。 | |
取消选择轨道(播放器高级版本才支持)。 | |
跳转到视频流指定 PDT(Program Date Time )时间点,可实现视频快进、快退、进度条跳转等功能,目前只支持 HLS 视频格式(播放器高级版 11.6 版本开始支持)。 参数单位毫秒(ms)。 |
播放器配置接口
API | 描述 |
设置播放器业务参数,参数格式为 <NSString *, id> 。 | |
设置字幕样式信息,可在播放后对字幕样式进行更新(播放器高级版本才支持)。 | |
设置音量均衡,响度范围,可填预设值(相关类或文件:Android:TXVodConstants;iOS:TXVodPlayConfig.h) 关:AUDIO_NORMALIZATION_OFF 开: AUDIO_NORMALIZATION_STANDARD(标准) AUDIO_NORMALIZATION_LOW (低) AUDIO_NORMALIZATION_HIGH(高) 可填自定义数值:从低到高,范围-70 - 0 LUFS。 |
视频相关接口
API | 描述 |
启用或禁用视频硬解码,默认开启。 | |
获取当前视频帧图像。 注意:由于获取当前帧图像是比较耗时的操作,所以截图会通过异步回调出来。 | |
设置镜像。 | |
设置点播的播放速率,默认1.0。 | |
返回当前播放的码率索引。 | |
当播放地址为 HSL 时,返回支持的码率(清晰度)列表。 | |
设置当前正在播放的码率索引,无缝切换清晰度。清晰度切换可能需要等待一小段时间。 | |
设置自适应播放可切换的最高码率。 |
画中画相关接口
API | 描述 |
是否支持画中画功能。 | |
是否支持无缝切换画中画功能(播放器高级版本才支持)。 | |
| 设置是否自动启动画中画(播放器高级版本才支持)。 |
进入画中画。 | |
退出画中画。 |
音频相关接口
API | 描述 |
设置是否静音播放。 | |
设置音量大小,范围:0 - 100。 |
事件通知接口
API | 描述 |
设置播放器事件回调对象。 | |
设置视频渲染回调对象。 |
TRTC 播片相关接口
API | 描述 |
开始推送视频流。 | |
取消推送视频流。 | |
开始推送音频流。 | |
取消推送音频流。 |
接口详情
startVodPlay:
通过 URL 启动播放。
10.7 版本开始,需要通过 XLiveBase#setLicence 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。
- (int)startVodPlay:(NSString *)url;
参数说明
参数名 | 类型 | 描述 |
url | NSString | 播放地址。 |
返回值
0: 播放成功。
非 0: 播放失败。
startVodPlayWithParams:
通过腾讯云 filedID 启动播放。
10.7 版本开始,需要通过 XLiveBase#setLicence 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。
- (int)startVodPlayWithParams:(TXPlayerAuthParams *)params;
参数说明
参数名 | 类型 | 描述 |
params | 视频 filedID 及信息。 |
返回值
0: 播放成功。
非 0: 播放失败。
startPlayDrm:
播放 Drm 加密视频。
10.7 版本开始,需要通过 XLiveBase#setLicence 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。
注意:
播放器高级版本才支持。
- (int)startPlayDrm:(TXPlayerDrmBuilder *)drmBuilder;
参数说明
参数名 | 类型 | 描述 |
drmBuilder | Drm 播放信息。 |
返回值
0: 播放成功。
非 0: 播放失败。
stopPlay
停止播放。
- (int)stopPlay;
返回值
0: 停止成功。
非 0: 停止失败。
isPlaying
是否正在播放。
- (bool)isPlaying;
pause
暂停播放。
- (void)pause;
resume
恢复播放。
- (void)resume;
seek:
跳转到视频流指定时间点。
- (int)seek:(float)time;
参数说明
参数名 | 类型 | 描述 |
time | int | 视频流时间点,单位为秒。 |
返回值
0: 停止成功。
非 0: 停止失败。
seek:accurateSeek:
跳转到视频流指定时间点。
- (void)seek:(float)time accurateSeek:(BOOL)isAccurateSeek;
参数说明
参数名 | 类型 | 描述 |
time | float | 视频流时间点,单位秒,小数点后精确到3位。 |
isAccurateSeek | BOOL | 是否精准 Seek。 YES:表示精确 Seek,必须寻找到当前时间点,这个会比较耗时。 NO:表示非精准 Seek,也就是寻找前一个I帧。 |
seekToPdtTime:
跳转到视频流指定时间点。
注意:
播放器高级版 11.6 版本开始支持。
- (void)seekToPdtTime:(long long)pdtTimeMs;
参数说明
参数名 | 类型 | 描述 |
pdtTimeMs | long long | 视频流 PDT 时间点,单位毫秒。 |
currentPlaybackTime
获取当前播放时间点,单位秒。
- (float)currentPlaybackTime;
duration
获取播放的视频总时长,单位秒。
- (float)duration;
playableDuration
获取当前可以播放视频时长,单位秒。
- (float)playableDuration;
width
获取视频宽度。
- (int)width;
height
获取视频高度。
- (int)height;
setupVideoWidget:insertIndex:
设置播放器渲染 View,承载视频内容的展示。
- (void)setupVideoWidget:(NSView *)view insertIndex:(unsigned int)idx;
removeVideoWidget
移除播放器渲染 View。
- (void)removeVideoWidget;
isAutoPlay
设置点播是否 startPlay 后自动开始播放。默认自动播放。
@property BOOL isAutoPlay;
setStartTime:
设置播放开始时间,单位秒,需要在启动播放前设置。
- (void)setStartTime:(CGFloat)startTime;
参数说明
参数名 | 类型 | 描述 |
startTime | CGFloat | 视频流时间点,单位秒,小数点后精确到3位。 |
token
设置加密 HLS 的 token。设置此值后,播放器自动在 URL 中的文件名之前增加 voddrm.token。
@property(nonatomic, strong) NSString *token;
getEncryptedPlayKey:
获取加固加密播放密钥。
+ (NSString *)getEncryptedPlayKey:(NSString *)key;
loop
是否循环播放。
@property(nonatomic, assign) BOOL loop;
addSubtitleSource:name:mimeType:
添加外挂字幕。
注意:
播放器高级版本才支持。
- (void)addSubtitleSource:(NSString *)url name:(NSString *)name mimeType:(TX_VOD_PLAYER_SUBTITLE_MIME_TYPE)mimeType;
参数说明
参数名 | 类型 | 描述 |
url | NSString | 字幕地址,支持 Http 链接和本地存储绝对路径。 |
name | NSString | 字幕的名字。如果添加多个字幕,字幕名称请设置为不同的名字,用于区分与其他添加的字幕,否则可能会导致字幕选择错误。 |
mimeType | TX_VOD_PLAYER_SUBTITLE_MIME_TYPE |
getSubtitleTrackInfo
返回字幕轨道信息列表。
注意:
播放器高级版本才支持。
- (NSArray<TXTrackInfo *> *)getSubtitleTrackInfo;
返回值
getAudioTrackInfo
返回音频轨道信息列表。
注意:
播放器高级版本才支持。
- (NSArray<TXTrackInfo *> *)getAudioTrackInfo;
返回值
selectTrack:
选择轨道。
注意:
播放器高级版本才支持。
- (void)selectTrack:(NSInteger)trackIndex;
参数说明
参数名 | 类型 | 描述 |
trackIndex | NSInteger | 轨道 index,通过 -[TXTrackInfo getTrackIndex] 获取。 |
deselectTrack:
取消选择轨道。
注意:
播放器高级版本才支持。
- (void)deselectTrack:(NSInteger)trackIndex;
参数说明
参数名 | 类型 | 描述 |
trackIndex | NSInteger | 轨道 index,通过 -[TXTrackInfo getTrackIndex] 获取。 |
config
@property(nonatomic, copy) TXVodPlayConfig *config;
setExtentOptionInfo:
设置播放器业务参数,参数格式为
<NSString, id>
。- (void)setExtentOptionInfo:(NSDictionary<NSString *, id> *)extInfo;
setSubtitleStyle:
设置字幕样式信息,支持播放前配置,可以支持在播放后对字幕样式进行更新。
注意:
播放器高级版本才支持。
- (void)setSubtitleStyle:(TXPlayerSubtitleRenderModel *)renderModel;
参数说明
参数名 | 类型 | 描述 |
renderModel | 字幕样式配置参数。 |
setAudioNormalization:
设置音量均衡,响度范围:-70~0(LUFS)。
注意:
播放器高级版本才支持。
- (void)setAudioNormalization:(float)value;
参数说明
参数名 | 类型 | 描述 |
value | float | 可填预设值(相关类或文件:Android:TXVodConstants;iOS:TXVodPlayConfig.h) 关:AUDIO_NORMALIZATION_OFF 开: AUDIO_NORMALIZATION_STANDARD(标准) AUDIO_NORMALIZATION_LOW (低) AUDIO_NORMALIZATION_HIGH(高) 可填自定义数值:从低到高,范围-70 - 0 LUFS。 |
setAutoMaxBitrate:
设置自适应播放可切换的最高码率。
- (void)setAutoMaxBitrate:(NSInteger)autoMaxBitrate;
enableHWAcceleration
启用或禁用视频硬解码,默认开启硬解码。
@property(nonatomic, assign) BOOL enableHWAcceleration;
snapshot:
获取当前视频帧图像。
- (void)snapshot:(void (^)(UIImage *))snapshotCompletionBlock;
参数说明
参数名 | 类型 | 描述 |
snapshotCompletionBlock | void (^)(UIImage *) | 截图回调接口类 |
setMirror:
设置镜像播放。
- (void)setMirror:(BOOL)isMirror;
setRate:
设置点播的播放速率,默认1.0。
- (void)setRate:(float)rate;
参数名 | 类型 | 描述 |
rate | float | 播放速率 [0.5, 3.0]。 |
bitrateIndex
返回当前播放的码率索引。
- (NSInteger)bitrateIndex;
supportedBitrates
当播放地址为 HSL 时,返回支持的码率(清晰度)列表。
- (NSArray<TXBitrateItem *> *)supportedBitrates;
返回值
setBitrateIndex:
设置当前正在播放的码率索引,腾讯云支持多码率 HLS 分片对齐,保证最佳体验。无缝切换清晰度时,清晰度切换可能需要等待一小段时间。
- (void)setBitrateIndex:(NSInteger)index;
参数说明
参数名 | 类型 | 描述 |
index | NSInteger | 码率索引,index == -1,表示开启 HLS 码流自适应。 index > 0 表示手动切换到对应清晰度码率,index 值可以通过接口 -[TXVodPlayer supportedBitrates] 获取。 |
setRenderMode:
设置播放器图像平铺模式。
- (void)setRenderMode:(TX_Enum_Type_RenderMode)renderMode;
参数说明
参数名 | 类型 | 描述 |
renderMode | 图像平铺模式,取值有: RENDER_MODE_FILL_SCREEN:视频画面全屏铺满,将图像等比例铺满整个屏幕,多余部分裁剪掉,此模式下画面不留黑边。 RENDER_MODE_FILL_EDGE:视频画面自适应屏幕,将图像等比例缩放,缩放后的宽和高都不会超过显示区域,居中显示,可能会留有黑边。 |
setRenderRotation:
设置播放器图像渲染角度。
- (void)setRenderRotation:(TX_Enum_Type_HomeOrientation)rotation;
参数说明
参数名 | 类型 | 描述 |
rotation | TX_Enum_Type_HomeOrientation | 图像渲染角度,取值有: HOME_ORIENTATION_RIGHT:Home 键在右侧。 HOME_ORIENTATION_DOWN:Home 键在下方。 HOME_ORIENTATION_LEFT:Home 键在左侧。 HOME_ORIENTATION_UP:Home 键在上方。 |
setMute:
设置是否静音播放,默认非静音播放。
- (void)setMute:(BOOL)bEnable;
setAudioPlayoutVolume:
设置音量大小,范围:0 - 150,默认为100。
- (void)setAudioPlayoutVolume:(int)volume;
vodDelegate
设置播放器事件回调对象。
@property(nonatomic, weak) id<TXVodPlayListener> vodDelegate;
videoProcessDelegate
设置视频渲染回调对象。
@property(nonatomic, weak) id<TXVideoCustomProcessDelegate> videoProcessDelegate;
attachTRTC
点播绑定到 TRTC 服务。
- (void)attachTRTC:(NSObject *)trtcCloud;
detachTRTC
点播解绑 TRTC 服务。
- (void)detachTRTC;
publishVideo
开始推送视频流。
- (void)publishVideo;
unpublishVideo
取消推送视频流。
- (void)unpublishVideo;
publishAudio
开始推送音频流。
- (void)publishAudio;
unpublishAudio
取消推送音频流。
- (void)unpublishAudio;
isSupportPictureInPicture
是否支持 Picture In Picture 功能(“画中画”功能)。
+ (BOOL)isSupportPictureInPicture;
isSupportSeamlessPictureInPicture
是否支持无缝切换 Picture In Picture 功能。需要高级版播放器 SDK。
+ (BOOL)isSupportSeamlessPictureInPicture;
setAutoPictureInPictureEnabled:
设置是否自动启动 Picture In Picture (自动启动画中画控制开关)。
- (void)setAutoPictureInPictureEnabled:(BOOL)enabled;
参数说明
参数名 | 类型 | 描述 |
enabled | BOOL | YES:退后台自动进入画中画。 NO:不允许自动进入画中画。 |
enterPictureInPicture
进入画中画功能(此方法需要在 Prepared 后调用)。
- (void)enterPictureInPicture;
exitPictureInPicture
退出画中画功能。
- (void)exitPictureInPicture;