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

– configureBackroundSession

配置后台session

- (void)configureBackroundSession

Discussion

配置后台session

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