Commit 6fe20d89af8dc7dfa8e17c524bd7a5b0aae9ca75
1 parent
93d0c87d
点播退出按钮,根据播放状态设置背景图,判越界
Showing
2 changed files
with
232 additions
and
74 deletions
LiveVideoCloud/LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCUGCLivePlayerController.h
| ... | ... | @@ -7,7 +7,14 @@ |
| 7 | 7 | // |
| 8 | 8 | |
| 9 | 9 | #import <UIKit/UIKit.h> |
| 10 | +#import "LVCUGCLivePlayerModel.h" | |
| 10 | 11 | |
| 11 | 12 | @interface LVCUGCLivePlayerController : UIViewController |
| 12 | 13 | |
| 14 | +@property (nonatomic, strong) LVCUGCLivePlayerModel *model; | |
| 15 | + | |
| 16 | +@property (nonatomic, strong) NSArray <LVCUGCLivePlayerModel *>*playArray; | |
| 17 | + | |
| 18 | +@property (nonatomic, assign) NSInteger index; | |
| 19 | + | |
| 13 | 20 | @end | ... | ... |
LiveVideoCloud/LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCUGCLivePlayerController.m
| ... | ... | @@ -10,6 +10,7 @@ |
| 10 | 10 | #import <CNLivePlayerSDK/CNLiveWebcastManager.h> |
| 11 | 11 | #import "LVCUGCPlayerLoadingView.h" |
| 12 | 12 | #import "LVCUGCBackgroundView.h" |
| 13 | +#import "UIImage+LVCVagueImage.h" | |
| 13 | 14 | |
| 14 | 15 | |
| 15 | 16 | @interface LVCUGCLivePlayerController () { |
| ... | ... | @@ -22,6 +23,7 @@ |
| 22 | 23 | LVCUGCPlayerLoadingView *_firstLoadView; |
| 23 | 24 | LVCUGCPlayerLoadingView *_secondLoadView; |
| 24 | 25 | LVCUGCPlayerLoadingView *_thirdLoadView; |
| 26 | + UIImage *_blurImage; | |
| 25 | 27 | } |
| 26 | 28 | |
| 27 | 29 | @property (nonatomic, strong) UIView *viewOne; |
| ... | ... | @@ -32,6 +34,8 @@ |
| 32 | 34 | |
| 33 | 35 | @property (nonatomic, strong) LVCUGCBackgroundView *bgView; // 背景视图 |
| 34 | 36 | |
| 37 | +@property (nonatomic, strong) UIButton *vodPlayerQuitBtn; | |
| 38 | + | |
| 35 | 39 | @end |
| 36 | 40 | |
| 37 | 41 | @implementation LVCUGCLivePlayerController |
| ... | ... | @@ -54,44 +58,92 @@ |
| 54 | 58 | [super viewDidLoad]; |
| 55 | 59 | |
| 56 | 60 | self.view.backgroundColor = [UIColor whiteColor]; |
| 61 | + NSString *path = [[NSBundle mainBundle] pathForResource:@"UGCLoading" ofType:@"jpeg"]; | |
| 62 | + UIImage *image = [UIImage imageWithContentsOfFile:path]; | |
| 63 | + _blurImage = [UIImage boxblurImage:image withBlurNumber:0.6]; | |
| 57 | 64 | |
| 58 | 65 | [self.view addSubview:self.viewOne]; |
| 59 | 66 | [self.view addSubview:self.viewSecond]; |
| 60 | 67 | [self.view addSubview:self.viewThird]; |
| 61 | 68 | |
| 62 | - _pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panGesture:)]; | |
| 69 | + [self.view addSubview:self.bgView]; | |
| 63 | 70 | |
| 64 | - [self installMovieNotificationObservers]; | |
| 71 | + if ([_model.activityStatus isEqualToString:@"0"]) { | |
| 72 | + | |
| 73 | + _bgView.anchorStatus = 4; | |
| 74 | + | |
| 75 | + } else if ([_model.activityStatus isEqualToString:@"4"]) { | |
| 76 | + | |
| 77 | + _bgView.anchorStatus = 5; | |
| 78 | + | |
| 79 | + } else if ([_model.activityStatus isEqualToString:@"-2"]) { | |
| 80 | + | |
| 81 | + _bgView.anchorStatus = 6; | |
| 82 | + } | |
| 83 | +} | |
| 84 | + | |
| 85 | +- (void)setModel:(LVCUGCLivePlayerModel *)model { | |
| 65 | 86 | |
| 66 | - _player = [[CNLiveMoviePlayerController alloc] initLivePlayWithChannelId:@"iOStest" | |
| 67 | - authSuccess:^{ | |
| 68 | - | |
| 69 | - _player.videoDecoderMode = CNLiveMovieVideoDecoderMode_AUTO; | |
| 70 | - _player.view.frame = self.view.bounds; | |
| 71 | - _player.shouldAutoplay = YES; | |
| 72 | - [_player prepareToPlay]; | |
| 73 | - [_viewSecond addSubview:_player.view]; | |
| 74 | - [_viewSecond sendSubviewToBack:_player.view]; | |
| 75 | - [_player.view addGestureRecognizer:_pan]; | |
| 76 | - | |
| 77 | - } authFailed:^(NSDictionary *errorInfo) { | |
| 78 | - NSLog(@"初始化直播播放器失败:%@", errorInfo); | |
| 79 | - | |
| 80 | - } getAnchorStatusResult:^(BOOL result) { | |
| 81 | - | |
| 82 | - NSLog(@"-------------获取主播状态%d", result ? YES : NO); | |
| 83 | - | |
| 84 | - }]; | |
| 87 | + if (_model != model) { | |
| 88 | + _model = model; | |
| 89 | + } | |
| 85 | 90 | |
| 86 | - [self.view addSubview:self.bgView]; | |
| 91 | + _pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panGesture:)]; | |
| 92 | + [self installMovieNotificationObservers]; | |
| 93 | + | |
| 94 | + if ([model.activityStatus isEqualToString:@"1"]) { | |
| 95 | + | |
| 96 | + _player = [[CNLiveMoviePlayerController alloc] initLivePlayWithChannelId:model.channelId | |
| 97 | + authSuccess:^{ | |
| 98 | + | |
| 99 | + _player.videoDecoderMode = CNLiveMovieVideoDecoderMode_AUTO; | |
| 100 | + _player.view.frame = self.view.bounds; | |
| 101 | + _player.shouldAutoplay = YES; | |
| 102 | + [_player prepareToPlay]; | |
| 103 | + [self.viewSecond addSubview:_player.view]; | |
| 104 | + [self.viewSecond sendSubviewToBack:_player.view]; | |
| 105 | + [_player.view addGestureRecognizer:_pan]; | |
| 106 | + | |
| 107 | + } authFailed:^(NSDictionary *errorInfo) { | |
| 108 | + NSLog(@"初始化直播播放器失败:%@", errorInfo); | |
| 109 | + | |
| 110 | + } getAnchorStatusResult:^(BOOL result) { | |
| 111 | + | |
| 112 | + NSLog(@"-------------获取主播状态%d", result ? YES : NO); | |
| 113 | + | |
| 114 | + }]; | |
| 115 | + | |
| 116 | + } else if ([model.activityStatus isEqualToString:@"2"]) { | |
| 117 | + | |
| 118 | + _player = [[CNLiveMoviePlayerController alloc] initVodPlayWithVId:model.activityId | |
| 119 | + authSuccess:^{ | |
| 120 | + | |
| 121 | + _player.videoDecoderMode = CNLiveMovieVideoDecoderMode_AUTO; | |
| 122 | + _player.view.frame = self.view.bounds; | |
| 123 | + _player.shouldAutoplay = YES; | |
| 124 | + [_player prepareToPlay]; | |
| 125 | + [self.viewSecond addSubview:_player.view]; | |
| 126 | + [self.viewSecond sendSubviewToBack:_player.view]; | |
| 127 | + [_player.view addGestureRecognizer:_pan]; | |
| 128 | + [_player.view addSubview:self.vodPlayerQuitBtn]; | |
| 129 | + | |
| 130 | + } authFailed:^(NSDictionary *errorInfo) { | |
| 131 | + NSLog(@"初始化点播播放器失败%@", errorInfo); | |
| 132 | + }]; | |
| 133 | + | |
| 134 | + } | |
| 87 | 135 | } |
| 88 | 136 | |
| 89 | 137 | #pragma mark - UIPanGestureRecognizer !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| 90 | 138 | - (void)panGesture:(UIPanGestureRecognizer *)recognizer { |
| 91 | 139 | |
| 92 | - CGPoint t = [recognizer translationInView:_viewSecond]; | |
| 140 | + CGPoint t = [recognizer translationInView:self.viewSecond]; | |
| 93 | 141 | NSLog(@"移动距离>>>>>>>>>>>>>>%f",t.y); |
| 94 | 142 | |
| 143 | + if (((_index == 0) && (t.y > 0)) || ((_index == (_playArray.count - 1)) && (t.y < 0))) { | |
| 144 | + return; | |
| 145 | + } | |
| 146 | + | |
| 95 | 147 | _viewOne.frame = CGRectMake(0, _oneY + t.y, SCREEN_WIDTH, SCREEN_HEIGHT); |
| 96 | 148 | _viewSecond.frame = CGRectMake(0, _SecondY + t.y, SCREEN_WIDTH, SCREEN_HEIGHT); |
| 97 | 149 | _viewThird.frame = CGRectMake(0, _ThirdY + t.y, SCREEN_WIDTH, SCREEN_HEIGHT); |
| ... | ... | @@ -116,6 +168,10 @@ |
| 116 | 168 | |
| 117 | 169 | } completion:^(BOOL finished) { |
| 118 | 170 | |
| 171 | + _index = _index - 1; | |
| 172 | + if (_vodPlayerQuitBtn) { | |
| 173 | + [_vodPlayerQuitBtn removeFromSuperview]; | |
| 174 | + } | |
| 119 | 175 | [_player.view removeFromSuperview]; |
| 120 | 176 | [_player stop]; |
| 121 | 177 | _player = nil; |
| ... | ... | @@ -127,26 +183,63 @@ |
| 127 | 183 | _viewOne = _viewThird; |
| 128 | 184 | _viewThird = _viewSecond; |
| 129 | 185 | _viewSecond = _tempView; |
| 186 | + | |
| 130 | 187 | //往下滑 播放上一个 |
| 131 | - _player = [[CNLiveMoviePlayerController alloc] initLivePlayWithChannelId:@"iOStest" | |
| 132 | - authSuccess:^{ | |
| 133 | - | |
| 134 | - _player.videoDecoderMode = CNLiveMovieVideoDecoderMode_AUTO; | |
| 135 | - _player.view.frame = self.view.bounds; | |
| 136 | - _player.shouldAutoplay = YES; | |
| 137 | - [_player prepareToPlay]; | |
| 138 | - [_viewSecond addSubview:_player.view]; | |
| 139 | - [_viewSecond sendSubviewToBack:_player.view]; | |
| 140 | - [_player.view addGestureRecognizer:_pan]; | |
| 141 | - | |
| 142 | - } authFailed:^(NSDictionary *errorInfo) { | |
| 143 | - NSLog(@"初始化直播播放器失败:%@", errorInfo); | |
| 144 | - | |
| 145 | - } getAnchorStatusResult:^(BOOL result) { | |
| 146 | - | |
| 147 | - NSLog(@"-------------获取主播状态%d", result ? YES : NO); | |
| 148 | - | |
| 149 | - }]; | |
| 188 | + if (_index >= 0) { | |
| 189 | + if ([_playArray[_index].activityStatus isEqualToString:@"2"]) { | |
| 190 | + | |
| 191 | + _player = [[CNLiveMoviePlayerController alloc] initVodPlayWithVId:_playArray[_index].activityId | |
| 192 | + authSuccess:^{ | |
| 193 | + | |
| 194 | + _player.videoDecoderMode = CNLiveMovieVideoDecoderMode_AUTO; | |
| 195 | + _player.view.frame = self.view.bounds; | |
| 196 | + _player.shouldAutoplay = YES; | |
| 197 | + [_player prepareToPlay]; | |
| 198 | + [_viewSecond addSubview:_player.view]; | |
| 199 | + [_viewSecond sendSubviewToBack:_player.view]; | |
| 200 | + [_player.view addGestureRecognizer:_pan]; | |
| 201 | + [_player.view addSubview:self.vodPlayerQuitBtn]; | |
| 202 | + | |
| 203 | + } authFailed:^(NSDictionary *errorInfo) { | |
| 204 | + NSLog(@"初始化点播播放器失败%@", errorInfo); | |
| 205 | + }]; | |
| 206 | + | |
| 207 | + } else if ([_playArray[_index].activityStatus isEqualToString:@"1"]) { | |
| 208 | + | |
| 209 | + | |
| 210 | + _player = [[CNLiveMoviePlayerController alloc] initLivePlayWithChannelId:_playArray[_index].channelId | |
| 211 | + authSuccess:^{ | |
| 212 | + | |
| 213 | + _player.videoDecoderMode = CNLiveMovieVideoDecoderMode_AUTO; | |
| 214 | + _player.view.frame = self.view.bounds; | |
| 215 | + _player.shouldAutoplay = YES; | |
| 216 | + [_player prepareToPlay]; | |
| 217 | + [_viewSecond addSubview:_player.view]; | |
| 218 | + [_viewSecond sendSubviewToBack:_player.view]; | |
| 219 | + [_player.view addGestureRecognizer:_pan]; | |
| 220 | + | |
| 221 | + } authFailed:^(NSDictionary *errorInfo) { | |
| 222 | + NSLog(@"初始化直播播放器失败:%@", errorInfo); | |
| 223 | + | |
| 224 | + } getAnchorStatusResult:^(BOOL result) { | |
| 225 | + | |
| 226 | + NSLog(@"-------------获取主播状态%d", result ? YES : NO); | |
| 227 | + | |
| 228 | + }]; | |
| 229 | + } else if ([_playArray[_index].activityStatus isEqualToString:@"0"]) { | |
| 230 | + | |
| 231 | + | |
| 232 | + _bgView.anchorStatus = 4; | |
| 233 | + | |
| 234 | + } else if ([_playArray[_index].activityStatus isEqualToString:@"4"]) { | |
| 235 | + | |
| 236 | + _bgView.anchorStatus = 5; | |
| 237 | + | |
| 238 | + } else if ([_playArray[_index].activityStatus isEqualToString:@"-2"]) { | |
| 239 | + | |
| 240 | + _bgView.anchorStatus = 6; | |
| 241 | + } | |
| 242 | + } | |
| 150 | 243 | |
| 151 | 244 | _oneY = _viewOne.frame.origin.y; |
| 152 | 245 | _SecondY = _viewSecond.frame.origin.y; |
| ... | ... | @@ -162,6 +255,10 @@ |
| 162 | 255 | |
| 163 | 256 | } completion:^(BOOL finished) { |
| 164 | 257 | |
| 258 | + _index = _index + 1; | |
| 259 | + if (_vodPlayerQuitBtn) { | |
| 260 | + [_vodPlayerQuitBtn removeFromSuperview]; | |
| 261 | + } | |
| 165 | 262 | [_player.view removeFromSuperview]; |
| 166 | 263 | [_player stop]; |
| 167 | 264 | _player = nil; |
| ... | ... | @@ -173,27 +270,63 @@ |
| 173 | 270 | _viewOne = _viewSecond; |
| 174 | 271 | _viewSecond = _viewThird; |
| 175 | 272 | _viewThird = _tempView; |
| 176 | - [_viewSecond addGestureRecognizer:_pan]; | |
| 273 | + | |
| 177 | 274 | //往上滑 播放下一个 |
| 178 | - _player = [[CNLiveMoviePlayerController alloc] initLivePlayWithChannelId:@"iOStest" | |
| 179 | - authSuccess:^{ | |
| 180 | - | |
| 181 | - _player.videoDecoderMode = CNLiveMovieVideoDecoderMode_AUTO; | |
| 182 | - _player.view.frame = self.view.bounds; | |
| 183 | - _player.shouldAutoplay = YES; | |
| 184 | - [_player prepareToPlay]; | |
| 185 | - [_viewSecond addSubview:_player.view]; | |
| 186 | - [_viewSecond sendSubviewToBack:_player.view]; | |
| 187 | - [_player.view addGestureRecognizer:_pan]; | |
| 188 | - | |
| 189 | - } authFailed:^(NSDictionary *errorInfo) { | |
| 190 | - NSLog(@"初始化直播播放器失败:%@", errorInfo); | |
| 191 | - | |
| 192 | - } getAnchorStatusResult:^(BOOL result) { | |
| 193 | - | |
| 194 | - NSLog(@"-------------获取主播状态%d", result ? YES : NO); | |
| 195 | - | |
| 196 | - }]; | |
| 275 | + if (_index < _playArray.count) { // 判越界 | |
| 276 | + | |
| 277 | + if ([_playArray[_index].activityStatus isEqualToString:@"2"]) { | |
| 278 | + | |
| 279 | + _player = [[CNLiveMoviePlayerController alloc] initVodPlayWithVId:_playArray[_index].activityId | |
| 280 | + authSuccess:^{ | |
| 281 | + | |
| 282 | + _player.videoDecoderMode = CNLiveMovieVideoDecoderMode_AUTO; | |
| 283 | + _player.view.frame = self.view.bounds; | |
| 284 | + _player.shouldAutoplay = YES; | |
| 285 | + [_player prepareToPlay]; | |
| 286 | + [_viewSecond addSubview:_player.view]; | |
| 287 | + [_viewSecond sendSubviewToBack:_player.view]; | |
| 288 | + [_player.view addGestureRecognizer:_pan]; | |
| 289 | + [_player.view addSubview:self.vodPlayerQuitBtn]; | |
| 290 | + | |
| 291 | + } authFailed:^(NSDictionary *errorInfo) { | |
| 292 | + NSLog(@"初始化点播播放器失败%@", errorInfo); | |
| 293 | + }]; | |
| 294 | + | |
| 295 | + } else if ([_playArray[_index].activityStatus isEqualToString:@"1"]) { | |
| 296 | + | |
| 297 | + _player = [[CNLiveMoviePlayerController alloc] initLivePlayWithChannelId:_playArray[_index].channelId | |
| 298 | + authSuccess:^{ | |
| 299 | + | |
| 300 | + _player.videoDecoderMode = CNLiveMovieVideoDecoderMode_AUTO; | |
| 301 | + _player.view.frame = self.view.bounds; | |
| 302 | + _player.shouldAutoplay = YES; | |
| 303 | + [_player prepareToPlay]; | |
| 304 | + [_viewSecond addSubview:_player.view]; | |
| 305 | + [_viewSecond sendSubviewToBack:_player.view]; | |
| 306 | + [_player.view addGestureRecognizer:_pan]; | |
| 307 | + | |
| 308 | + } authFailed:^(NSDictionary *errorInfo) { | |
| 309 | + NSLog(@"初始化直播播放器失败:%@", errorInfo); | |
| 310 | + | |
| 311 | + } getAnchorStatusResult:^(BOOL result) { | |
| 312 | + | |
| 313 | + NSLog(@"-------------获取主播状态%d", result ? YES : NO); | |
| 314 | + | |
| 315 | + }]; | |
| 316 | + } else if ([_playArray[_index].activityStatus isEqualToString:@"0"]) { | |
| 317 | + | |
| 318 | + _bgView.anchorStatus = 4; | |
| 319 | + | |
| 320 | + } else if ([_playArray[_index].activityStatus isEqualToString:@"4"]) { | |
| 321 | + | |
| 322 | + _bgView.anchorStatus = 5; | |
| 323 | + | |
| 324 | + } else if ([_playArray[_index].activityStatus isEqualToString:@"-2"]) { | |
| 325 | + | |
| 326 | + _bgView.anchorStatus = 6; | |
| 327 | + } | |
| 328 | + | |
| 329 | + } | |
| 197 | 330 | |
| 198 | 331 | _oneY = _viewOne.frame.origin.y; |
| 199 | 332 | _SecondY = _viewSecond.frame.origin.y; |
| ... | ... | @@ -209,6 +342,7 @@ |
| 209 | 342 | _viewThird.frame = CGRectMake(0, _ThirdY, SCREEN_WIDTH, SCREEN_HEIGHT); |
| 210 | 343 | |
| 211 | 344 | } completion:^(BOOL finished) { |
| 345 | + | |
| 212 | 346 | _oneY = _viewOne.frame.origin.y; |
| 213 | 347 | _SecondY = _viewSecond.frame.origin.y; |
| 214 | 348 | _ThirdY = _viewThird.frame.origin.y; |
| ... | ... | @@ -281,16 +415,11 @@ |
| 281 | 415 | { |
| 282 | 416 | if (_player) { |
| 283 | 417 | int reason = [[[notification userInfo] valueForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey] intValue]; |
| 284 | - if (MPMovieFinishReasonPlaybackError == reason) { | |
| 285 | - | |
| 286 | - | |
| 287 | - } else { | |
| 288 | - | |
| 289 | - } | |
| 290 | 418 | |
| 291 | 419 | switch (reason) |
| 292 | 420 | { |
| 293 | 421 | case MPMovieFinishReasonPlaybackEnded: |
| 422 | + _bgView.anchorStatus = 3; // 点播播放结束 | |
| 294 | 423 | NSLog(@"playbackStateDidChange: MPMovieFinishReasonPlaybackEnded: %d\n", reason); |
| 295 | 424 | break; |
| 296 | 425 | |
| ... | ... | @@ -315,12 +444,17 @@ |
| 315 | 444 | if (_player) { |
| 316 | 445 | NSLog(@"isPreparedToPlay"); |
| 317 | 446 | |
| 318 | - if (_viewSecond.subviews.count>0) { | |
| 319 | - for (UIView *subViews in _viewSecond.subviews) { | |
| 320 | - if ([subViews isKindOfClass:[LVCUGCPlayerLoadingView class]]) { | |
| 321 | - [subViews removeFromSuperview]; | |
| 322 | - } | |
| 323 | - } | |
| 447 | + [self removeSecondLoadingView]; | |
| 448 | + } | |
| 449 | +} | |
| 450 | + | |
| 451 | +- (void)removeSecondLoadingView { | |
| 452 | + | |
| 453 | + if (_viewSecond.subviews.count>0) { | |
| 454 | + for (UIView *subViews in _viewSecond.subviews) { | |
| 455 | + if ([subViews isKindOfClass:[LVCUGCPlayerLoadingView class]]) { | |
| 456 | + [subViews removeFromSuperview]; | |
| 457 | + } | |
| 324 | 458 | } |
| 325 | 459 | } |
| 326 | 460 | } |
| ... | ... | @@ -383,6 +517,7 @@ |
| 383 | 517 | #pragma mark - Button Action !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| 384 | 518 | - (void)backToList { |
| 385 | 519 | |
| 520 | + [_player stop]; | |
| 386 | 521 | [self.navigationController popViewControllerAnimated:YES]; |
| 387 | 522 | } |
| 388 | 523 | |
| ... | ... | @@ -402,6 +537,9 @@ |
| 402 | 537 | _viewOne = [[UIView alloc] initWithFrame:CGRectMake(0, -SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT)]; |
| 403 | 538 | _viewOne.backgroundColor = [UIColor blackColor]; |
| 404 | 539 | _firstLoadView = [[LVCUGCPlayerLoadingView alloc] initWithFrame:self.view.bounds]; |
| 540 | + if (_index > 0) { | |
| 541 | + [_firstLoadView.bgImageView sd_setImageWithURL:[NSURL URLWithString:_playArray[_index-1].coverImgUrl] placeholderImage:_blurImage]; | |
| 542 | + } | |
| 405 | 543 | [_viewOne addSubview:_firstLoadView]; |
| 406 | 544 | _oneY = -SCREEN_HEIGHT; |
| 407 | 545 | } |
| ... | ... | @@ -413,6 +551,7 @@ |
| 413 | 551 | _viewSecond = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)]; |
| 414 | 552 | _viewSecond.backgroundColor = [UIColor blackColor]; |
| 415 | 553 | _secondLoadView = [[LVCUGCPlayerLoadingView alloc] initWithFrame:self.view.bounds]; |
| 554 | + [_secondLoadView.bgImageView sd_setImageWithURL:[NSURL URLWithString:_model.coverImgUrl] placeholderImage:_blurImage]; | |
| 416 | 555 | [_viewSecond addSubview:_secondLoadView]; |
| 417 | 556 | _SecondY = 0; |
| 418 | 557 | } |
| ... | ... | @@ -424,12 +563,24 @@ |
| 424 | 563 | _viewThird = [[UIView alloc] initWithFrame:CGRectMake(0, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT)]; |
| 425 | 564 | _viewThird.backgroundColor = [UIColor blackColor]; |
| 426 | 565 | _thirdLoadView = [[LVCUGCPlayerLoadingView alloc] initWithFrame:self.view.bounds]; |
| 566 | + [_thirdLoadView.bgImageView sd_setImageWithURL:[NSURL URLWithString:_playArray[_index+1].coverImgUrl] placeholderImage:_blurImage]; | |
| 427 | 567 | [_viewThird addSubview:_thirdLoadView]; |
| 428 | 568 | _ThirdY = SCREEN_HEIGHT; |
| 429 | 569 | } |
| 430 | 570 | return _viewThird; |
| 431 | 571 | } |
| 432 | 572 | |
| 573 | +- (UIButton *)vodPlayerQuitBtn { | |
| 574 | + if (!_vodPlayerQuitBtn) { | |
| 575 | + _vodPlayerQuitBtn = [UIButton buttonWithType:UIButtonTypeCustom]; | |
| 576 | + _vodPlayerQuitBtn.frame = CGRectMake(SCREEN_WIDTH - 50, SCREEN_HEIGHT - 50, 40, 40); | |
| 577 | + [_vodPlayerQuitBtn setImage:[UIImage imageNamed:@"LiveCloseNormal"] forState:UIControlStateNormal]; | |
| 578 | + [_vodPlayerQuitBtn setImage:[UIImage imageNamed:@"LiveCloseTouch"] forState:UIControlStateHighlighted]; | |
| 579 | + [_vodPlayerQuitBtn addTarget:self action:@selector(backToList) forControlEvents:UIControlEventTouchUpInside]; | |
| 580 | + } | |
| 581 | + return _vodPlayerQuitBtn; | |
| 582 | +} | |
| 583 | + | |
| 433 | 584 | #pragma mark - 移除通知 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| 434 | 585 | - (void)removeMovieNotificationObservers |
| 435 | 586 | { | ... | ... |