Commit 6968ecd528dcc44d2e8b7735c55c585f2f0f633f
1 parent
a5272947
完成短视频列表
Showing
13 changed files
with
145 additions
and
27 deletions
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