|
@@ -118,7 +118,7 @@ static id rq_VideoModule = nil;
|
|
|
}
|
|
|
|
|
|
- (void)requestDataWithVideosItem:(VideosItem *)videoItem videosItemArr:(NSArray *)videosItemArr {
|
|
|
- @weakify(self)
|
|
|
+ WeakSelf(weakSelf)
|
|
|
if (RQ_Video_Module.currentpPlayVideosItem.isPlaying) {
|
|
|
RQ_Video_Module.currentpPlayVideosItem.isPlaying = NO;
|
|
|
}
|
|
@@ -130,12 +130,18 @@ static id rq_VideoModule = nil;
|
|
|
|
|
|
} else {
|
|
|
[self.playerController.currentPlayerManager pause];
|
|
|
+ if (_payState>0) return;
|
|
|
+ NSLog(@"AD-广告");
|
|
|
[RQ_AD_MANAGER loadAdWithAdType:RQADType_native customView:self.playView];
|
|
|
+ _payState = 1;
|
|
|
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
|
|
+ _payState = 0;
|
|
|
+ });
|
|
|
[RQ_AD_MANAGER initCloseBlock:^(RQADDoType adDoType) {
|
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
|
- @strongify(self)
|
|
|
- self.adDoType = adDoType;
|
|
|
- ZFPlayerPlaybackState playState = self.playerController.currentPlayerManager.playState;
|
|
|
+// @strongify(self)
|
|
|
+ weakSelf.adDoType = adDoType;
|
|
|
+ ZFPlayerPlaybackState playState = weakSelf.playerController.currentPlayerManager.playState;
|
|
|
if (adDoType == RQADDoType_Miss) {
|
|
|
|
|
|
}
|
|
@@ -144,7 +150,7 @@ static id rq_VideoModule = nil;
|
|
|
case RQADDoType_Success:
|
|
|
case RQADDoType_Click:{
|
|
|
if (playState == ZFPlayerPlayStatePlaying) {
|
|
|
- [self.playerController.currentPlayerManager pause];
|
|
|
+ [weakSelf.playerController.currentPlayerManager pause];
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
@@ -152,20 +158,20 @@ static id rq_VideoModule = nil;
|
|
|
case RQADDoType_Faild:
|
|
|
case RQADDoType_Close:{
|
|
|
if (playState == ZFPlayerPlayStatePaused) {
|
|
|
- if (!self.playerController.player.isFullScreen) {
|
|
|
+ if (!weakSelf.playerController.player.isFullScreen) {
|
|
|
//延时
|
|
|
[[[[RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
|
|
|
[subscriber sendNext:@"延时.2f秒"];
|
|
|
return nil;
|
|
|
}] delay:.2f] deliverOnMainThread] subscribeNext:^(id x) {
|
|
|
- @strongify(self)
|
|
|
- [self.playerController.currentPlayerManager play];
|
|
|
- self.adDoType = RQADDoType_Miss;
|
|
|
+// @strongify(self)
|
|
|
+ [weakSelf.playerController.currentPlayerManager play];
|
|
|
+ weakSelf.adDoType = RQADDoType_Miss;
|
|
|
}];
|
|
|
} else {
|
|
|
if ([NSStringFromClass([RQControllerHelper.currentViewController class]) isEqualToString:@"ZFLandscapeViewController"]) {
|
|
|
- [self.playerController.currentPlayerManager play];
|
|
|
- self.adDoType = RQADDoType_Miss;
|
|
|
+ [weakSelf.playerController.currentPlayerManager play];
|
|
|
+ weakSelf.adDoType = RQADDoType_Miss;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -186,24 +192,24 @@ static id rq_VideoModule = nil;
|
|
|
|
|
|
if (!RQ_COMMON_MANAGER.APP_SWITCH) {
|
|
|
self.playerController.player.playerPlayTimeChanged = ^(id<ZFPlayerMediaPlayback> _Nonnull asset, NSTimeInterval currentTime, NSTimeInterval duration) {
|
|
|
- @strongify(self)
|
|
|
+// @strongify(self)
|
|
|
if (videoItem.permission == 1) {
|
|
|
if (videoItem.videoType == RQVideoType_KaoChang) {
|
|
|
if (!isBuy) {
|
|
|
NSInteger tryLookSecond = RQStringIsEmpty(videoItem.placeVideoListModel.tryLookSecond)? 0 : videoItem.placeVideoListModel.tryLookSecond.integerValue;
|
|
|
if (tryLookSecond > 0) {
|
|
|
- if (self.playerController.player.currentTime >= tryLookSecond) {
|
|
|
- [self.playerController.currentPlayerManager pause];
|
|
|
- self.vipPlaceHolderView.myTitleLabel.text = @"试看结束,开通考场会员观看完整视频";
|
|
|
- [self.playerController.containerView addSubview:self.vipPlaceHolderView];
|
|
|
- [self.vipPlaceHolderView.reLookBtn setTapActionWithBlock:^(UITapGestureRecognizer *tap) {
|
|
|
- [self.vipPlaceHolderView removeFromSuperview];
|
|
|
- self.controlView = nil;
|
|
|
- self.playerController.controlView = self.controlView;
|
|
|
- [self.controlView showTitle:videoItem.title coverURLString:videoItem.coverFileUrl placeholderImage:RQWebVideoImagePlaceholder() fullScreenMode:ZFFullScreenModeAutomatic];
|
|
|
- [self.playerController playWithPlayable:videoItem];
|
|
|
+ if (weakSelf.playerController.player.currentTime >= tryLookSecond) {
|
|
|
+ [weakSelf.playerController.currentPlayerManager pause];
|
|
|
+ weakSelf.vipPlaceHolderView.myTitleLabel.text = @"试看结束,开通考场会员观看完整视频";
|
|
|
+ [weakSelf.playerController.containerView addSubview:weakSelf.vipPlaceHolderView];
|
|
|
+ [weakSelf.vipPlaceHolderView.reLookBtn setTapActionWithBlock:^(UITapGestureRecognizer *tap) {
|
|
|
+ [weakSelf.vipPlaceHolderView removeFromSuperview];
|
|
|
+ weakSelf.controlView = nil;
|
|
|
+ weakSelf.playerController.controlView = weakSelf.controlView;
|
|
|
+ [weakSelf.controlView showTitle:videoItem.title coverURLString:videoItem.coverFileUrl placeholderImage:RQWebVideoImagePlaceholder() fullScreenMode:ZFFullScreenModeAutomatic];
|
|
|
+ [weakSelf.playerController playWithPlayable:videoItem];
|
|
|
}];
|
|
|
- [self.vipPlaceHolderView.openBtn setTapActionWithBlock:^(UITapGestureRecognizer *tap) {
|
|
|
+ [weakSelf.vipPlaceHolderView.openBtn setTapActionWithBlock:^(UITapGestureRecognizer *tap) {
|
|
|
[RQ_APPDELEGATE.services popViewModelAnimated:YES];
|
|
|
}];
|
|
|
}
|
|
@@ -213,35 +219,35 @@ static id rq_VideoModule = nil;
|
|
|
if ((videoItem.subject == 1 && RQ_VIP_Module.isSubject2Vip) || (videoItem.subject == 2 && RQ_VIP_Module.isSubject3Vip)) {
|
|
|
|
|
|
} else {
|
|
|
- if (self.playerController.player.currentTime >= 15) {
|
|
|
- [self.playerController.currentPlayerManager pause];
|
|
|
+ if (weakSelf.playerController.player.currentTime >= 15) {
|
|
|
+ [weakSelf.playerController.currentPlayerManager pause];
|
|
|
switch (videoItem.subject) {
|
|
|
case 0:
|
|
|
- self.vipPlaceHolderView.myTitleLabel.text = @"试看结束,开通科一会员观看完整视频";
|
|
|
+ weakSelf.vipPlaceHolderView.myTitleLabel.text = @"试看结束,开通科一会员观看完整视频";
|
|
|
break;
|
|
|
case 1:
|
|
|
- self.vipPlaceHolderView.myTitleLabel.text = @"试看结束,开通科二会员观看完整视频";
|
|
|
+ weakSelf.vipPlaceHolderView.myTitleLabel.text = @"试看结束,开通科二会员观看完整视频";
|
|
|
break;
|
|
|
case 2:
|
|
|
- self.vipPlaceHolderView.myTitleLabel.text = @"试看结束,开通科三会员观看完整视频";
|
|
|
+ weakSelf.vipPlaceHolderView.myTitleLabel.text = @"试看结束,开通科三会员观看完整视频";
|
|
|
break;
|
|
|
case 3:
|
|
|
- self.vipPlaceHolderView.myTitleLabel.text = @"试看结束,开通科四会员观看完整视频";
|
|
|
+ weakSelf.vipPlaceHolderView.myTitleLabel.text = @"试看结束,开通科四会员观看完整视频";
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
- self.vipPlaceHolderView.myTitleLabel.text = @"试看结束,开通会员观看完整视频";
|
|
|
+ weakSelf.vipPlaceHolderView.myTitleLabel.text = @"试看结束,开通会员观看完整视频";
|
|
|
break;
|
|
|
}
|
|
|
- [self.playerController.containerView addSubview:self.vipPlaceHolderView];
|
|
|
- [self.vipPlaceHolderView.reLookBtn setTapActionWithBlock:^(UITapGestureRecognizer *tap) {
|
|
|
- [self.vipPlaceHolderView removeFromSuperview];
|
|
|
- self.controlView = nil;
|
|
|
- self.playerController.controlView = self.controlView;
|
|
|
- [self.controlView showTitle:videoItem.title coverURLString:videoItem.coverFileUrl placeholderImage:RQWebVideoImagePlaceholder() fullScreenMode:ZFFullScreenModeAutomatic];
|
|
|
- [self.playerController playWithPlayable:videoItem];
|
|
|
+ [weakSelf.playerController.containerView addSubview:weakSelf.vipPlaceHolderView];
|
|
|
+ [weakSelf.vipPlaceHolderView.reLookBtn setTapActionWithBlock:^(UITapGestureRecognizer *tap) {
|
|
|
+ [weakSelf.vipPlaceHolderView removeFromSuperview];
|
|
|
+ weakSelf.controlView = nil;
|
|
|
+ weakSelf.playerController.controlView = weakSelf.controlView;
|
|
|
+ [weakSelf.controlView showTitle:videoItem.title coverURLString:videoItem.coverFileUrl placeholderImage:RQWebVideoImagePlaceholder() fullScreenMode:ZFFullScreenModeAutomatic];
|
|
|
+ [weakSelf.playerController playWithPlayable:videoItem];
|
|
|
}];
|
|
|
- [self.vipPlaceHolderView.openBtn setTapActionWithBlock:^(UITapGestureRecognizer *tap) {
|
|
|
+ [weakSelf.vipPlaceHolderView.openBtn setTapActionWithBlock:^(UITapGestureRecognizer *tap) {
|
|
|
[RQ_VIP_Module gotoBuyVipWithVipPageType:RQVIPPageType_Full];
|
|
|
}];
|
|
|
}
|
|
@@ -253,21 +259,21 @@ static id rq_VideoModule = nil;
|
|
|
|
|
|
|
|
|
self.playerController.currentPlayerManager.playerDidToEnd = ^(id<ZFPlayerMediaPlayback> _Nonnull asset) {
|
|
|
- @strongify(self)
|
|
|
- if (!self.playerController.player.isFullScreen) {
|
|
|
+// @strongify(self)
|
|
|
+ if (!weakSelf.playerController.player.isFullScreen) {
|
|
|
NSInteger currentIndex = [videosItemArr indexOfObject:videoItem];
|
|
|
- NSInteger nextIndex = (currentIndex + 1 >= self.playerController.playableArray.count)? 0 : currentIndex + 1;
|
|
|
+ NSInteger nextIndex = (currentIndex + 1 >= weakSelf.playerController.playableArray.count)? 0 : currentIndex + 1;
|
|
|
VideosItem *nextVideoItem = (VideosItem *)videosItemArr[nextIndex];
|
|
|
- if ([self isCanWatchWithVideosItem:nextVideoItem]) {
|
|
|
+ if ([weakSelf isCanWatchWithVideosItem:nextVideoItem]) {
|
|
|
videoItem.isPlaying = NO;
|
|
|
nextVideoItem.isPlaying = YES;
|
|
|
- [self requestDataWithVideosItem:nextVideoItem videosItemArr:videosItemArr];
|
|
|
+ [weakSelf requestDataWithVideosItem:nextVideoItem videosItemArr:videosItemArr];
|
|
|
}
|
|
|
} else {
|
|
|
NSInteger currentIndex = [videosItemArr indexOfObject:RQ_Video_Module.currentpPlayVideosItem];
|
|
|
- NSInteger nextIndex = (currentIndex + 1 >= self.playerController.playableArray.count)? 0 : currentIndex + 1;
|
|
|
+ NSInteger nextIndex = (currentIndex + 1 >= weakSelf.playerController.playableArray.count)? 0 : currentIndex + 1;
|
|
|
VideosItem *nextVideoItem = (VideosItem *)videosItemArr[nextIndex];
|
|
|
- if ([self isCanWatchWithVideosItem:nextVideoItem]) {
|
|
|
+ if ([weakSelf isCanWatchWithVideosItem:nextVideoItem]) {
|
|
|
if ((videoItem.subject == 1 && RQ_VIP_Module.isSubject2Vip) || (videoItem.subject == 2 && RQ_VIP_Module.isSubject3Vip)) {
|
|
|
|
|
|
} else {
|
|
@@ -282,10 +288,10 @@ static id rq_VideoModule = nil;
|
|
|
[alert addButton:@"立即播放 " actionBlock:^(void) {
|
|
|
isSure = YES;
|
|
|
RQ_Video_Module.currentpPlayVideosItem.isPlaying = NO;
|
|
|
- [self.playerController playWithPlayable:nextVideoItem];
|
|
|
+ [weakSelf.playerController playWithPlayable:nextVideoItem];
|
|
|
nextVideoItem.isPlaying = YES;
|
|
|
- [self.playerController.currentPlayerManager pause];
|
|
|
- [self.controlView updateTitle:nextVideoItem.title coverURLString:nextVideoItem.coverFileUrl placeholderImage:RQWebVideoImagePlaceholder() fullScreenMode:ZFFullScreenModeAutomatic];
|
|
|
+ [weakSelf.playerController.currentPlayerManager pause];
|
|
|
+ [weakSelf.controlView updateTitle:nextVideoItem.title coverURLString:nextVideoItem.coverFileUrl placeholderImage:RQWebVideoImagePlaceholder() fullScreenMode:ZFFullScreenModeAutomatic];
|
|
|
RQ_Video_Module.currentpPlayVideosItem = nextVideoItem;
|
|
|
}];
|
|
|
[alert addTimerToButtonIndex:0 reverse:YES];
|
|
@@ -321,22 +327,23 @@ static id rq_VideoModule = nil;
|
|
|
- (ZFPlayerControlView *)controlView {
|
|
|
if (!_controlView) {
|
|
|
_controlView = [[ZFPlayerControlView alloc] init];
|
|
|
- @weakify(self, _controlView)
|
|
|
+// @weakify(self)
|
|
|
+ WeakSelf(weakSelf)
|
|
|
[_controlView.portraitControlView.backBtn setTapActionWithBlock:^(UITapGestureRecognizer *tap) {
|
|
|
- @strongify(self)
|
|
|
- [self.playerController stop];
|
|
|
+ [RQNotificationCenter removeObserver:weakSelf.videoDetailViewController name:RQPlayVideoUrlNotification object:nil];
|
|
|
+ [weakSelf.playerController stop];
|
|
|
[RQ_APPDELEGATE.services popViewModelAnimated:YES];
|
|
|
}];
|
|
|
_controlView.portraitControlView.topToolView.alpha = 1;
|
|
|
_controlView.portraitControlView.topToolView.zf_y = 0;
|
|
|
- [[[[RACObserve(_controlView, portraitControlView.topToolView.alpha) deliverOnMainThread] distinctUntilChanged] takeUntil:self.rac_willDeallocSignal] subscribeNext:^(id _Nullable x) {
|
|
|
- @strongify(_controlView)
|
|
|
+ [[[[RACObserve(_controlView, portraitControlView.topToolView.alpha) deliverOnMainThread] distinctUntilChanged] takeUntil:weakSelf.rac_willDeallocSignal] subscribeNext:^(id _Nullable x) {
|
|
|
+// @strongify(_controlView)
|
|
|
if (_controlView.portraitControlView.topToolView.alpha < 1) {
|
|
|
_controlView.portraitControlView.topToolView.alpha = 1;
|
|
|
}
|
|
|
}];
|
|
|
- [[[[RACObserve(_controlView, portraitControlView.topToolView.zf_y) deliverOnMainThread] distinctUntilChanged] takeUntil:self.rac_willDeallocSignal] subscribeNext:^(id _Nullable x) {
|
|
|
- @strongify(_controlView)
|
|
|
+ [[[[RACObserve(_controlView, portraitControlView.topToolView.zf_y) deliverOnMainThread] distinctUntilChanged] takeUntil:weakSelf.rac_willDeallocSignal] subscribeNext:^(id _Nullable x) {
|
|
|
+// @strongify(_controlView)
|
|
|
if (_controlView.portraitControlView.topToolView.zf_y < 0) {
|
|
|
_controlView.portraitControlView.topToolView.zf_y = 0;
|
|
|
}
|