tencent cloud

云点播

动态与公告
产品动态
公告
产品简介
产品概述
产品特性
产品功能
产品优势
应用场景
解决方案
专业版
云点播专业版简介
快速入门
控制台指南
开发指南
购买指南
计费概述
计费方式
购买指引
账单查询
续费说明
欠费说明
退费说明
快速入门
控制台指南
控制台介绍
服务概览
应用管理
媒体管理
资源包管理
License 管理
实时日志分析
实践教程
媒体上传
如何将点播的媒体文件进行智能降冷
媒体处理
分发播放
如何接收事件通知
如何进行源站迁移
直播录制
如何进行自定义源站回源
直播精彩剪辑固化至云点播 VOD 指引
如何使用 EdgeOne 分发云点播内容
开发指南
媒体上传
媒体加工处理
媒体 AI
事件通知
媒体分发播放
媒体加密与版权保护
播放频道
访问管理
下载媒体文件
应用体系
错误码
播放器 SDK 文档
概述
基本概念
产品功能
Demo 体验
免费测试
购买指南
SDK 下载
License 指引
播放器教程
含 UI 集成方案
无 UI 集成方案
高级功能
API 文档
第三方播放器插件
Player SDK Policy
服务端 API 文档
History
Introduction
API Category
Other APIs
Media Processing APIs
Task Management APIs
Media Upload APIs
Media Management APIs
Event Notification Relevant API
Media Categorization APIs
Domain Name Management APIs
Distribution APIs
AI-based Sample Management APIs
Region Management APIs
Data Statistics APIs
Carousel-Related APIs
Just In Time Transcode APIs
No longer recommended APIs
Making API Requests
AI-based image processing APIs
Parameter Template APIs
Task Flow APIs
Data Types
Error Codes
Video on Demand API 2024-07-18
常见问题
移动端播放问题
费用相关问题
视频上传问题
视频发布问题
视频播放问题
Web 端播放问题
全屏播放问题
数据统计问题
访问管理相关问题
媒资降冷问题
相关协议
Service Level Agreement
VOD 政策
隐私政策
数据处理和安全协议
联系我们
词汇表

TXVodPlayer

PDF
聚焦模式
字号
最后更新时间: 2025-12-12 11:08:09

TXVodPlayer API 简介

TXVodPlayer 是核心播放类,主要负责播放、暂停和倍速控制等播放控制。播放器的完整能力请参见 播放器 SDK 功能说明

接口概览

基础播放接口

API
描述
播放 HTTP URL 形式地址。10.7版本开始,startPlay 变更为 startVodPlay,需要通过
+[TXLiveBase setLicenceURL:key:] 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。
直播 License、短视频 License 和播放器 License 均可使用,若您暂未获取上述 License ,可单击 播放器License 进行申请,正式版 License 需购买。
以 fileId 形式播放,传入 TXPlayInfoParams 参数。10.7版本开始,startPlay 变更为 startVodPlay,需要通过 +[TXLiveBase setLicenceURL:key:] 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。
直播 License、短视频 License 和播放器 License 均可使用,若您暂未获取上述 License ,可单击 播放器License 进行申请,正式版 License 需购买。
播放 DRM 加密视频。
stopPlay
停止播放。
isPlaying
是否正在播放。
pause
暂停播放,停止获取流数据,保留最后一帧画面。
resume
恢复播放,重新获取流数据。
seek
跳转到视频流指定时间点,单位秒。
跳转到视频流指定时间点,单位秒,小数点后精确到3位。支持精准 seek。
获取当前播放位置,单位秒。
duration
获取总时长,单位秒。
获取可播放时长,单位秒。
width
获取视频宽度。
height
获取视频高度。
设置点播是否 startPlay 后自动开始播放,默认自动播放。
设置是否开启硬件加速,默认开启。
设置播放开始时间。
设置 Video 渲染 View,该控件承载视频内容的展示。
移除 Video 渲染 View。
token
加密 HLS 的 token。
获取加固加密播放密钥。
loop
是否循环播放。
添加外挂字幕(播放器高级版本才支持)。
返回字幕轨道信息列表(播放器高级版本才支持)。
返回音频轨道信息列表(播放器高级版本才支持)。
选择轨道(播放器高级版本才支持)。
取消选择轨道(播放器高级版本才支持)。
跳转到视频流指定 PDT(Program Date Time )时间点,可实现视频快进、快退、进度条跳转等功能,目前只支持 HLS 视频格式(播放器高级版 11.6 版本开始支持)。
参数单位毫秒(ms)。

播放器配置接口

API
描述
config
设置播放器配置信息,配置信息请参见 TXVodPlayConfig
设置播放器业务参数,参数格式为<NSString *, id>
设置字幕样式信息,可在播放后对字幕样式进行更新(播放器高级版本才支持)。
设置音量均衡,响度范围,可填预设值(相关类或文件:Android:TXVodConstants;iOS:TXVodPlayConfig.h)
关:AUDIO_NORMALIZATION_OFF
开:
AUDIO_NORMALIZATION_STANDARD(标准)
AUDIO_NORMALIZATION_LOW (低)
AUDIO_NORMALIZATION_HIGH(高)
可填自定义数值:从低到高,范围-70 - 0 LUFS。

视频相关接口

API
描述
启用或禁用视频硬解码,默认开启。
snapshot:
获取当前视频帧图像。
注意:由于获取当前帧图像是比较耗时的操作,所以截图会通过异步回调出来。
设置镜像。
setRate:
设置点播的播放速率,默认1.0。
返回当前播放的码率索引。
当播放地址为 HSL 时,返回支持的码率(清晰度)列表。
设置当前正在播放的码率索引,无缝切换清晰度。清晰度切换可能需要等待一小段时间。
设置自适应播放可切换的最高码率。

画中画相关接口

API
描述
是否支持画中画功能。

是否支持无缝切换画中画功能(播放器高级版本才支持)。

设置是否自动启动画中画(播放器高级版本才支持)。
进入画中画。
退出画中画。

音频相关接口

API
描述
setMute:
设置是否静音播放。
设置音量大小,范围:0 - 100。

事件通知接口

API
描述
设置播放器事件回调对象。
设置视频渲染回调对象。

TRTC 播片相关接口

通过以下接口,可以把点播播放器的音视频流通过 TRTC 进行推送,更多 TRTC 服务请参见 TRTC 产品概述
API
描述
点播绑定到 TRTC 服务。
点播解绑 TRTC 服务。
开始推送视频流。
取消推送视频流。
开始推送音频流。
取消推送音频流。

接口详情

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 版本开始,需要通过 -[TXLiveBase setLicenceURL:key:] 设置 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
float
视频流时间点,单位为秒。
返回值
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
字幕类型,仅支持 VVT 和 SRT 格式。具体见TX_VOD_PLAYER_SUBTITLE_MIME_TYPE

getSubtitleTrackInfo

返回字幕轨道信息列表。
注意:
播放器高级版本才支持。
- (NSArray<TXTrackInfo *> *)getSubtitleTrackInfo;
返回值
NSArray<TXTrackInfo *> *:字幕轨道信息列表。

getAudioTrackInfo

返回音频轨道信息列表。
注意:
播放器高级版本才支持。
- (NSArray<TXTrackInfo *> *)getAudioTrackInfo;
返回值
NSArray<TXTrackInfo *> *:音频轨道信息列表。

selectTrack:

选择轨道。
注意:
播放器高级版本才支持。
- (void)selectTrack:(NSInteger)trackIndex;
参数说明
参数名
类型
描述
trackIndex
NSInteger
轨道 index,通过 -[TXTrackInfo getTrackIndex] 获取。

deselectTrack:

取消选择轨道。
注意:
播放器高级版本才支持。
- (void)deselectTrack:(NSInteger)trackIndex;
参数说明
参数名
类型
描述
trackIndex
NSInteger
轨道 index,通过 -[TXTrackInfo getTrackIndex] 获取。

config

设置播放器配置信息,请参考 TXVodPlayConfig
@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;
返回值
NSArray<TXBitrateItem *> : 码率列表。

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;

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈