DWDownloadSessionManager Class Reference
Inherits from | NSObject |
---|---|
Declared in | DWDownloadSessionManager.h DWDownloadSessionManager.m |
downloadModelList
下载任务队列
@property (nonatomic, strong, readonly) NSArray<DWDownloadModel*> *downloadModelList
Discussion
下载任务队列
Declared In
DWDownloadSessionManager.h
delegate
代理
@property (nonatomic, weak) id<DWDownloadSessionDelegate> delegate
Discussion
代理
Declared In
DWDownloadSessionManager.h
allowsCellular
是否允许使用移动流量 YES支持 NO不支持 默认支持
@property (nonatomic, assign) BOOL allowsCellular
Discussion
是否允许使用移动流量 YES支持 NO不支持 默认支持
Declared In
DWDownloadSessionManager.h
isBatchDownload
全部并发 默认YES, 当YES时,忽略maxDownloadCount
@property (nonatomic, assign) BOOL isBatchDownload
Discussion
全部并发 默认YES, 当YES时,忽略maxDownloadCount
Declared In
DWDownloadSessionManager.h
maxDownloadCount
允许同时下载的最大并发数,默认为1,最大为4
@property (nonatomic, assign) NSInteger maxDownloadCount
Discussion
允许同时下载的最大并发数,默认为1,最大为4
Declared In
DWDownloadSessionManager.h
resumeDownloadFIFO
等待下载队列 先进先出 默认YES, 当NO时,先进后出
@property (nonatomic, assign) BOOL resumeDownloadFIFO
Discussion
等待下载队列 先进先出 默认YES, 当NO时,先进后出
Declared In
DWDownloadSessionManager.h
+ manager
初始化DWDownloadSessionManager
+ (DWDownloadSessionManager *)manager
Return Value
DWDownloadSessionManager对象
Discussion
初始化DWDownloadSessionManager
Declared In
DWDownloadSessionManager.h
+ createDownloadModel:Quality:AndOthersInfo:
+ (DWDownloadModel *)createDownloadModel:(DWVodVideoModel *)videoMdoel Quality:(NSString *)quality AndOthersInfo:(NSDictionary *)othersInfo
Parameters
videoMdoel |
点播视频model 非空 |
---|---|
quality |
媒体品质 非空 |
othersInfo |
自定义字段 可为空 |
Return Value
创建成功返回DWDownloadModel对象,如果失败,返回nil
Discussion
Declared In
DWDownloadSessionManager.h
– startWithDownloadModel:
开始下载任务
- (void)startWithDownloadModel:(DWDownloadModel *)downloadModel
Parameters
downloadModel |
DWDownloadModel对象 |
---|
Discussion
开始下载任务
Declared In
DWDownloadSessionManager.h
– startWithDownloadModel:progress:state:
开始下载任务 ,所有回调均已回到主线程中
- (void)startWithDownloadModel:(DWDownloadModel *)downloadModel progress:(DWDownloadProgressBlock)progress state:(DWDownloadStateBlock)state
Parameters
downloadModel |
DWDownloadModel对象 |
---|---|
progress |
下载进度回调 |
state |
下载状态变动回调 |
Discussion
开始下载任务 ,所有回调均已回到主线程中
Declared In
DWDownloadSessionManager.h
– suspendWithDownloadModel:
暂停下载任务
- (void)suspendWithDownloadModel:(DWDownloadModel *)downloadModel
Parameters
downloadModel |
DWDownloadModel对象 |
---|
Discussion
暂停下载任务
Declared In
DWDownloadSessionManager.h
– resumeWithDownloadModel:
恢复下载任务
- (void)resumeWithDownloadModel:(DWDownloadModel *)downloadModel
Parameters
downloadModel |
DWDownloadModel对象 |
---|
Discussion
恢复下载任务
Declared In
DWDownloadSessionManager.h
– deleteWithDownloadModel:
删除下载任务以及本地缓存
- (void)deleteWithDownloadModel:(DWDownloadModel *)downloadModel
Parameters
downloadModel |
DWDownloadModel对象 |
---|
Discussion
删除下载任务以及本地缓存
Declared In
DWDownloadSessionManager.h
– deleteAllDownloadModel
删除全部任务
- (void)deleteAllDownloadModel
Discussion
删除全部任务
Declared In
DWDownloadSessionManager.h
– downLoadingModelForURLString:
获取下载模型
- (DWDownloadModel *)downLoadingModelForURLString:(NSString *)URLString
Parameters
URLString |
下载地址 |
---|
Return Value
DWDownloadModel对象
Discussion
获取下载模型
Declared In
DWDownloadSessionManager.h
– checkLocalResourceWithVideoId:WithQuality:
判断当前资源是已在下载队列中
- (BOOL)checkLocalResourceWithVideoId:(NSString *)videoId WithQuality:(NSString *)quality
Parameters
videoId |
视频id 非空 |
---|---|
quality |
媒体品质 非空 |
Return Value
YES 已存在 NO 未存在
Discussion
判断当前资源是已在下载队列中
Declared In
DWDownloadSessionManager.h
– isValidateURLWithDownloadModel:
判断downloadModel下载链接是否有效
- (BOOL)isValidateURLWithDownloadModel:(DWDownloadModel *)downloadModel
Parameters
downloadModel |
DWDownloadModel对象 |
---|
Return Value
YES有效 NO无效,需重新获取下载链接
Discussion
判断downloadModel下载链接是否有效
Declared In
DWDownloadSessionManager.h
– reStartDownloadUrlWithNewUrlString:AndDownloadModel:
根据新的下载地址,继续下载此任务
- (void)reStartDownloadUrlWithNewUrlString:(NSString *)newUrlString AndDownloadModel:(DWDownloadModel *)downloadModel
Parameters
newUrlString |
新的下载地址 |
---|---|
downloadModel |
需要修改的downloadModel |
Discussion
根据新的下载地址,继续下载此任务
Declared In
DWDownloadSessionManager.h
– setBackgroundSessionCompletionHandler:
获取appdelegate,handleEventsForBackgroundURLSession事件回调
- (void)setBackgroundSessionCompletionHandler:(void ( ^ ) ( ))completionHandler
Parameters
completionHandler |
completionHandler |
---|
Discussion
获取appdelegate,handleEventsForBackgroundURLSession事件回调
Declared In
DWDownloadSessionManager.h
– migrateDownloadTask:DownloadUrl:MediaType:Quality:Desp:VRMode:OthersInfo:UserId:VideoId:TotalBytesWritten:TotalBytesExpectedToWrite:
若从3.x.x版本升级到4.x.x,会出现旧版本下载的音视频文件找不到的情况。 可以通过执行此方法,生成新版SDk的下载任务。
- (DWDownloadModel *)migrateDownloadTask:(NSString *)loaclPath DownloadUrl:(NSString *)downloadUrl MediaType:(NSString *)mediaType Quality:(NSString *)quality Desp:(NSString *)desp VRMode:(BOOL)vrMode OthersInfo:(NSDictionary *)othersInfo UserId:(NSString *)userId VideoId:(NSString *)videoId TotalBytesWritten:(int64_t)totalBytesWritten TotalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite
Parameters
loaclPath |
对于已完成的任务,必填。对于未完成的任务,请务必传nil |
---|---|
downloadUrl |
网络下载地址。对于未完成的任务,必填 |
mediaType |
文件类型 1 视频 2 音频。 若不填写,默认视频 |
quality |
清晰度。 若不填写,默认 10 |
desp |
清晰度描述。 若不填写,默认 标清 |
vrMode |
是否是VR视频。 默认 |
othersInfo |
自定义字段 根据自己需求适当添加,比如添加媒体图片,标题等。 |
userId |
用户ID。 选填 |
videoId |
视频ID。 选填 |
totalBytesWritten |
已下载的数量。对于未完成的任务,必填 |
totalBytesExpectedToWrite |
文件的总大小。对于未完成的任务,必填 |
Return Value
若过渡成功,返回DWDownloadModel对象,否则返回nil
Discussion
若从3.x.x版本升级到4.x.x,会出现旧版本下载的音视频文件找不到的情况。 可以通过执行此方法,生成新版SDk的下载任务。
Declared In
DWDownloadSessionManager.h