TXVodPreloadManager

最近更新时间:2025-05-21 18:53:02

我的收藏

TXVodPreloadManager API 简介

点播播放器预下载接口类。
不需要创建播放器实例,预先下载视频部分内容,使用播放器时,可以加快视频启播速度,提供更好的播放体验。

接口概览

API
描述
获取 TXVodPreloadManager 实例对象,单例模式。
通过 URL 启动预下载。
通过 fileId 或 URL 启动预下载,推荐优先使用此接口。
停止预下载。

接口详情

sharedManager

获取 TXVodPreloadManager 实例对象,单例模式。
+ (instancetype)sharedManager;

startPreload:preloadSize:preferredResolution:delegate:

通过 URL 启动预下载。
注意:启动预下载前,请先设置好播放引擎的缓存目录 +[TXPlayerGlobalSetting setCacheFolderPath] 和缓存大小
+[TXPlayerGlobalSetting setMaxCacheSize:],这个设置是全局配置需和播放器保持一致,否则会造成播放缓存失效。
- (int)startPreload:(NSString *)requestURL preloadSize:(float)preloadSizeMB preferredResolution:(long)preferredResolution delegate:(id<TXVodPreloadManagerDelegate>)delegate;
参数说明
参数名
类型
描述
requestURL
NSString
预下载的视频 URL。
preloadSizeMB
float
预下载的大小,单位:MB。
preferredResolution
long
期望下载的分辨率,视频宽高的乘积(width * height)。
不支持多分辨率或不需指定时,传-1。
delegate
预下载监听状态回调对象。
返回值
任务 ID,可用这个任务 ID 停止预下载 -[TXVodPreloadManager stopPreload:]
如果返回-1, 表示此任务 ID 无效。

startPreloadWithModel:preloadSize:preferredResolution:delegate:

启动预下载,支持通过腾讯云 fileId 和视频 URL 预下载。
如果 -[TXPlayerAuthParams url]不为空,则优先启动视频 URL 预下载,此时支持在主线调用。
如果 -[TXPlayerAuthParams fileId]不为空,则启动视频 fileId 预下载,此时不支持在主线调用。
注意:
1. 预下载是耗时操作,请不要在主线程调用,在主线程调用将会抛出非法调用异常。
2. 启动预下载前,请先设置好播放引擎的缓存目录 +[TXPlayerGlobalSetting setCacheFolderPath:]和缓存大小+[TXPlayerGlobalSetting setMaxCacheSize:],这个设置是全局配置需和播放器保持一致,否则会造成播放缓存失效。
- (int)startPreloadWithModel:(TXPlayerAuthParams *)params preloadSize:(float)preloadSizeMB preferredResolution:(long)preferredResolution delegate:(id<TXVodPreloadManagerDelegate>)delegate;
参数说明
参数名
类型
描述

params



预下载信息。
可通过 -[TXPlayerAuthParams headers] 设置预下载 http 请求头,通过-[TXPlayerAuthParams preferAudioTrack] 设置预下载的音轨名称。
preloadSizeMB
float
预下载的大小,单位:MB。
preferredResolution
long
期望下载的分辨率,视频宽高的乘积(width * height)。
不支持多分辨率或不需指定时,传-1。
delegate
预下载监听状态回调对象。
返回值
任务 ID,可用这个任务 ID 停止预下载 -[TXVodPreloadManager stopPreload:]
如果返回-1, 表示此任务 ID 无效。

stopPreload:

停止预下载。
- (void)stopPreload:(int)taskID;
参数说明
参数名
类型
描述
taskID
int
任务 ID。ID 从 startPreload 接口返回值得到。