一个关于AVPlayer蛋疼的释放问题(iOS 9.0 AVPlayer的使用与内存的释放问题)
2015-11-06 16:58
537 查看
首先需要创建AVPlayer 这时候要先包含头文件,因为是9.0了,所以不用包含库,直接导入头文件即可
在这里可以把播放器作为成员变量,方便全局使用,当然,也可以不用,我在这里是作为全局变量来使用的,方便内存的管理
接着就是创建了
用完是需要注意要对其进行释放:写在你退出的点击事件当中,比如说要pop视图了
搞定!
#import <AVFoundation/AVFoundation.h>
在这里可以把播放器作为成员变量,方便全局使用,当然,也可以不用,我在这里是作为全局变量来使用的,方便内存的管理
@property (nonatomic,strong) AVPlayer *player;//视频播放 @property (nonatomic,strong)AVPlayerLayer *playerLayer;
接着就是创建了
//创建视频播放器 NSString *filePath =[[NSBundle mainBundle]pathForResource:@"flash" ofType:@"mp4"]; NSURL *sourceMovieURL = [NSURL fileURLWithPath:filePath]; //初学者这里先不要管,但是必须要创建 AVAsset *movieAsset = [AVURLAsset URLAssetWithURL:sourceMovieURL options:nil]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:movieAsset]; _player = [AVPlayer playerWithPlayerItem:playerItem]; _playerLayer = [AVPlayerLayer playerLayerWithPlayer:_player];
//大小 _playerLayer.frame = CGRectMake(ScreenWidth/4.4, ScreenHeight/3.3, _coverView.pictureAndAvView.frame.size.width, _coverView.pictureAndAvView.frame.size.height+100); _playerLayer.videoGravity = AVLayerVideoGravityResizeAspect; _playerLayer.backgroundColor = [UIColor blackColor].CGColor;
//要添加的地方 [_coverView.AirBubble.layer addSublayer:_playerLayer]; [_player play];
用完是需要注意要对其进行释放:写在你退出的点击事件当中,比如说要pop视图了
[self.playerLayer removeFromSuperlayer]; self.playerLayer=nil; self.player=nil;
搞定!
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- IE7降低内存和降低CPU的几个技巧
- 如何高效的使用内存
- DOS下内存的配置
- XP/win2003下发现1G的内存比512M还慢的解决方法
- PowerShell实现动态获取当前脚本运行时消耗的内存
- C#实现把dgv里的数据完整的复制到一张内存表的方法
- SQL语句实现查询SQL Server内存使用状况
- C语言内存对齐实例详解
- 深入学习C语言中memset()函数的用法
- 全局变量与局部变量在内存中的区别详细解析
- VB读取线程、句柄及写入内存的API代码实例
- php运行提示:Fatal error Allowed memory size内存不足的解决方法
- IE浏览器IFrame对象内存不释放问题解决方法