TXVodDownloadManager API 简介
点播播放器视频下载接口类。
视频下载支持下载 MP4 和 HLS 视频,对应嵌套 HLS 视频,需要指定偏好清晰度(preferredResolution)。
类常量
参数名 | 类型 | 值 | 描述 |
TXVodDownloadManager#DOWNLOAD_SUCCESS | int | 0 | 下载成功。 |
TXVodDownloadManager#DOWNLOAD_AUTH_FAILED | int | -5001 | fileId下载鉴权失败。 |
TXVodDownloadManager#DOWNLOAD_NO_FILE | int | -5003 | 下载文件不存在。 |
TXVodDownloadManager#DOWNLOAD_FORMAT_ERROR | int | -5004 | 下载格式不支持。 |
TXVodDownloadManager#DOWNLOAD_DISCONNECT | int | -5005 | 网络错误。 |
TXVodDownloadManager#DOWNLOAD_HLS_KEY_ERROR | int | -5006 | 获取 HLS 解密 Key 失败 。 |
TXVodDownloadManager#DOWNLOAD_PATH_ERROR | int | -5007 | 下载目录访问失败。 |
TXVodDownloadManager#DOWNLOAD_403FORBIDDEN | int | -5008 | 签名过期等或者请求不合法。 |
接口概览
API | 描述 |
获取 TXVodDownloadManager 实例对象,单例模式。 | |
设置下载 HTTP 请求头。 | |
设置下载回调方法,下载前必须设好。 | |
以 URL 方式开始下载。 | |
以 fileId 方式开始下载。 | |
以 Drm 方式开始下载。 | |
停止下载,ITXVodDownloadListener.onDownloadStop 回调时停止成功。 | |
删除下载信息。 | |
获取所有用户的下载列表信息,耗时接口,请不要在主线程调用。 | |
获取下载信息,耗时接口,请不要在主线程调用。 | |
获取下载信息,耗时接口,请不要在主线程调用。 |
接口详情
getInstance
获取 TXVodDownloadManager 实例对象,单例模式。
public static TXVodDownloadManager getInstance()
setHeaders
设置下载 HTTP 请求头。
public void setHeaders(Map<String, String> headers)
setListener
设置下载回调方法,下载前必须设好。
public void setListener(ITXVodDownloadListener listener)
参数说明
参数名 | 类型 | 描述 |
listener | 下载监听状态回调。 |
startDownloadUrl
以 URL 方式开始下载。
注意:启动下载前,请先设置好播放引擎的缓存目录
TXPlayerGlobalSetting#setCacheFolderPath
。public TXVodDownloadMediaInfo startDownloadUrl(String url, long preferredResolution, String userName)
参数说明
参数名 | 类型 | 描述 |
url | String | 下载地址,必选参数,否则下载失败。 |
preferredResolution | long | 下载偏好清晰度,多清晰度 URL 为必选参数,值为偏好清晰度宽 * 高(如720p传入921600 = 1280*720),单清晰度传入-1。 |
userName | String | 账户名称,可选参数,不传默认为"default"。 |
返回值
startDownloadUrl
以 URL 方式开始下载。
已废弃,推荐使用:startDownloadUrl(String, long, String)
public TXVodDownloadMediaInfo startDownloadUrl(String url, String userName)
startDownloadUrl
以 URL 方式开始下载。
已废弃,推荐使用:startDownloadUrl(String, long, String)
public TXVodDownloadMediaInfo startDownloadUrl(String url)
startDownload
以腾讯云视频 fileId 方式开始下载
public TXVodDownloadMediaInfo startDownload(final TXVodDownloadDataSource dataSource)
参数说明
参数名 | 类型 | 描述 |
dataSource | 下载资源对象。 |
返回值
startDownloadDrm
以 Drm 方式开始下载
public TXVodDownloadMediaInfo startDownloadDrm(final TXPlayerDrmBuilder drmBuilder, long preferredResolution, String userName)
参数说明
参数名 | 类型 | 描述 |
drmBuilder | Drm 资源构造。 | |
preferredResolution | long | 下载偏好清晰度,多清晰度 URL 为必选参数,值为偏好清晰度宽 * 高(如720p传入921600=1280*720),单清晰度传入-1。 |
userName | String | 账户名称,可选参数,不传默认为"default"。 |
返回值
stopDownload
停止下载,ITXVodDownloadListener.onDownloadStop 回调时停止成功。
public void stopDownload(TXVodDownloadMediaInfo downloadMediaInfo)
参数说明
参数名 | 类型 | 描述 |
downloadMediaInfo | 视频下载信息。 |
deleteDownloadFile
删除下载文件。
已废弃,推荐使用 deleteDownloadMediaInfo 。
public boolean deleteDownloadFile(String playPath)
参数说明
参数名 | 类型 | 描述 |
playPath | String | 文件路径。 |
deleteDownloadMediaInfo
删除下载信息。
public boolean deleteDownloadMediaInfo(TXVodDownloadMediaInfo downloadMediaInfo)
参数说明
参数名 | 类型 | 描述 |
downloadMediaInfo | 视频下载信息。 |
getDownloadMediaInfoList
获取所有用户的下载列表信息。
public List<TXVodDownloadMediaInfo> getDownloadMediaInfoList()
返回值
getDownloadMediaInfo
获取下载信息。
调用此接口要确保之前通过
TXVodDownloadDataSource(int, String, int, String, String)
创建下载任务参数,具体参考
TXVodDownloadMediaInfo#getDataSource 和 TXVodDownloadDataSource#getUserName
。public TXVodDownloadMediaInfo getDownloadMediaInfo(int appId, String fileId, int qualityId, String userName)
参数说明
参数名 | 类型 | 描述 |
appId | int | 腾讯云点播应用 appId。 |
fileId | String | 腾讯云点播视频 fileId。 |
qualityId | int | 视频画质 Id , 具体参考 TXVodDownloadDataSource#QUALITY_240P 常量。 |
userName | String | 账户名称,须与下载时传入的账户名称一致,若下载时未传入,这里传入空字符""。 |
返回值
getDownloadMediaInfo
获取下载信息,调用此接口要确保之前调用 startDownloadUrl(String, long, String) 启动下载。
public TXVodDownloadMediaInfo getDownloadMediaInfo(String url, long preferredResolution, String userName)
参数说明
参数名 | 类型 | 描述 |
url | String | 下载地址,必选参数,否则下载失败。 |
preferredResolution | long | 下载偏好清晰度,多清晰度 URL 为必选参数,值为偏好清晰度宽 * 高(如720p传入921600=1280*720),单清晰度传入-1。 |
userName | String | 账户名称,可选参数,不传默认为"default"。 |
返回值
getDownloadMediaInfo
获取 URL下载信息,已废弃,推荐使用:getDownloadMediaInfo(String, long, String)。
public TXVodDownloadMediaInfo getDownloadMediaInfo(String url)
getDownloadMediaInfo
获取 URL下载信息,已废弃,推荐使用:getDownloadMediaInfo(String, long, String)。
public TXVodDownloadMediaInfo getDownloadMediaInfo(int appId, String fileId, int qualityId)