Commit 6968ecd528dcc44d2e8b7735c55c585f2f0f633f

Authored by 朱林
1 parent a5272947

完成短视频列表

LiveVideoCloud.xcodeproj/project.pbxproj
@@ -119,7 +119,6 @@ @@ -119,7 +119,6 @@
119 8178D4711F0239AD00AA78A4 /* LVCPlayerLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4701F0239AD00AA78A4 /* LVCPlayerLoadingView.m */; }; 119 8178D4711F0239AD00AA78A4 /* LVCPlayerLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4701F0239AD00AA78A4 /* LVCPlayerLoadingView.m */; };
120 8181D53C1F134A7C00959E3D /* LVCBgmView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8181D53B1F134A7C00959E3D /* LVCBgmView.m */; }; 120 8181D53C1F134A7C00959E3D /* LVCBgmView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8181D53B1F134A7C00959E3D /* LVCBgmView.m */; };
121 8181D53F1F135FFC00959E3D /* LVCRecordProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8181D53E1F135FFC00959E3D /* LVCRecordProgressView.m */; }; 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 8181D5441F1366F500959E3D /* GPUImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5411F1366F500959E3D /* GPUImage.framework */; }; 122 8181D5441F1366F500959E3D /* GPUImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5411F1366F500959E3D /* GPUImage.framework */; };
124 8181D5451F1366F500959E3D /* libksygpulive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5421F1366F500959E3D /* libksygpulive.framework */; }; 123 8181D5451F1366F500959E3D /* libksygpulive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5421F1366F500959E3D /* libksygpulive.framework */; };
125 8181D55C1F13671B00959E3D /* Let_It_Go.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 8181D5461F13671B00959E3D /* Let_It_Go.mp3 */; }; 124 8181D55C1F13671B00959E3D /* Let_It_Go.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 8181D5461F13671B00959E3D /* Let_It_Go.mp3 */; };
@@ -145,10 +144,12 @@ @@ -145,10 +144,12 @@
145 8181D5711F13673100959E3D /* CNLivePlayerSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5701F13673100959E3D /* CNLivePlayerSDK.framework */; }; 144 8181D5711F13673100959E3D /* CNLivePlayerSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5701F13673100959E3D /* CNLivePlayerSDK.framework */; };
146 8181D5721F13674200959E3D /* CNLivePlayerSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5701F13673100959E3D /* CNLivePlayerSDK.framework */; }; 145 8181D5721F13674200959E3D /* CNLivePlayerSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5701F13673100959E3D /* CNLivePlayerSDK.framework */; };
147 8181D5731F13674200959E3D /* CNLivePlayerSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5701F13673100959E3D /* CNLivePlayerSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 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 8181D5771F13674200959E3D /* GPUImage.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5411F1366F500959E3D /* GPUImage.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 147 8181D5771F13674200959E3D /* GPUImage.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5411F1366F500959E3D /* GPUImage.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
150 8181D5791F13674200959E3D /* libksygpulive.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5421F1366F500959E3D /* libksygpulive.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 148 8181D5791F13674200959E3D /* libksygpulive.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8181D5421F1366F500959E3D /* libksygpulive.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
151 8181D57F1F1381D100959E3D /* LVCVideoEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8181D57E1F1381D100959E3D /* LVCVideoEditorViewController.m */; }; 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 81A483081E88B6140097A80A /* UIView+ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483071E88B6140097A80A /* UIView+ViewController.m */; }; 153 81A483081E88B6140097A80A /* UIView+ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483071E88B6140097A80A /* UIView+ViewController.m */; };
153 81F1C8401E8BC5CC0085C2B8 /* NSArray+Safety.m in Sources */ = {isa = PBXBuildFile; fileRef = 81F1C83F1E8BC5CC0085C2B8 /* NSArray+Safety.m */; }; 154 81F1C8401E8BC5CC0085C2B8 /* NSArray+Safety.m in Sources */ = {isa = PBXBuildFile; fileRef = 81F1C83F1E8BC5CC0085C2B8 /* NSArray+Safety.m */; };
154 81FB5B3C1E7A6FFC00F98E1D /* SevenSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 81FB5B3B1E7A6FFC00F98E1D /* SevenSwitch.m */; }; 155 81FB5B3C1E7A6FFC00F98E1D /* SevenSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 81FB5B3B1E7A6FFC00F98E1D /* SevenSwitch.m */; };
@@ -345,7 +346,7 @@ @@ -345,7 +346,7 @@
345 D2EBC8961F0241BC00F198FB /* CNLiveMsgTools.framework in Embed Frameworks */, 346 D2EBC8961F0241BC00F198FB /* CNLiveMsgTools.framework in Embed Frameworks */,
346 8181D5791F13674200959E3D /* libksygpulive.framework in Embed Frameworks */, 347 8181D5791F13674200959E3D /* libksygpulive.framework in Embed Frameworks */,
347 D2EBC8A81F03927200F198FB /* CNLiveChatManager.framework in Embed Frameworks */, 348 D2EBC8A81F03927200F198FB /* CNLiveChatManager.framework in Embed Frameworks */,
348 - 8181D5751F13674200959E3D /* CNLiveShortVideoSDK.framework in Embed Frameworks */, 349 + 819EEC051F1F4037004F8CDF /* CNLiveShortVideoSDK.framework in Embed Frameworks */,
349 ); 350 );
350 name = "Embed Frameworks"; 351 name = "Embed Frameworks";
351 runOnlyForDeploymentPostprocessing = 0; 352 runOnlyForDeploymentPostprocessing = 0;
@@ -584,7 +585,6 @@ @@ -584,7 +585,6 @@
584 8181D53B1F134A7C00959E3D /* LVCBgmView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCBgmView.m; sourceTree = "<group>"; }; 585 8181D53B1F134A7C00959E3D /* LVCBgmView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCBgmView.m; sourceTree = "<group>"; };
585 8181D53D1F135FFC00959E3D /* LVCRecordProgressView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCRecordProgressView.h; sourceTree = "<group>"; }; 586 8181D53D1F135FFC00959E3D /* LVCRecordProgressView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCRecordProgressView.h; sourceTree = "<group>"; };
586 8181D53E1F135FFC00959E3D /* LVCRecordProgressView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCRecordProgressView.m; sourceTree = "<group>"; }; 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 8181D5411F1366F500959E3D /* GPUImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GPUImage.framework; sourceTree = "<group>"; }; 588 8181D5411F1366F500959E3D /* GPUImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GPUImage.framework; sourceTree = "<group>"; };
589 8181D5421F1366F500959E3D /* libksygpulive.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = libksygpulive.framework; sourceTree = "<group>"; }; 589 8181D5421F1366F500959E3D /* libksygpulive.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = libksygpulive.framework; sourceTree = "<group>"; };
590 8181D5461F13671B00959E3D /* Let_It_Go.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = Let_It_Go.mp3; sourceTree = "<group>"; }; 590 8181D5461F13671B00959E3D /* Let_It_Go.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = Let_It_Go.mp3; sourceTree = "<group>"; };
@@ -610,6 +610,7 @@ @@ -610,6 +610,7 @@
610 8181D5701F13673100959E3D /* CNLivePlayerSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLivePlayerSDK.framework; sourceTree = "<group>"; }; 610 8181D5701F13673100959E3D /* CNLivePlayerSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLivePlayerSDK.framework; sourceTree = "<group>"; };
611 8181D57D1F1381D100959E3D /* LVCVideoEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCVideoEditorViewController.h; sourceTree = "<group>"; }; 611 8181D57D1F1381D100959E3D /* LVCVideoEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCVideoEditorViewController.h; sourceTree = "<group>"; };
612 8181D57E1F1381D100959E3D /* LVCVideoEditorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCVideoEditorViewController.m; sourceTree = "<group>"; }; 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 81A483061E88B6140097A80A /* UIView+ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+ViewController.h"; sourceTree = "<group>"; }; 614 81A483061E88B6140097A80A /* UIView+ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+ViewController.h"; sourceTree = "<group>"; };
614 81A483071E88B6140097A80A /* UIView+ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+ViewController.m"; sourceTree = "<group>"; }; 615 81A483071E88B6140097A80A /* UIView+ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+ViewController.m"; sourceTree = "<group>"; };
615 81F1C83E1E8BC5CC0085C2B8 /* NSArray+Safety.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Safety.h"; sourceTree = "<group>"; }; 616 81F1C83E1E8BC5CC0085C2B8 /* NSArray+Safety.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Safety.h"; sourceTree = "<group>"; };
@@ -950,6 +951,7 @@ @@ -950,6 +951,7 @@
950 buildActionMask = 2147483647; 951 buildActionMask = 2147483647;
951 files = ( 952 files = (
952 D2393D281F02572100D3EE17 /* CoreTelephony.framework in Frameworks */, 953 D2393D281F02572100D3EE17 /* CoreTelephony.framework in Frameworks */,
  954 + 819EEC041F1F4037004F8CDF /* CNLiveShortVideoSDK.framework in Frameworks */,
953 D2393D261F0256FE00D3EE17 /* libstdc++.tbd in Frameworks */, 955 D2393D261F0256FE00D3EE17 /* libstdc++.tbd in Frameworks */,
954 8181D5711F13673100959E3D /* CNLivePlayerSDK.framework in Frameworks */, 956 8181D5711F13673100959E3D /* CNLivePlayerSDK.framework in Frameworks */,
955 D2EBC8A71F03927200F198FB /* CNLiveChatManager.framework in Frameworks */, 957 D2EBC8A71F03927200F198FB /* CNLiveChatManager.framework in Frameworks */,
@@ -958,9 +960,9 @@ @@ -958,9 +960,9 @@
958 D2393D241F0256E900D3EE17 /* libz.tbd in Frameworks */, 960 D2393D241F0256E900D3EE17 /* libz.tbd in Frameworks */,
959 D2393D221F0256DC00D3EE17 /* libc++.tbd in Frameworks */, 961 D2393D221F0256DC00D3EE17 /* libc++.tbd in Frameworks */,
960 D2393D201F0256AA00D3EE17 /* libsqlite3.tbd in Frameworks */, 962 D2393D201F0256AA00D3EE17 /* libsqlite3.tbd in Frameworks */,
961 - 8181D5431F1366F500959E3D /* CNLiveShortVideoSDK.framework in Frameworks */,  
962 D25BF8A31E80C4FC007FB138 /* Accelerate.framework in Frameworks */, 963 D25BF8A31E80C4FC007FB138 /* Accelerate.framework in Frameworks */,
963 D2393D0E1F0250A100D3EE17 /* libWeChatSDK.a in Frameworks */, 964 D2393D0E1F0250A100D3EE17 /* libWeChatSDK.a in Frameworks */,
  965 + 819EEC031F1F4028004F8CDF /* CNLiveShortVideoSDK.framework in Frameworks */,
964 D2393D1D1F0250A700D3EE17 /* libWeiboSDK.a in Frameworks */, 966 D2393D1D1F0250A700D3EE17 /* libWeiboSDK.a in Frameworks */,
965 8181D5441F1366F500959E3D /* GPUImage.framework in Frameworks */, 967 8181D5441F1366F500959E3D /* GPUImage.framework in Frameworks */,
966 8181D5721F13674200959E3D /* CNLivePlayerSDK.framework in Frameworks */, 968 8181D5721F13674200959E3D /* CNLivePlayerSDK.framework in Frameworks */,
@@ -1280,8 +1282,8 @@ @@ -1280,8 +1282,8 @@
1280 812E504E1E7699B9004F5FCD /* CNLiveSDK */ = { 1282 812E504E1E7699B9004F5FCD /* CNLiveSDK */ = {
1281 isa = PBXGroup; 1283 isa = PBXGroup;
1282 children = ( 1284 children = (
  1285 + 819EEC021F1F4028004F8CDF /* CNLiveShortVideoSDK.framework */,
1283 8181D5701F13673100959E3D /* CNLivePlayerSDK.framework */, 1286 8181D5701F13673100959E3D /* CNLivePlayerSDK.framework */,
1284 - 8181D5401F1366F500959E3D /* CNLiveShortVideoSDK.framework */,  
1285 8181D5411F1366F500959E3D /* GPUImage.framework */, 1287 8181D5411F1366F500959E3D /* GPUImage.framework */,
1286 8181D5421F1366F500959E3D /* libksygpulive.framework */, 1288 8181D5421F1366F500959E3D /* libksygpulive.framework */,
1287 D263AFC11F13300600A963A6 /* CNLiveStat.framework */, 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,7 +51,7 @@
51 51
52 @required 52 @required
53 /** 53 /**
54 - * KSYMediaEditor 内部的错误回调 54 + * CNLiveMediaEditor 内部的错误回调
55 * 55 *
56 * @param editor editor 对应的实例 56 * @param editor editor 对应的实例
57 * @param err 错误码 57 * @param err 错误码
@@ -120,14 +120,14 @@ @@ -120,14 +120,14 @@
120 @param raw 视频音量 120 @param raw 视频音量
121 @param bgm 背景音量 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 @param raw 视频音量 127 @param raw 视频音量
128 @param bgm 背景音音量 128 @param bgm 背景音音量
129 */ 129 */
130 -- (void) getVolume:(float *)raw bgm:(float *)bgm; 130 +- (void)getVolume:(float *)raw bgm:(float *)bgm;
131 131
132 #pragma mark - 132 #pragma mark -
133 #pragma mark - 音效 133 #pragma mark - 音效
@@ -267,7 +267,14 @@ @@ -267,7 +267,14 @@
267 * @param successBlock 成功回调 267 * @param successBlock 成功回调
268 * @param failureBlock 失败回调 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 @end 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,10 +16,15 @@
16 #define ListUrl @"http://test.open.cnlive.com/openapi/api2/vod_epg/sp/shortVideoList4APP" 16 #define ListUrl @"http://test.open.cnlive.com/openapi/api2/vod_epg/sp/shortVideoList4APP"
17 17
18 @interface LVCShortVideoListViewController ()<UITableViewDelegate, UITableViewDataSource> 18 @interface LVCShortVideoListViewController ()<UITableViewDelegate, UITableViewDataSource>
  19 +{
  20 + int _page;
  21 +}
19 22
20 @property (nonatomic, strong) LVCVideoConfigView *videoCfgView; 23 @property (nonatomic, strong) LVCVideoConfigView *videoCfgView;
21 @property (nonatomic, strong) NSMutableArray *listArr; 24 @property (nonatomic, strong) NSMutableArray *listArr;
22 @property (nonatomic, strong) UITableView *tableView; 25 @property (nonatomic, strong) UITableView *tableView;
  26 +@property (nonatomic, strong) UIView *noMoreView;
  27 +@property (nonatomic, strong) MBProgressHUD *hud;
23 28
24 @end 29 @end
25 30
@@ -49,13 +54,15 @@ @@ -49,13 +54,15 @@
49 54
50 [self videoCfgViewAction]; 55 [self videoCfgViewAction];
51 56
52 -  
53 [self.view addSubview:self.tableView]; 57 [self.view addSubview:self.tableView];
  58 + [self.view addSubview:self.hud];
54 59
55 } 60 }
56 61
57 - (void)requestListPage:(NSString *)page isRefresh:(BOOL)refresh { 62 - (void)requestListPage:(NSString *)page isRefresh:(BOOL)refresh {
58 63
  64 + [self.noMoreView removeFromSuperview];
  65 +
59 NSDate *curDate = [NSDate date]; 66 NSDate *curDate = [NSDate date];
60 NSInteger time = [curDate timeIntervalSince1970]; 67 NSInteger time = [curDate timeIntervalSince1970];
61 NSString *timeString = [NSString stringWithFormat:@"%ld", (long)time]; 68 NSString *timeString = [NSString stringWithFormat:@"%ld", (long)time];
@@ -63,45 +70,68 @@ @@ -63,45 +70,68 @@
63 NSMutableDictionary *parameter = [@{@"appId":UserAppId, 70 NSMutableDictionary *parameter = [@{@"appId":UserAppId,
64 @"page":page ? page : @"1", 71 @"page":page ? page : @"1",
65 @"pageSize":@"15", 72 @"pageSize":@"15",
  73 + @"userId":[UserInformationModel manager].uid ? [UserInformationModel manager].uid : ShortVideoId,
66 @"platform_id":[NSBundle mainBundle].bundleIdentifier, 74 @"platform_id":[NSBundle mainBundle].bundleIdentifier,
67 @"timestamp":timeString 75 @"timestamp":timeString
68 } copy]; 76 } copy];
69 - 77 +
70 NSMutableDictionary *para = [self encryptionSignWithParameter:parameter]; 78 NSMutableDictionary *para = [self encryptionSignWithParameter:parameter];
71 - 79 +
72 [[AFHTTPRequestOperationManager manager] GET:ListUrl parameters:para success:^(AFHTTPRequestOperation *operation, id responseObject) { 80 [[AFHTTPRequestOperationManager manager] GET:ListUrl parameters:para success:^(AFHTTPRequestOperation *operation, id responseObject) {
73 81
74 if (responseObject[@"errorCode"] && [responseObject[@"errorCode"]isEqualToString:@"0"]) { 82 if (responseObject[@"errorCode"] && [responseObject[@"errorCode"]isEqualToString:@"0"]) {
75 - 83 +
76 if (refresh) { 84 if (refresh) {
  85 + _page = 1;
  86 + [self.tableView.header endRefreshing];
77 [self.listArr removeAllObjects]; 87 [self.listArr removeAllObjects];
  88 + } else {
  89 + [self.tableView.footer endRefreshing];
78 } 90 }
79 91
80 for (NSDictionary *dic in responseObject[@"data"][@"list"]) { 92 for (NSDictionary *dic in responseObject[@"data"][@"list"]) {
81 ShortVideoModel *model = [ShortVideoModel mj_objectWithKeyValues:dic]; 93 ShortVideoModel *model = [ShortVideoModel mj_objectWithKeyValues:dic];
82 model.des = dic[@"description"]; 94 model.des = dic[@"description"];
  95 + model.img = dic[@"picKey"];
83 [self.listArr addObject:model]; 96 [self.listArr addObject:model];
84 } 97 }
85 98
86 - [self.tableView.header endRefreshing];  
87 [self.tableView reloadData]; 99 [self.tableView reloadData];
88 100
89 } else { 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 } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 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 #pragma mark - 135 #pragma mark -
106 #pragma mark - Action 136 #pragma mark - Action
107 - (void)videoCfgViewAction { 137 - (void)videoCfgViewAction {
@@ -161,6 +191,12 @@ @@ -161,6 +191,12 @@
161 [self requestListPage:@"1" isRefresh:YES]; 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 #pragma mark - 200 #pragma mark -
165 #pragma mark - 201 #pragma mark -
166 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 202 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
@@ -264,6 +300,7 @@ @@ -264,6 +300,7 @@
264 _tableView.dataSource = self; 300 _tableView.dataSource = self;
265 301
266 _tableView.header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(refresh)]; 302 _tableView.header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(refresh)];
  303 + _tableView.footer = [MJRefreshAutoNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMore)];
267 304
268 } 305 }
269 return _tableView; 306 return _tableView;
@@ -277,6 +314,35 @@ @@ -277,6 +314,35 @@
277 return _listArr; 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 - (void)didReceiveMemoryWarning { 346 - (void)didReceiveMemoryWarning {
281 [super didReceiveMemoryWarning]; 347 [super didReceiveMemoryWarning];
282 // Dispose of any resources that can be recreated. 348 // Dispose of any resources that can be recreated.
LiveVideoCloud/Classes/Sections/Mine/Controllers/LVCShortVideoPlayerController.m
@@ -34,12 +34,22 @@ @@ -34,12 +34,22 @@
34 34
35 [self.view addSubview:self.playerView]; 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 #pragma mark - 49 #pragma mark -
41 #pragma mark - LVCShortVideoPlayerViewDelegate 50 #pragma mark - LVCShortVideoPlayerViewDelegate
42 - (void)closeShaortVideoPlayerView:(LVCShortVideoPlayerView *)playerView { 51 - (void)closeShaortVideoPlayerView:(LVCShortVideoPlayerView *)playerView {
  52 + playerView.delegate = nil;
43 [self dismissViewControllerAnimated:YES completion:NULL]; 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,6 +28,8 @@ FOUNDATION_EXPORT NSString *const KSYThumbnailHeight;
28 BOOL _isPlaying, isSeekDone, isThumbnailListAdd; 28 BOOL _isPlaying, isSeekDone, isThumbnailListAdd;
29 CGFloat width, height, thumbnailWidth, thumbnailHeight; 29 CGFloat width, height, thumbnailWidth, thumbnailHeight;
30 CMTimeRange range; 30 CMTimeRange range;
  31 +
  32 + UIImage *_thumb;
31 } 33 }
32 34
33 @property (nonatomic, strong) LVCEditorTopView *topView; 35 @property (nonatomic, strong) LVCEditorTopView *topView;
@@ -55,7 +57,7 @@ FOUNDATION_EXPORT NSString *const KSYThumbnailHeight; @@ -55,7 +57,7 @@ FOUNDATION_EXPORT NSString *const KSYThumbnailHeight;
55 _videoPath = path; 57 _videoPath = path;
56 isThumbnailListAdd = NO; 58 isThumbnailListAdd = NO;
57 _maxDuration = maxDuration; 59 _maxDuration = maxDuration;
58 - 60 +
59 CNLiveStatusCode rc = [[CNLiveMediaEditor shareInstance] addVideo:path]; 61 CNLiveStatusCode rc = [[CNLiveMediaEditor shareInstance] addVideo:path];
60 62
61 if (rc != CNLiveRC_OK){ 63 if (rc != CNLiveRC_OK){
@@ -254,7 +256,6 @@ FOUNDATION_EXPORT NSString *const KSYThumbnailHeight; @@ -254,7 +256,6 @@ FOUNDATION_EXPORT NSString *const KSYThumbnailHeight;
254 }]; 256 }];
255 } 257 }
256 258
257 -  
258 #pragma mark - 259 #pragma mark -
259 #pragma mark - FilterChoiceViewDelegate 260 #pragma mark - FilterChoiceViewDelegate
260 - (void)beautyFilterDidSelected:(CNLiveFilter)algoType { 261 - (void)beautyFilterDidSelected:(CNLiveFilter)algoType {
@@ -292,6 +293,8 @@ FOUNDATION_EXPORT NSString *const KSYThumbnailHeight; @@ -292,6 +293,8 @@ FOUNDATION_EXPORT NSString *const KSYThumbnailHeight;
292 293
293 - (void)onComposeFinish:(NSURL *)path thumbnail:(UIImage *)thumbnail { 294 - (void)onComposeFinish:(NSURL *)path thumbnail:(UIImage *)thumbnail {
294 295
  296 + _thumb = thumbnail;
  297 +
295 //删除合成后文件 298 //删除合成后文件
296 NSFileManager *fileManager = [NSFileManager defaultManager]; 299 NSFileManager *fileManager = [NSFileManager defaultManager];
297 [fileManager removeItemAtPath:[self.videoPath path] error:nil]; 300 [fileManager removeItemAtPath:[self.videoPath path] error:nil];
@@ -388,7 +391,13 @@ FOUNDATION_EXPORT NSString *const KSYThumbnailHeight; @@ -388,7 +391,13 @@ FOUNDATION_EXPORT NSString *const KSYThumbnailHeight;
388 progressHud.detailsLabel.text = @"0.00 %"; 391 progressHud.detailsLabel.text = @"0.00 %";
389 progressHud.animationType = MBProgressHUDAnimationZoomIn; 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 [_publishView setPublishStatus:PublishStatusUploading]; 402 [_publishView setPublishStatus:PublishStatusUploading];
394 403
LiveVideoCloud/Classes/Sections/Mine/Views/LVCShortVideoListCell.m
@@ -64,6 +64,8 @@ @@ -64,6 +64,8 @@
64 { 64 {
65 if (!_imgView) { 65 if (!_imgView) {
66 _imgView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 10, 140, 140*9/16)]; 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 return _imgView; 70 return _imgView;
69 } 71 }
LiveVideoCloud/PrefixHeader.pch
@@ -80,6 +80,7 @@ @@ -80,6 +80,7 @@
80 #define UserAppKey @"4c8658abc5d66f270f9bf5dcd1ef11e3597fab4c4e0af9"//@"13c6f0ad6f459cd479834b0b39cff99c6cf20c970815bb"// 80 #define UserAppKey @"4c8658abc5d66f270f9bf5dcd1ef11e3597fab4c4e0af9"//@"13c6f0ad6f459cd479834b0b39cff99c6cf20c970815bb"//
81 #define UserAppSceret @"c2faeb120f0ea2e2d47020d4b03cb8a93bed2585897a94"//@"14c887b76ec2ecdf7083fb4c62808f13f6ab77a0f9dfec"// 81 #define UserAppSceret @"c2faeb120f0ea2e2d47020d4b03cb8a93bed2585897a94"//@"14c887b76ec2ecdf7083fb4c62808f13f6ab77a0f9dfec"//
82 82
  83 +#define ShortVideoId @"iosShortVideoTest"
83 84
84 #define PlaceholderImage @"placehodler" 85 #define PlaceholderImage @"placehodler"
85 #define appDelegate ((AppDelegate *)[UIApplication sharedApplication].delegate) 86 #define appDelegate ((AppDelegate *)[UIApplication sharedApplication].delegate)
LiveVideoCloud/animation.xcassets/ShortVideo/decals/decal_0.imageset/Contents.json
@@ -2,11 +2,11 @@ @@ -2,11 +2,11 @@
2 "images" : [ 2 "images" : [
3 { 3 {
4 "idiom" : "universal", 4 "idiom" : "universal",
  5 + "filename" : "decal_0.png",
5 "scale" : "1x" 6 "scale" : "1x"
6 }, 7 },
7 { 8 {
8 "idiom" : "universal", 9 "idiom" : "universal",
9 - "filename" : "decal_0.png",  
10 "scale" : "2x" 10 "scale" : "2x"
11 }, 11 },
12 { 12 {
LiveVideoCloud/animation.xcassets/ShortVideo/decals/decal_1.imageset/Contents.json
@@ -6,11 +6,11 @@ @@ -6,11 +6,11 @@
6 }, 6 },
7 { 7 {
8 "idiom" : "universal", 8 "idiom" : "universal",
9 - "filename" : "decal_1.png",  
10 "scale" : "2x" 9 "scale" : "2x"
11 }, 10 },
12 { 11 {
13 "idiom" : "universal", 12 "idiom" : "universal",
  13 + "filename" : "decal_1.png",
14 "scale" : "3x" 14 "scale" : "3x"
15 } 15 }
16 ], 16 ],
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 \ No newline at end of file 22 \ No newline at end of file
LiveVideoCloud/animation.xcassets/no more.imageset/no more.png 0 → 100644

6.95 KB