CNLivePlayerDownloader.h 1.37 KB
//
//  CNLivePlayerDownloader.h
//  CNLivePlayer_Example
//
//  Created by CNLive-zxw on 2019/7/26.
//  Copyright © 2019 153993236@qq.com. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "CNLivePlayerDefines.h"

NS_ASSUME_NONNULL_BEGIN

/*
 * 下载进度回调
 */
typedef void(^DownloaderProgressBlock)(float progress);

/*
 * 成功回调
 */
typedef void(^DownloaderSuccessBlock)(void);

/*
 * 失败回调
 */
typedef void(^DownloaderFailureBlock)(NSDictionary *errorInfo);

@interface CNLivePlayerDownloader : NSObject

/**
 * 初始化下载器
 * @param urlString      视频原始地址(未经过代理处理的)
 * @param progressBlock  视频缓存进度回调
 */
- (instancetype)initWithUrlString:(NSString *)urlString progressBlock:(DownloaderProgressBlock)progressBlock;

/**
 * 开始缓存
 */
- (void)startDownload;

/**
 * 暂停缓存
 */
- (void)pauseDownload;

/**
 * 当前缓存的url
 */
- (NSString *)urlString;

/**
 * 获取下载器的状态
 */
- (CNLivePlayerDownloaderState)downloaderState;

/**
 * 播放地址为url的视频时,调用此方法
 */
+ (void)handleOpenPlayerForUrl:(NSString *)url progressBlock:(DownloaderProgressBlock)progressBlock;

/**
 * 停止播放地址为url的视频时,调用此方法
 */
+ (void)handleClosePlayerForUrl:(NSString *)url progressBlock:(DownloaderProgressBlock)progressBlock;

@end

NS_ASSUME_NONNULL_END