TXVodPreloadManager

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

我的收藏

TXVodPreloadManager API 简介

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

接口概览

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

接口详情

getInstance

获取 TXVodPreloadManager 实例对象,单例模式。
public static TXVodPreloadManager getInstance(Context context)

startPreload:URL

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

startPreload:TXPlayInfoParams

启动预下载,支持通过腾讯云 fileId 和 视频 URL 预下载。
如果 TXPlayInfoParams#getUrl 不为空,则优先启动视频 URL 预下载,此时支持在主线调用。
如果 TXPlayInfoParams#getFileId 不为空,则启动视频 fileId 预下载,此时不支持在主线调用。
注意:
1. 预下载是耗时操作,请不要在主线程调用,在主线程调用将会抛出非法调用异常。
2. 启动预下载前,请先设置好播放引擎的缓存目录 TXPlayerGlobalSetting#setCacheFolderPath 和缓存大小TXPlayerGlobalSetting#setMaxCacheSize,这个设置是全局配置需和播放器保持一致,否则会造成播放缓存失效。
public int startPreload(final TXPlayInfoParams playInfoParams, final float preloadSizeMB, final long preferredResolution,
final ITXVodFilePreloadListener listener)
参数说明
参数名
类型
描述
playInfoParams
TXPlayInfoParams
预下载信息。
可通过 TXPlayInfoParams#setHeaders 设置预下载 http 请求头,通过TXPlayInfoParams#setPreferAudioTrack 设置预下载的音轨名称。
preloadSizeMB
float
预下载的大小,单位:MB。
preferredResolution
long
期望下载的分辨率,视频宽高的乘积(width * height)。
不支持多分辨率或不需指定时,传-1。
listener
预下载监听状态回调。
返回值
任务 ID,可用这个任务 ID 停止预下载 TXVodPreloadManager#stopPreload
如果返回-1, 表示此任务 ID 无效。

stopPreload

停止预下载。
public void stopPreload(int taskID)
参数说明
参数名
类型
描述
taskID
int
任务 ID。ID 从 TXVodPreloadManager#startPreload 返回值得到。