关于删除视频播放的问题困扰我一天多时间,写下来记录下!
公司需求类似播放微信朋友圈小视频,只要播放器,点击全屏播放,再次点击移除掉。
在这个频繁的点击添加删除,一旦不移除干净,真的是各种问题
创建的对象如下
@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;
iOS彻底删除播放器AVPlayer
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 原文链接http://www.cnblogs.com/kenshincui/p/4186022.html 音频在i...
- 用AVFoundation的AVPlayer做的一个小视频播放器,包含左滑快退,右滑快进,上滑音量加,下滑音量减等...
- 前言### 由于什么直播、小视频火爆之后,我们开发者也要准备我们的播放器了,最常用到的肯定是自定义AVPlayer...