Commit 6968ecd528dcc44d2e8b7735c55c585f2f0f633f

Authored by 朱林
1 parent a5272947

完成短视频列表

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
... ... @@ -2,11 +2,11 @@
2 2 "images" : [
3 3 {
4 4 "idiom" : "universal",
  5 + "filename" : "decal_0.png",
5 6 "scale" : "1x"
6 7 },
7 8 {
8 9 "idiom" : "universal",
9   - "filename" : "decal_0.png",
10 10 "scale" : "2x"
11 11 },
12 12 {
... ...
LiveVideoCloud/animation.xcassets/ShortVideo/decals/decal_1.imageset/Contents.json
... ... @@ -6,11 +6,11 @@
6 6 },
7 7 {
8 8 "idiom" : "universal",
9   - "filename" : "decal_1.png",
10 9 "scale" : "2x"
11 10 },
12 11 {
13 12 "idiom" : "universal",
  13 + "filename" : "decal_1.png",
14 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 22 \ No newline at end of file
... ...
LiveVideoCloud/animation.xcassets/no more.imageset/no more.png 0 → 100644

6.95 KB