CNLiveClient.h
3.96 KB
1
2
3
4
5
6
7
8
9
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
//
// CNLiveClient.h
// CNLiveUploadYunSDK
//
// Created by 张旭 on 2017/8/24.
// Copyright © 2017年 cnlive. All rights reserved.
//
#import <Foundation/Foundation.h>
@class ALAsset;
@class CNLiveMultipartUpload;
@class CNLiveInitiateMultipartUploadRequest;
@class CNLiveListPartsResponse;
@class CNLiveListPartsRequest;
@class CNLiveInitiateMultipartUploadResponse;
@class CNLiveUploadPartResponse;
@class CNLiveUploadPartRequest;
@class CNLivePutObjectResponse;
@class CNLivePutObjectRequest;
@class CNLiveAbortMultipartUploadResponse;
@class CNLiveAbortMultipartUploadRequest;
@class CNLiveCompleteMultipartUploadResponse;
@class CNLiveCompleteMultipartUploadRequest;
typedef enum {
CNLiveBucketBeijing = 0,
CNLiveBucketAmerica,
CNLiveBucketHongkong,
CNLiveBucketHangzhou,
CNLiveBucketShanghai,
} CNLiveBucketDomainRegion; // bucket所在地区
@interface CNLiveClient : NSObject
@property(assign, nonatomic) BOOL enableHTTPS;
/**
* 初始化
*
* @return Client对象
*/
+ (instancetype)initialize;
/**
* 设置CNLiveBucket所在的地区,默认北京
* @param domainRegion 共有北京,杭州,美国圣克拉拉,香港,上海五个
* 注释:建议在工程的delegate里面实现
*/
- (void)setBucketDomainWithRegion:(CNLiveBucketDomainRegion)domainRegion;
/*
设置CNLiveBucket 所在的地区,绑定bucket的自定义域名
@param 自定义的域名
*/
- (void)setBucketDomain:(NSString *)domainRegion;
/**
* 获取用户自定义的域名
* 如果没有设置,返回nil
*/
- (NSString *)getCustomBucketDomain;
/**
* 获取当前bucket所在地区,默认北京
共有北京,杭州,美国圣克拉拉,香港四个
*/
- (NSString *)getBucketDomain;
/**
* 返回请求协议:http/https
* 目前由enableHTTPS决定
*/
- (NSString *)requestProtocol;
/**
* 调用这个接口会初始化一个分块上传
*
* @param request 分块上传请求CNLiveInitiateMultipartUploadRequest
*
* @return 返回resonse对象(里边有服务返回的数据(具体的参照demo))
*/
- (CNLiveMultipartUpload *)initiateMultipartUploadWithRequest:
(CNLiveInitiateMultipartUploadRequest *)request;
/**
* 获取相册分块数据
*
* @param partNum 从1开始计数,第一块partNum = 1
* @param partlength 每一块数据的大小,单位为字节
* @param assets Alasset对象,是获取视频数据的类
*
* @return 相册分块数据
*/
- (NSData *)getUploadPartDataWithPartNum:(NSInteger)partNum
partLength:(NSInteger)partlength
Alasset:(ALAsset *)assets;
/**
* 罗列出已经上传的块
*
* @param listPartsRequest 设置罗列已经上传的分块的request信息
*
* @return 返回resonse对象(里边有服务返回的数据(具体的参照demo))
*/
- (CNLiveListPartsResponse *)listParts:(CNLiveListPartsRequest *)listPartsRequest;
/**
* 组装所有分块上传的文件
*
* @param completeMultipartUploadRequest 设置组装所有分块的http信息
*
* @return 返回resonse对象(里边有服务返回的数据(具体的参照demo))
*/
- (CNLiveCompleteMultipartUploadResponse *)completeMultipartUpload:
(CNLiveCompleteMultipartUploadRequest *)completeMultipartUploadRequest;
/**
上传分块
@param uploadPartRequest 指定上传分块的request信息
@return 返回resonse对象(里边有服务返回的数据(具体的参照demo))
*/
- (CNLiveUploadPartResponse *)uploadPart:(CNLiveUploadPartRequest *)uploadPartRequest;
/**
* 取消分块上传
*
* @param abortMultipartRequest 设置分块文件属性
*
* @return 返回resonse对象(里边有服务返回的数据(具体的参照demo))
*/
- (CNLiveAbortMultipartUploadResponse *)abortMultipartUpload:
(CNLiveAbortMultipartUploadRequest *)abortMultipartRequest;
- (CNLivePutObjectResponse *)putObject:(CNLivePutObjectRequest *)putObjectRequest;
/**
* 返回版本信息
*
* @return 版本信息
*/
+ (NSString *)apiVersion;
@end