BJVPlayerManager.h 1.85 KB
Newer Older
huangjie's avatar
huangjie committed
1 2 3 4 5 6 7 8
//
//  BJVPlayerManager.h
//  BJPlayerManagerCore
//
//  Created by HuangJie on 2018/3/23.
//

#import <Foundation/Foundation.h>
huangjie's avatar
module  
huangjie committed
9
#import <BJLiveBase/BJLiveBase.h>
huangjie's avatar
huangjie committed
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

#import "BJVAppConfig.h"
#import "BJVPlayerMacro.h"
#import "BJVPlayProtocol.h"
#import "BJVDownloadManager.h"
#import "NSError+BJVPlayerError.h"

NS_ASSUME_NONNULL_BEGIN

@interface BJVPlayerManager : NSObject <BJVPlayProtocol>

#pragma mark - init

/**
 初始化 manager 实例
 
 #param playerType 播放器类型:AVPlayer、IJKPlayer
 #discussion AVPlayer 不支持加密
 #return manager 实例
 */
- (instancetype)initWithPlayerType:(BJVPlayerType)playerType;

#pragma mark - setup video

/**
 初始化本地视频
 
 #param downloadItem  本地视频文件类型,通过下载模块获得
 */
- (void)setupLocalVideoWithDownloadItem:(BJVDownloadItem *)downloadItem;

/**
 初始化在线视频
 
 #param videoID 视频 ID
 #param token 需要集成方后端调用百家云后端的API获取,传给移动端
 #discussion 调用此方法初始化在线视频时,默认不加密、不使用集成方鉴权
 */
- (void)setupOnlineVideoWithID:(NSString *)videoID
                         token:(NSString *)token;

/**
 初始化在线视频,设置是否加密、集成方鉴权
 
 #param videoID 视频 ID
 #param token 需要集成方后端调用百家云后端的API获取,传给移动端
 #param encrypted 是否加密,「仅在使用 IJKPlayer 时有效」,参考 initWithPlayerType: 方法
 #param accessKey 集成方鉴权, 视频如果需要请求第三方服务器查看是否有权限, 可设置该参数。鉴权验证请求需要与百家云后台沟通。
 */
- (void)setupOnlineVideoWithID:(NSString *)videoID
                         token:(NSString *)token
                     encrypted:(BOOL)encrypted
                     accessKey:(nullable NSString *)accessKey;

@end

NS_ASSUME_NONNULL_END