TXVodDownloadManager

最近更新时间:2025-05-26 18:16:22

我的收藏

TXDownloadError

下载错误码。
参数名
描述
0
TXDownloadSuccess
下载成功。
-5001
TXDownloadAuthFaild
fileId 鉴权失败。
-5003
TXDownloadNoFile
无此清晰度文件。
-5004
TXDownloadFormatError
格式不支持。
-5005
TXDownloadDisconnet
网络断开。
-5006
TXDownloadHlsKeyError
获取 HLS 解密 key 失败。
-5007
TXDownloadPathError
下载目录访问失败。
-5008
TXDownload403Forbidden
鉴权信息不通过,如签名过期或者请求不合法。

TXVodDownloadManager API 简介

点播播放器视频下载接口类。
视频下载支持下载 MP4 和 HLS 视频,对应嵌套 HLS 视频,需要指定偏好清晰度(preferredResolution)

接口概览

API
描述
获取 TXVodDownloadManager 实例对象,单例模式。
设置下载文件的根目录。如不存在,将自动创建。
以 URL 方式开始下载。
以 fileId 方式开始下载。
以 URL 方式开始下载,可指定偏好清晰度和账户名称。
以 Drm 方式开始下载。
停止下载,-[TXVodDownloadDelegate onDownloadStop:] 回调时停止成功。
删除下载信息。
deleteDownloadFile:
删除下载产生的文件。
获取所有用户的下载列表信息,耗时接口,请不要在主线程调用。
获取下载信息。
获取下载信息。
加密。
headers
设置下载 HTTP 请求头。
delegate
设置下载回调代理对象,下载前必须设好。
设置是否支持私有加密模式(配置为系统播放器请设置为 NO,自研播放器设置为 YES)。默认设置为 YES。

接口详情

shareInstance

获取 TXVodDownloadManager 实例对象,单例模式。
+ (TXVodDownloadManager *)shareInstance;

setDownloadPath:

设置下载文件的根目录。此处设置的下载目录优先以+[TXPlayerGlobalSetting setCacheFolderPath:]设置为准。
- (void)setDownloadPath:(NSString *)path;

startDownload:

以腾讯云视频 fileId 方式开始下载
- (TXVodDownloadMediaInfo *)startDownload:(TXVodDownloadDataSource *)source;
参数说明
参数名
类型
描述
source
下载资源对象。

startDownload:url:

以 URL 方式开始下载。
- (TXVodDownloadMediaInfo *)startDownload:(NSString *)username url:(NSString *)url;
参数说明
参数名
类型
描述
url
NSString
下载地址,必填。
username
NSString
账户名称,可选参数,不传默认为"default"。
返回值
视频信息和下载状态,具体见 TXVodDownloadMediaInfo

startDownloadUrl:resolution:userName:

以 URL 方式开始下载。
- (TXVodDownloadMediaInfo *)startDownloadUrl:(NSString *)url resolution:(long)resolution userName:(NSString *)username;
参数说明
参数名
类型
描述
url
NSString
下载地址,必填。
resolution
long
偏好清晰度,多清晰度 url 为必选参数,值为偏好清晰度宽 * 高(如720p传入921600 = 1280 * 720),单清晰度传入-1。
username
NSString
账户名称,可选参数,不传默认为"default"。
返回值
视频信息和下载状态,具体见 TXVodDownloadMediaInfo

startDownloadDrm:resolution:userName:

下载文件 DRM 视频。
- (TXVodDownloadMediaInfo *)startDownloadDrm:(TXPlayerDrmBuilder *)drmBuilder resolution:(long)resolution userName:(NSString *)username;
参数说明
参数名
类型
描述
drmBuilder
TXPlayerDrmBuilder
DRM 下载对象,参考 TXPlayerDrmBuilder
resolution
long
偏好清晰度,多清晰度 URL 为必选参数,值为偏好清晰度宽 * 高(如720p传入921600=1280*720),单清晰度传入-1。
username
NSString
账户名称,可选参数,不传默认为"default"。
返回值
视频信息和下载状态,具体见 TXVodDownloadMediaInfo

stopDownload:

停止下载,-[id<TXVodDownloadDelegate> onDownloadStop:] 回调时停止成功。
- (void)stopDownload:(TXVodDownloadMediaInfo *)media;
参数说明
参数名
类型
描述
downloadMediaInfo
视频下载信息。

deleteDownloadMediaInfo:

删除下载信息。
- (BOOL)deleteDownloadMediaInfo:(TXVodDownloadMediaInfo *)downloadMediaInfo;
参数说明
参数名
类型
描述
downloadMediaInfo
视频下载信息。
返回值
是否删除成功。YES:删除成功;NO:删除失败。文件正在下载将无法删除。

getDownloadMediaInfoList

获取所有用户的下载列表信息。
- (NSArray<TXVodDownloadMediaInfo *> *)getDownloadMediaInfoList;
返回值
视频下载信息列表:NSArray<TXVodDownloadMediaInfo>。

getDownloadMediaInfo:fileId:qualityId:userName:

获取下载信息。
调用此接口要确保之前通过 startDownload:startDownload:url:startDownloadDrm:resolution:userName:创建过下载任务参数。
- (TXVodDownloadMediaInfo *)getDownloadMediaInfo:(int)appId fileId:(NSString *)fileId qualityId:(int)qualityId userName:(NSString *)userName;
参数说明
参数名
类型
描述
appId
int
腾讯云点播应用 appId。
fileId
NSString
腾讯云点播视频 fileId。
qualityId
int
视频画质 Id , 具体参考 TXVodQuality 常量。
userName
NSString
账户名称,须与下载时传入的账户名称一致,若下载时未传入,这里传入空字符""。
返回值
视频下载信息 TXVodDownloadMediaInfo

getDownloadMediaInfo:resolution:userName:

获取下载信息。
- (TXVodDownloadMediaInfo *)getDownloadMediaInfo:(NSString *)url resolution:(long)preferredResolution userName:(NSString *)userName;
参数说明
参数名
类型
描述
url
NSString
下载地址,必选参数,否则下载失败。
preferredResolution
long
下载偏好清晰度,多清晰度 URL 为必选参数,值为偏好清晰度宽 * 高(如720p传入921600=1280*720),单清晰度传入-1。
userName
userName
账户名称,可选参数,不传默认为"default"。
返回值
视频下载信息 TXVodDownloadMediaInfo

encryptHexStringHls:

加密。

+ (NSString *)encryptHexStringHls:(NSString *)originHexStr
参数名
类型
描述
originHexStr
NSString
初始十六进制字符串。
返回值
加密串:NSString

headers

设置 http 请求头。

@property(nonatomic, strong) NSDictionary *headers;
参数名
类型
描述
headers
NSDictionary
http 请求头。

delegate

设置下载任务回调对象。

@property(nonatomic, weak) id<TXVodDownloadDelegate> delegate;
参数名
类型
描述
delegate
下载任务回调对象。

supportPrivateEncryptMode

是否支持私有加密模式(配置为系统播放器时设置为 NO,自研播放器设置为 YES)。默认为 YES。

@property(nonatomic, assign) BOOL supportPrivateEncryptMode;
参数名
类型
描述
supportPrivateEncryptMode
BOOL
是否支持私有加密模式。