| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 | 
							- //
 
- //  GoodsVideoCollectionViewCell.m
 
- //  westkissMob
 
- //
 
- //  Created by 王猛 on 2022/9/15.
 
- //
 
- #import "GoodsVideoCollectionViewCell.h"
 
- @interface GoodsVideoCollectionViewCell ()
 
- @property (nonatomic, assign) BOOL isFirst;
 
- @end
 
- @implementation GoodsVideoCollectionViewCell
 
- - (instancetype)initWithFrame:(CGRect)frame{
 
-     self = [super initWithFrame:frame];
 
-     if (self) {
 
-         self.isFirst = YES;
 
-         [self xxx_loadIntView];
 
-         
 
-        
 
-     }
 
-     return self;
 
- }
 
- -(void)xxx_loadIntView{//@"http://www.w3school.com.cn/example/html5/mov_bbb.mp4"
 
-     [self.contentView addSubview:self.forPlayView];
 
-     self.forPlayView.frame = self.bounds;
 
-     
 
- }
 
- - (UIView *)forPlayView {
 
-     if(_forPlayView == nil) {
 
-         _forPlayView = [[UIView alloc]initWithFrame:self.bounds];
 
-         _forPlayView.hidden = YES;
 
-         UIButton *voiceBtn = [UIButton buttonWithType:UIButtonTypeCustom];
 
-         [voiceBtn setImage:[UIImage imageNamed:@"goods_voice_open"] forState:UIControlStateNormal];
 
-         [voiceBtn setImage:[UIImage imageNamed:@"goods_voice_close"] forState:UIControlStateSelected];
 
-         [voiceBtn addTarget:self action:@selector(handleVoiceBtnEvent:) forControlEvents:UIControlEventTouchUpInside];
 
-         [_forPlayView addSubview:voiceBtn];
 
-         voiceBtn.frame = CGRectMake(self.mj_h-60, self.mj_w-60, 44, 44);
 
-     }
 
-     return _forPlayView;
 
- }
 
- -(void)handleVoiceBtnEvent:(UIButton *)btn{
 
-     btn.selected = !btn.selected;
 
-     if (self.player.isMuted) {
 
-         self.player.muted = NO;
 
-     }else{
 
-         self.player.muted = YES;
 
-     }
 
- }
 
- #pragma mark - 网络视频模块
 
- - (ZFAVPlayerManager *)playerManager {
 
-     if(_playerManager == nil) {
 
-         _playerManager = [[ZFAVPlayerManager alloc] init];
 
-     }
 
-     return _playerManager;
 
- }
 
- - (ZFPlayerController *)player {
 
-     if(_player == nil) {
 
-         _player = [[ZFPlayerController alloc] initWithPlayerManager:self.playerManager containerView:self.forPlayView];
 
-         _player.controlView = self.controlView;
 
-         _player.playerDisapperaPercent = 1.0f;
 
-         
 
-         __weak typeof(self) weakSelf = self;
 
-         _player.playerDidToEnd = ^(id<ZFPlayerMediaPlayback> asset) { //结束播放
 
- //            [weakSelf.player stop];
 
-         };
 
-         [_player setPlayerPlayStateChanged:^(id<ZFPlayerMediaPlayback> asset, ZFPlayerPlaybackState playState) {
 
-             if(playState == ZFPlayerPlayStatePlayStopped) {
 
- //                NSLog(@"播放暂停");
 
-             }
 
-         }];
 
-         [_player setPlayerPlayTimeChanged:^(id<ZFPlayerMediaPlayback> asset, NSTimeInterval currentTime, NSTimeInterval duration) {
 
- //            NSLog(@"播放改变currentTime - %f duration - %f", currentTime, duration);
 
-         }];
 
-     }
 
-     return _player;
 
- }
 
- -(ZFPlayerControlView *)controlView {
 
-    if (_controlView == nil) {
 
-        _controlView = [[ZFPlayerControlView alloc]init];
 
-        _controlView.fastViewAnimated = YES;
 
-        _controlView.autoHiddenTimeInterval = 5;
 
-        _controlView.autoFadeTimeInterval = 0.5;
 
-        _controlView.prepareShowLoading = YES;
 
-        _controlView.prepareShowControlView = NO;
 
-        [_controlView.portraitControlView.fullScreenBtn setImage:[UIImage imageNamed:@"goods_voice_open"] forState:UIControlStateNormal];
 
-        [_controlView.portraitControlView.fullScreenBtn setImage:[UIImage imageNamed:@"goods_voice_close"] forState:UIControlStateSelected];
 
-        [_controlView.portraitControlView.fullScreenBtn addTarget:self action:@selector(handleVoiceBtnEvent:) forControlEvents:UIControlEventTouchUpInside];
 
-        
 
-    }
 
-    return _controlView;
 
- }
 
- - (void)playerDealloc {
 
-    //网络视频
 
-    if(_playerManager) {
 
-        _playerManager = nil;
 
-    }
 
-    if(_player) {
 
-        _player.viewControllerDisappear = YES;
 
-        [_player stop];
 
-        _player = nil;
 
-    }
 
- }
 
- -(void)setModel:(GoodsBannerModel *)model{
 
-     NSString *videoUrl = model.url;
 
-     self.forPlayView.hidden = NO;
 
-     if (self.isFirst) {
 
-         self.isFirst = NO;
 
-         [self.player.currentPlayerManager setAssetURL:[NSURL URLWithString:videoUrl]];
 
-         @weakify(self)
 
-         self.player.playerReadyToPlay = ^(id<ZFPlayerMediaPlayback>  _Nonnull asset, NSURL * _Nonnull assetURL) {
 
-             @strongify(self)
 
-             self.controlView.portraitControlView.fullScreenBtn.selected = YES;
 
-             self.player.muted = NO;
 
-         };
 
-     }
 
- }
 
- @end
 
 
  |