美死你优惠券网

「 iOS彻底删除播放器AVPlayer 」

Edit: 衰小乐 ┊   From: 一只猫の世界。 人气: -
关于删除视频播放的问题困扰我一天多时间,写下来记录下!
公司需求类似播放微信朋友圈小视频,只要播放器,点击全屏播放,再次点击移除掉。
在这个频繁的点击添加删除,一旦不移除干净,真的是各种问题
创建的对象如下
@property (nonatomic, strong) AVPlayerLayer *playerLayer;
@property (nonatomic, strong) AVPlayer *player;
这两个必不可少,其他根据需求自行添加
移除的时候,移除自己添加的通知
[self.playerItem removeObserver:self forKeyPath:@"loadedTimeRanges"];
[self.playerItem removeObserver:self forKeyPath:@"playbackBufferEmpty"];
[self.playerItem removeObserver:self forKeyPath:@"playbackLikelyToKeepUp"];
[[NSNotificationCenter defaultCenter]removeObserver:self name:AVPlayerItemDidPlayToEndTimeNotification object:[self.player currentItem]];
移除对象
if (self.player) {
[self pause];
self.playerItem = nil;
self.videoMaskView = nil;
self.currentPlayTime = 0;
[self.player.currentItem cancelPendingSeeks];
[self.player.currentItem.asset cancelLoading];
[self.playerLayer removeFromSuperlayer];
self.totalTime = 0;
self.player = nil;
self.playerLayer = nil;
[self.videoMaskView removeFromSuperview];
[self removeFromSuperview];
}
重点之重~~~~~下边这俩,不然添加的时候,冷不丁的就会出问题
[self.playerLayer removeFromSuperlayer];
self.playerLayer = nil;


作者:c608
链接:https://www.jianshu.com/p/b25f87e5c2c9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


[小站内所有素材图片和文字均搜集整理于互联网,小站不拥有此类素材图片和文字的版权。图片素材和文字均用于学习交流之用,勿作它用;若需商业使用,需获得版权拥有者授权,并遵循国家相关法律、法规之规定。如因非法使用引起纠纷,一切后果由使用者承担。]

Copyright © 2016-2020 衰小乐 Inc. 保留所有权利。