Commit 6968ecd528dcc44d2e8b7735c55c585f2f0f633f
1 parent
a5272947
完成短视频列表
Showing
13 changed files
with
145 additions
and
27 deletions
LiveVideoCloud.xcodeproj/project.pbxproj
... | ... | @@ -119,7 +119,6 @@ |
119 | 119 | 8178D4711F0239AD00AA78A4 /* LVCPlayerLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4701F0239AD00AA78A4 /* LVCPlayerLoadingView.m */; }; |
120 | 120 | 8181D53C1F134A7C00959E3D /* LVCBgmView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8181D53B1F134A7C00959E3D /* LVCBgmView.m */; }; |
121 | 121 | 8181D53F1F135FFC00959E3D /* LVCRecordProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8181D53E1F135FFC00959E3D /* LVCRecordProgressView.m */; }; |
122 | - 8181D5431F1366F500959E3D /* CNLiveShortVideoSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5401F1366F500959E3D /* CNLiveShortVideoSDK.framework */; }; | |
123 | 122 | 8181D5441F1366F500959E3D /* GPUImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5411F1366F500959E3D /* GPUImage.framework */; }; |
124 | 123 | 8181D5451F1366F500959E3D /* libksygpulive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5421F1366F500959E3D /* libksygpulive.framework */; }; |
125 | 124 | 8181D55C1F13671B00959E3D /* Let_It_Go.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 8181D5461F13671B00959E3D /* Let_It_Go.mp3 */; }; |
... | ... | @@ -145,10 +144,12 @@ |
145 | 144 | 8181D5711F13673100959E3D /* CNLivePlayerSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5701F13673100959E3D /* CNLivePlayerSDK.framework */; }; |
146 | 145 | 8181D5721F13674200959E3D /* CNLivePlayerSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5701F13673100959E3D /* CNLivePlayerSDK.framework */; }; |
147 | 146 | 8181D5731F13674200959E3D /* CNLivePlayerSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5701F13673100959E3D /* CNLivePlayerSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; |
148 | - 8181D5751F13674200959E3D /* CNLiveShortVideoSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5401F1366F500959E3D /* CNLiveShortVideoSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; | |
149 | 147 | 8181D5771F13674200959E3D /* GPUImage.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5411F1366F500959E3D /* GPUImage.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; |
150 | 148 | 8181D5791F13674200959E3D /* libksygpulive.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5421F1366F500959E3D /* libksygpulive.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; |
151 | 149 | 8181D57F1F1381D100959E3D /* LVCVideoEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8181D57E1F1381D100959E3D /* LVCVideoEditorViewController.m */; }; |
150 | + 819EEC031F1F4028004F8CDF /* CNLiveShortVideoSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 819EEC021F1F4028004F8CDF /* CNLiveShortVideoSDK.framework */; }; | |
151 | + 819EEC041F1F4037004F8CDF /* CNLiveShortVideoSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 819EEC021F1F4028004F8CDF /* CNLiveShortVideoSDK.framework */; }; | |
152 | + 819EEC051F1F4037004F8CDF /* CNLiveShortVideoSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 819EEC021F1F4028004F8CDF /* CNLiveShortVideoSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; | |
152 | 153 | 81A483081E88B6140097A80A /* UIView+ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483071E88B6140097A80A /* UIView+ViewController.m */; }; |
153 | 154 | 81F1C8401E8BC5CC0085C2B8 /* NSArray+Safety.m in Sources */ = {isa = PBXBuildFile; fileRef = 81F1C83F1E8BC5CC0085C2B8 /* NSArray+Safety.m */; }; |
154 | 155 | 81FB5B3C1E7A6FFC00F98E1D /* SevenSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 81FB5B3B1E7A6FFC00F98E1D /* SevenSwitch.m */; }; |
... | ... | @@ -345,7 +346,7 @@ |
345 | 346 | D2EBC8961F0241BC00F198FB /* CNLiveMsgTools.framework in Embed Frameworks */, |
346 | 347 | 8181D5791F13674200959E3D /* libksygpulive.framework in Embed Frameworks */, |
347 | 348 | D2EBC8A81F03927200F198FB /* CNLiveChatManager.framework in Embed Frameworks */, |
348 | - 8181D5751F13674200959E3D /* CNLiveShortVideoSDK.framework in Embed Frameworks */, | |
349 | + 819EEC051F1F4037004F8CDF /* CNLiveShortVideoSDK.framework in Embed Frameworks */, | |
349 | 350 | ); |
350 | 351 | name = "Embed Frameworks"; |
351 | 352 | runOnlyForDeploymentPostprocessing = 0; |
... | ... | @@ -584,7 +585,6 @@ |
584 | 585 | 8181D53B1F134A7C00959E3D /* LVCBgmView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCBgmView.m; sourceTree = "<group>"; }; |
585 | 586 | 8181D53D1F135FFC00959E3D /* LVCRecordProgressView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCRecordProgressView.h; sourceTree = "<group>"; }; |
586 | 587 | 8181D53E1F135FFC00959E3D /* LVCRecordProgressView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCRecordProgressView.m; sourceTree = "<group>"; }; |
587 | - 8181D5401F1366F500959E3D /* CNLiveShortVideoSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLiveShortVideoSDK.framework; sourceTree = "<group>"; }; | |
588 | 588 | 8181D5411F1366F500959E3D /* GPUImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GPUImage.framework; sourceTree = "<group>"; }; |
589 | 589 | 8181D5421F1366F500959E3D /* libksygpulive.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = libksygpulive.framework; sourceTree = "<group>"; }; |
590 | 590 | 8181D5461F13671B00959E3D /* Let_It_Go.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = Let_It_Go.mp3; sourceTree = "<group>"; }; |
... | ... | @@ -610,6 +610,7 @@ |
610 | 610 | 8181D5701F13673100959E3D /* CNLivePlayerSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLivePlayerSDK.framework; sourceTree = "<group>"; }; |
611 | 611 | 8181D57D1F1381D100959E3D /* LVCVideoEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCVideoEditorViewController.h; sourceTree = "<group>"; }; |
612 | 612 | 8181D57E1F1381D100959E3D /* LVCVideoEditorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCVideoEditorViewController.m; sourceTree = "<group>"; }; |
613 | + 819EEC021F1F4028004F8CDF /* CNLiveShortVideoSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLiveShortVideoSDK.framework; sourceTree = "<group>"; }; | |
613 | 614 | 81A483061E88B6140097A80A /* UIView+ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+ViewController.h"; sourceTree = "<group>"; }; |
614 | 615 | 81A483071E88B6140097A80A /* UIView+ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+ViewController.m"; sourceTree = "<group>"; }; |
615 | 616 | 81F1C83E1E8BC5CC0085C2B8 /* NSArray+Safety.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Safety.h"; sourceTree = "<group>"; }; |
... | ... | @@ -950,6 +951,7 @@ |
950 | 951 | buildActionMask = 2147483647; |
951 | 952 | files = ( |
952 | 953 | D2393D281F02572100D3EE17 /* CoreTelephony.framework in Frameworks */, |
954 | + 819EEC041F1F4037004F8CDF /* CNLiveShortVideoSDK.framework in Frameworks */, | |
953 | 955 | D2393D261F0256FE00D3EE17 /* libstdc++.tbd in Frameworks */, |
954 | 956 | 8181D5711F13673100959E3D /* CNLivePlayerSDK.framework in Frameworks */, |
955 | 957 | D2EBC8A71F03927200F198FB /* CNLiveChatManager.framework in Frameworks */, |
... | ... | @@ -958,9 +960,9 @@ |
958 | 960 | D2393D241F0256E900D3EE17 /* libz.tbd in Frameworks */, |
959 | 961 | D2393D221F0256DC00D3EE17 /* libc++.tbd in Frameworks */, |
960 | 962 | D2393D201F0256AA00D3EE17 /* libsqlite3.tbd in Frameworks */, |
961 | - 8181D5431F1366F500959E3D /* CNLiveShortVideoSDK.framework in Frameworks */, | |
962 | 963 | D25BF8A31E80C4FC007FB138 /* Accelerate.framework in Frameworks */, |
963 | 964 | D2393D0E1F0250A100D3EE17 /* libWeChatSDK.a in Frameworks */, |
965 | + 819EEC031F1F4028004F8CDF /* CNLiveShortVideoSDK.framework in Frameworks */, | |
964 | 966 | D2393D1D1F0250A700D3EE17 /* libWeiboSDK.a in Frameworks */, |
965 | 967 | 8181D5441F1366F500959E3D /* GPUImage.framework in Frameworks */, |
966 | 968 | 8181D5721F13674200959E3D /* CNLivePlayerSDK.framework in Frameworks */, |
... | ... | @@ -1280,8 +1282,8 @@ |
1280 | 1282 | 812E504E1E7699B9004F5FCD /* CNLiveSDK */ = { |
1281 | 1283 | isa = PBXGroup; |
1282 | 1284 | children = ( |
1285 | + 819EEC021F1F4028004F8CDF /* CNLiveShortVideoSDK.framework */, | |
1283 | 1286 | 8181D5701F13673100959E3D /* CNLivePlayerSDK.framework */, |
1284 | - 8181D5401F1366F500959E3D /* CNLiveShortVideoSDK.framework */, | |
1285 | 1287 | 8181D5411F1366F500959E3D /* GPUImage.framework */, |
1286 | 1288 | 8181D5421F1366F500959E3D /* libksygpulive.framework */, |
1287 | 1289 | D263AFC11F13300600A963A6 /* CNLiveStat.framework */, | ... | ... |
LiveVideoCloud/Classes/CNLiveSDK/CNLiveShortVideoSDK.framework/CNLiveShortVideoSDK
No preview for this file type
LiveVideoCloud/Classes/CNLiveSDK/CNLiveShortVideoSDK.framework/Headers/CNLiveMediaEditor.h
... | ... | @@ -51,7 +51,7 @@ |
51 | 51 | |
52 | 52 | @required |
53 | 53 | /** |
54 | - * KSYMediaEditor 内部的错误回调 | |
54 | + * CNLiveMediaEditor 内部的错误回调 | |
55 | 55 | * |
56 | 56 | * @param editor editor 对应的实例 |
57 | 57 | * @param err 错误码 |
... | ... | @@ -120,14 +120,14 @@ |
120 | 120 | @param raw 视频音量 |
121 | 121 | @param bgm 背景音量 |
122 | 122 | */ |
123 | -- (void) adjustVolume:(float)raw bgm:(float)bgm; | |
123 | +- (void)adjustVolume:(float)raw bgm:(float)bgm; | |
124 | 124 | |
125 | 125 | /** |
126 | 126 | 获取音量 |
127 | 127 | @param raw 视频音量 |
128 | 128 | @param bgm 背景音音量 |
129 | 129 | */ |
130 | -- (void) getVolume:(float *)raw bgm:(float *)bgm; | |
130 | +- (void)getVolume:(float *)raw bgm:(float *)bgm; | |
131 | 131 | |
132 | 132 | #pragma mark - |
133 | 133 | #pragma mark - 音效 |
... | ... | @@ -267,7 +267,14 @@ |
267 | 267 | * @param successBlock 成功回调 |
268 | 268 | * @param failureBlock 失败回调 |
269 | 269 | */ |
270 | -- (void)videoUploadWithPath:(NSURL *)path title:(NSString *)title videoDescription:(NSString *)videoDes success:(void (^)(void))successBlock failure:(void (^)(NSDictionary *errorDic))failureBlock; | |
270 | +- (void)videoUploadWithPath:(NSURL *)path | |
271 | + title:(NSString *)title | |
272 | + videoDescription:(NSString *)videoDes | |
273 | + userId:(NSString *)userId | |
274 | + callbackUrl:(NSString *)callbackUrl | |
275 | + image:(UIImage *)thumb | |
276 | + success:(void (^)(void))successBlock | |
277 | + failure:(void (^)(NSDictionary *errorDic))failureBlock; | |
271 | 278 | |
272 | 279 | @end |
273 | 280 | ... | ... |
LiveVideoCloud/Classes/CNLiveSDK/CNLiveShortVideoSDK.framework/Info.plist
No preview for this file type
LiveVideoCloud/Classes/Sections/Mine/Controllers/LVCShortVideoListViewController.m
... | ... | @@ -16,10 +16,15 @@ |
16 | 16 | #define ListUrl @"http://test.open.cnlive.com/openapi/api2/vod_epg/sp/shortVideoList4APP" |
17 | 17 | |
18 | 18 | @interface LVCShortVideoListViewController ()<UITableViewDelegate, UITableViewDataSource> |
19 | +{ | |
20 | + int _page; | |
21 | +} | |
19 | 22 | |
20 | 23 | @property (nonatomic, strong) LVCVideoConfigView *videoCfgView; |
21 | 24 | @property (nonatomic, strong) NSMutableArray *listArr; |
22 | 25 | @property (nonatomic, strong) UITableView *tableView; |
26 | +@property (nonatomic, strong) UIView *noMoreView; | |
27 | +@property (nonatomic, strong) MBProgressHUD *hud; | |
23 | 28 | |
24 | 29 | @end |
25 | 30 | |
... | ... | @@ -49,13 +54,15 @@ |
49 | 54 | |
50 | 55 | [self videoCfgViewAction]; |
51 | 56 | |
52 | - | |
53 | 57 | [self.view addSubview:self.tableView]; |
58 | + [self.view addSubview:self.hud]; | |
54 | 59 | |
55 | 60 | } |
56 | 61 | |
57 | 62 | - (void)requestListPage:(NSString *)page isRefresh:(BOOL)refresh { |
58 | 63 | |
64 | + [self.noMoreView removeFromSuperview]; | |
65 | + | |
59 | 66 | NSDate *curDate = [NSDate date]; |
60 | 67 | NSInteger time = [curDate timeIntervalSince1970]; |
61 | 68 | NSString *timeString = [NSString stringWithFormat:@"%ld", (long)time]; |
... | ... | @@ -63,45 +70,68 @@ |
63 | 70 | NSMutableDictionary *parameter = [@{@"appId":UserAppId, |
64 | 71 | @"page":page ? page : @"1", |
65 | 72 | @"pageSize":@"15", |
73 | + @"userId":[UserInformationModel manager].uid ? [UserInformationModel manager].uid : ShortVideoId, | |
66 | 74 | @"platform_id":[NSBundle mainBundle].bundleIdentifier, |
67 | 75 | @"timestamp":timeString |
68 | 76 | } copy]; |
69 | - | |
77 | + | |
70 | 78 | NSMutableDictionary *para = [self encryptionSignWithParameter:parameter]; |
71 | - | |
79 | + | |
72 | 80 | [[AFHTTPRequestOperationManager manager] GET:ListUrl parameters:para success:^(AFHTTPRequestOperation *operation, id responseObject) { |
73 | 81 | |
74 | 82 | if (responseObject[@"errorCode"] && [responseObject[@"errorCode"]isEqualToString:@"0"]) { |
75 | - | |
83 | + | |
76 | 84 | if (refresh) { |
85 | + _page = 1; | |
86 | + [self.tableView.header endRefreshing]; | |
77 | 87 | [self.listArr removeAllObjects]; |
88 | + } else { | |
89 | + [self.tableView.footer endRefreshing]; | |
78 | 90 | } |
79 | 91 | |
80 | 92 | for (NSDictionary *dic in responseObject[@"data"][@"list"]) { |
81 | 93 | ShortVideoModel *model = [ShortVideoModel mj_objectWithKeyValues:dic]; |
82 | 94 | model.des = dic[@"description"]; |
95 | + model.img = dic[@"picKey"]; | |
83 | 96 | [self.listArr addObject:model]; |
84 | 97 | } |
85 | 98 | |
86 | - [self.tableView.header endRefreshing]; | |
87 | 99 | [self.tableView reloadData]; |
88 | 100 | |
89 | 101 | } else { |
90 | - | |
91 | - [self.tableView.header endRefreshing]; | |
92 | 102 | |
103 | + if (responseObject[@"errorCode"] && [responseObject[@"errorCode"]isEqualToString:@"-1"]) { | |
104 | + if (refresh) { | |
105 | + [self.tableView addSubview:self.noMoreView]; | |
106 | + } | |
107 | + | |
108 | + [self.tableView.footer endRefreshing]; | |
109 | + [self.tableView.header endRefreshing]; | |
110 | + | |
111 | + [self hudWithText:@"没有更多数据"]; | |
112 | + } | |
93 | 113 | } |
94 | 114 | |
95 | 115 | } failure:^(AFHTTPRequestOperation *operation, NSError *error) { |
96 | 116 | |
97 | - NSLog(@"error--%@", error); | |
98 | - | |
99 | - [_tableView.header endRefreshing]; | |
100 | - | |
117 | + if (refresh) { | |
118 | + [self.tableView.header endRefreshing]; | |
119 | + } else { | |
120 | + [self.tableView.footer endRefreshing]; | |
121 | + } | |
122 | + | |
123 | + [self hudWithText:error.localizedDescription]; | |
124 | + | |
101 | 125 | }]; |
102 | 126 | |
103 | 127 | } |
104 | 128 | |
129 | +- (void)hudWithText:(NSString *)text { | |
130 | + self.hud.label.text = text; | |
131 | + [self.hud showAnimated:YES]; | |
132 | + [self.hud hideAnimated:YES afterDelay:3.]; | |
133 | +} | |
134 | + | |
105 | 135 | #pragma mark - |
106 | 136 | #pragma mark - Action |
107 | 137 | - (void)videoCfgViewAction { |
... | ... | @@ -161,6 +191,12 @@ |
161 | 191 | [self requestListPage:@"1" isRefresh:YES]; |
162 | 192 | } |
163 | 193 | |
194 | + | |
195 | +- (void)loadMore { | |
196 | + _page++; | |
197 | + [self requestListPage:[NSString stringWithFormat:@"%d",_page] isRefresh:NO]; | |
198 | +} | |
199 | + | |
164 | 200 | #pragma mark - |
165 | 201 | #pragma mark - |
166 | 202 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { |
... | ... | @@ -264,6 +300,7 @@ |
264 | 300 | _tableView.dataSource = self; |
265 | 301 | |
266 | 302 | _tableView.header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(refresh)]; |
303 | + _tableView.footer = [MJRefreshAutoNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMore)]; | |
267 | 304 | |
268 | 305 | } |
269 | 306 | return _tableView; |
... | ... | @@ -277,6 +314,35 @@ |
277 | 314 | return _listArr; |
278 | 315 | } |
279 | 316 | |
317 | + | |
318 | +- (UIView *)noMoreView | |
319 | +{ | |
320 | + if (!_noMoreView) { | |
321 | + _noMoreView = [[UIView alloc] initWithFrame:self.view.bounds]; | |
322 | + | |
323 | + UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(KScreenWidth/2-40, (KScreenHeight-64)/2-100, 80, 80)]; | |
324 | + imgView.image = [UIImage imageNamed:@"no more"]; | |
325 | + [_noMoreView addSubview:imgView]; | |
326 | + | |
327 | + UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, imgView.bottom+20, KScreenWidth, 20)]; | |
328 | + label.text = @"暂时没有数据"; | |
329 | + label.font = [UIFont systemFontOfSize:15]; | |
330 | + label.textAlignment = NSTextAlignmentCenter; | |
331 | + [_noMoreView addSubview:label]; | |
332 | + } | |
333 | + return _noMoreView; | |
334 | +} | |
335 | + | |
336 | +- (MBProgressHUD *)hud | |
337 | +{ | |
338 | + if (!_hud) { | |
339 | + _hud = [[MBProgressHUD alloc] initWithView:self.view]; | |
340 | + _hud.mode = MBProgressHUDModeText; | |
341 | + | |
342 | + } | |
343 | + return _hud; | |
344 | +} | |
345 | + | |
280 | 346 | - (void)didReceiveMemoryWarning { |
281 | 347 | [super didReceiveMemoryWarning]; |
282 | 348 | // Dispose of any resources that can be recreated. | ... | ... |
LiveVideoCloud/Classes/Sections/Mine/Controllers/LVCShortVideoPlayerController.m
... | ... | @@ -34,12 +34,22 @@ |
34 | 34 | |
35 | 35 | [self.view addSubview:self.playerView]; |
36 | 36 | |
37 | - | |
37 | +} | |
38 | + | |
39 | +- (void)viewWillAppear:(BOOL)animated { | |
40 | + [super viewWillAppear:animated]; | |
41 | + [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; | |
42 | +} | |
43 | + | |
44 | +- (void)viewWillDisappear:(BOOL)animated { | |
45 | + [super viewWillDisappear:animated]; | |
46 | + [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault; | |
38 | 47 | } |
39 | 48 | |
40 | 49 | #pragma mark - |
41 | 50 | #pragma mark - LVCShortVideoPlayerViewDelegate |
42 | 51 | - (void)closeShaortVideoPlayerView:(LVCShortVideoPlayerView *)playerView { |
52 | + playerView.delegate = nil; | |
43 | 53 | [self dismissViewControllerAnimated:YES completion:NULL]; |
44 | 54 | } |
45 | 55 | ... | ... |
LiveVideoCloud/Classes/Sections/Mine/Controllers/LVCVideoEditorViewController.m
... | ... | @@ -28,6 +28,8 @@ FOUNDATION_EXPORT NSString *const KSYThumbnailHeight; |
28 | 28 | BOOL _isPlaying, isSeekDone, isThumbnailListAdd; |
29 | 29 | CGFloat width, height, thumbnailWidth, thumbnailHeight; |
30 | 30 | CMTimeRange range; |
31 | + | |
32 | + UIImage *_thumb; | |
31 | 33 | } |
32 | 34 | |
33 | 35 | @property (nonatomic, strong) LVCEditorTopView *topView; |
... | ... | @@ -55,7 +57,7 @@ FOUNDATION_EXPORT NSString *const KSYThumbnailHeight; |
55 | 57 | _videoPath = path; |
56 | 58 | isThumbnailListAdd = NO; |
57 | 59 | _maxDuration = maxDuration; |
58 | - | |
60 | + | |
59 | 61 | CNLiveStatusCode rc = [[CNLiveMediaEditor shareInstance] addVideo:path]; |
60 | 62 | |
61 | 63 | if (rc != CNLiveRC_OK){ |
... | ... | @@ -254,7 +256,6 @@ FOUNDATION_EXPORT NSString *const KSYThumbnailHeight; |
254 | 256 | }]; |
255 | 257 | } |
256 | 258 | |
257 | - | |
258 | 259 | #pragma mark - |
259 | 260 | #pragma mark - FilterChoiceViewDelegate |
260 | 261 | - (void)beautyFilterDidSelected:(CNLiveFilter)algoType { |
... | ... | @@ -292,6 +293,8 @@ FOUNDATION_EXPORT NSString *const KSYThumbnailHeight; |
292 | 293 | |
293 | 294 | - (void)onComposeFinish:(NSURL *)path thumbnail:(UIImage *)thumbnail { |
294 | 295 | |
296 | + _thumb = thumbnail; | |
297 | + | |
295 | 298 | //删除合成后文件 |
296 | 299 | NSFileManager *fileManager = [NSFileManager defaultManager]; |
297 | 300 | [fileManager removeItemAtPath:[self.videoPath path] error:nil]; |
... | ... | @@ -388,7 +391,13 @@ FOUNDATION_EXPORT NSString *const KSYThumbnailHeight; |
388 | 391 | progressHud.detailsLabel.text = @"0.00 %"; |
389 | 392 | progressHud.animationType = MBProgressHUDAnimationZoomIn; |
390 | 393 | |
391 | - [[CNLiveMediaEditor shareInstance] videoUploadWithPath:_videoPath title:_publishView.title videoDescription:_publishView.description success:^{ | |
394 | + [[CNLiveMediaEditor shareInstance] videoUploadWithPath:_videoPath | |
395 | + title:_publishView.title | |
396 | + videoDescription:_publishView.description | |
397 | + userId:[UserInformationModel manager].uid ? [UserInformationModel manager].uid : ShortVideoId | |
398 | + callbackUrl:@"" | |
399 | + image:_thumb | |
400 | + success:^{ | |
392 | 401 | |
393 | 402 | [_publishView setPublishStatus:PublishStatusUploading]; |
394 | 403 | ... | ... |
LiveVideoCloud/Classes/Sections/Mine/Views/LVCShortVideoListCell.m
... | ... | @@ -64,6 +64,8 @@ |
64 | 64 | { |
65 | 65 | if (!_imgView) { |
66 | 66 | _imgView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 10, 140, 140*9/16)]; |
67 | + _imgView.backgroundColor = [UIColor colorWithHexString:@"#e6e6e6"]; | |
68 | + _imgView.contentMode = UIViewContentModeScaleAspectFit; | |
67 | 69 | } |
68 | 70 | return _imgView; |
69 | 71 | } | ... | ... |
LiveVideoCloud/PrefixHeader.pch
... | ... | @@ -80,6 +80,7 @@ |
80 | 80 | #define UserAppKey @"4c8658abc5d66f270f9bf5dcd1ef11e3597fab4c4e0af9"//@"13c6f0ad6f459cd479834b0b39cff99c6cf20c970815bb"// |
81 | 81 | #define UserAppSceret @"c2faeb120f0ea2e2d47020d4b03cb8a93bed2585897a94"//@"14c887b76ec2ecdf7083fb4c62808f13f6ab77a0f9dfec"// |
82 | 82 | |
83 | +#define ShortVideoId @"iosShortVideoTest" | |
83 | 84 | |
84 | 85 | #define PlaceholderImage @"placehodler" |
85 | 86 | #define appDelegate ((AppDelegate *)[UIApplication sharedApplication].delegate) | ... | ... |
LiveVideoCloud/animation.xcassets/ShortVideo/decals/decal_0.imageset/Contents.json
LiveVideoCloud/animation.xcassets/ShortVideo/decals/decal_1.imageset/Contents.json
LiveVideoCloud/animation.xcassets/no more.imageset/Contents.json
0 → 100644
1 | +{ | |
2 | + "images" : [ | |
3 | + { | |
4 | + "idiom" : "universal", | |
5 | + "filename" : "no more.png", | |
6 | + "scale" : "1x" | |
7 | + }, | |
8 | + { | |
9 | + "idiom" : "universal", | |
10 | + "scale" : "2x" | |
11 | + }, | |
12 | + { | |
13 | + "idiom" : "universal", | |
14 | + "scale" : "3x" | |
15 | + } | |
16 | + ], | |
17 | + "info" : { | |
18 | + "version" : 1, | |
19 | + "author" : "xcode" | |
20 | + } | |
21 | +} | |
0 | 22 | \ No newline at end of file | ... | ... |
LiveVideoCloud/animation.xcassets/no more.imageset/no more.png
0 → 100644
6.95 KB