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 | 是否支持私有加密模式。 |