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 返回值得到。 |