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:  | 删除下载产生的文件。  | 
获取所有用户的下载列表信息,耗时接口,请不要在主线程调用。  | |
获取下载信息。  | |
获取下载信息。  | |
加密。  | |
设置下载 HTTP 请求头。  | |
设置下载回调代理对象,下载前必须设好。  | |
设置是否支持私有加密模式(配置为系统播放器请设置为 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"。  | 
返回值
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"。  | 
返回值
startDownloadDrm:resolution:userName:
下载文件 DRM 视频。
- (TXVodDownloadMediaInfo *)startDownloadDrm:(TXPlayerDrmBuilder *)drmBuilder resolution:(long)resolution userName:(NSString *)username;
参数说明
参数名  | 类型  | 描述  | 
drmBuilder  | TXPlayerDrmBuilder  | |
resolution  | long  | 偏好清晰度,多清晰度 URL 为必选参数,值为偏好清晰度宽 * 高(如720p传入921600=1280*720),单清晰度传入-1。  | 
username  | NSString  | 账户名称,可选参数,不传默认为"default"。  | 
返回值
stopDownload:
停止下载,
-[id<TXVodDownloadDelegate> onDownloadStop:] 回调时停止成功。- (void)stopDownload:(TXVodDownloadMediaInfo *)media;
参数说明
参数名  | 类型  | 描述  | 
downloadMediaInfo  | 视频下载信息。  | 
deleteDownloadMediaInfo:
删除下载信息。
- (BOOL)deleteDownloadMediaInfo:(TXVodDownloadMediaInfo *)downloadMediaInfo;
参数说明
参数名  | 类型  | 描述  | 
downloadMediaInfo  | 视频下载信息。  | 
返回值
是否删除成功。YES:删除成功;NO:删除失败。文件正在下载将无法删除。
getDownloadMediaInfoList
获取所有用户的下载列表信息。
- (NSArray<TXVodDownloadMediaInfo *> *)getDownloadMediaInfoList;
返回值
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  | |
userName  | NSString  | 账户名称,须与下载时传入的账户名称一致,若下载时未传入,这里传入空字符""。  | 
返回值
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"。  | 
返回值
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  | 是否支持私有加密模式。  |