iOS 视频播放 AVPlayer 循环播放 闪屏
问题终于解决,选用AVPlayer,重置一下AVPlayerItem就不会出现闪屏现象,注册一个通知同样可以实现循环播放,而且AVPlayer可以自定义播放样式,给了我们更大的发挥空间,完全可以自己DIY播放器样式。并且AVPlayer完全可以实现两个视频窗口播放!
1.需要引入两个类库:
在.h中引入#import
<AVFoundation/AVFoundation.h>在.m中引入#import
<CoreMedia/CoreMedia.h>
代码如下:
- (void)viewDidLoad
{[super viewDidLoad];UIButton * rightBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];rightBtn.frame = CGRectMake(50, 420, 180, 50);[rightBtn addTarget:self action:@selector(doRight) forControlEvents:UIControlEventTouchUpInside];[rightBtn setTitle:@"同时播放" forState:UIControlStateNormal];[self.view addSubview:rightBtn];NSString *filePath = [[NSBundle mainBundle] pathForResource:@"找朋友" ofType:@"mp4"];NSURL *sourceMovieURL = [NSURL fileURLWithPath:filePath];AVAsset *movieAsset = [AVURLAsset URLAssetWithURL:sourceMovieURL options:nil];AVPlayerItem * playerItem = [AVPlayerItem playerItemWithAsset:movieAsset];self.player_0 = [AVPlayer playerWithPlayerItem:playerItem];AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:_player_0];playerLayer.frame = CGRectMake(0, 0, 400, 500);playerLayer.videoGravity = AVLayerVideoGravityResizeAspect;[self.view.layer addSublayer:playerLayer];[_player_0 play];//注册通知[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(runLoopTheMovie:) name:AVPlayerItemDidPlayToEndTimeNotification object:nil];}- (void)doRight
{NSString *filePath = [[NSBundle mainBundle] pathForResource:@"字母歌" ofType:@"mp4"];NSURL *sourceMovieURL = [NSURL fileURLWithPath:filePath];AVAsset *movieAsset = [AVURLAsset URLAssetWithURL:sourceMovieURL options:nil];AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:movieAsset];self.player_1 = [AVPlayer playerWithPlayerItem:playerItem];AVPlayerLayer * playerLayer = [AVPlayerLayer playerLayerWithPlayer:_player_1];playerLayer.frame = CGRectMake(420, 0, 400, 500);playerLayer.videoGravity = AVLayerVideoGravityResizeAspect;[self.view.layer addSublayer:playerLayer];[_player_1 play];}- (void)runLoopTheMovie:(NSNotification *)n{//注册的通知 可以自动把 AVPlayerItem 对象传过来,只要接收一下就OKAVPlayerItem * p = [n object];//关键代码 [p seekToTime:kCMTimeZero];[_player_0 play];NSLog(@"重播");
}
iOS 视频播放 AVPlayer 循环播放 闪屏相关推荐
- Jiecaovideoplayer开始播放闪屏问题处理
本人很喜欢这个开源框架,但是再好用也有不顺心的时候,今天老板就提出了播放闪屏问题,经过阅读源码以及各种查阅资料,差不多处理完了,这里总结一下. 首先问题出现的原因是因为视频播放的监听处理不当导致的,这 ...
- iOS开发视频背景及播放闪屏处理,卡顿处理
视频播放方式 iOS开发视频播放,四种方法,MPMoviePlayerController,MPMoviePlayerViewController,AVPlayer,AVPlayerViewContr ...
- iOS 视频播放(AVPlayer)
文章目录一.AVPlayer1.简介2.视频播放的解决方案二.AVPlayer中的MVC1.v层 :AVPlayerLayer2.m层 :AVPlayerItem3.c层 :AVPlayer三.实现简 ...
- 在vue项目中 使用swiper轮播图的关于 在ios中图片白边闪屏踩坑记录
场景描述: 近日,接到一个需求,改善APP首页的布局,需要在顶部添加一个可滚动的栏目导航,以切换栏目然后切换栏目内容类似于唯品会目前的切换效果.如下图 问题描述: 在切换顶部栏目的时候,下面内容页的b ...
- iOS tableView刷新分区会闪屏
简单粗暴直接上代码刷新刷新tableView的时候发现会闪屏,iOS11后的适配高度设置一下,简单粗暴直接上代码刷新 self.tableView.estimatedRowHeight = 0;sel ...
- iOS 视频播放 - AVPlayer
iOS实现视频播放,原生代码播放视频更多的使用AVPlayer和AVPlayerViewController进行播放. 其中, AVPlayer不能单独进行播放,仅使用AVPLayer的话,还需要将其 ...
- iOS音频的后台播放 锁屏
初始化AudioSession和基本配置 音频播放器采用的AVPlayer ,在程序启动的时候需要配置AudioSession,AudioSession负责应用音频的设置,比如支不支持后台,打断等等, ...
- iOS 视频播放(AVPlayer、MPMoviePlayerController、MPMoviePlayerViewController 区别)
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄 一.AVPlayer介绍 1.能播放本地.远程的音频.视频文件 2.基于Layer显示,得自己去编写控制面板 3.AVPlayer ...
- AVPlayer 循环播放本地视频
app名.app→ShowInFinder→app名→显示包内容→拖入需要播放的Mp4#import <AVKit/AVKit.h> #import <AVFoundation/AV ...
最新文章
- WPF绘制自定义窗口
- redhat7防火墙关闭_RedHat Enterprise Linux 7关闭防火墙方法
- 《每日一题》738. Monotone Increasing Digits 单调递增的数字
- android 仿ios tabs,React Native兼容iOS Android的TabBar
- SpringMVC的Controller
- uploadify 配置后,页面显示无效果
- LeetCode 1701. 平均等待时间(模拟)
- 命令行给php脚本传参,如何在CLI命令行下运行PHP脚本,同时向PHP脚本传递参数?...
- 自定义alert提示框
- 关于id Tech5的MegaTexture技术
- Windows下运行Redis-网盘链接-简单粗暴-亲测有用
- chrome 浏览器的插件权限有多大?
- Python——EM(期望极大算法)实战(附详细代码与注解)(一)
- hello程序代码python_翻译:《实用的Python编程》01_02_Hello_world
- 仿直播礼物涂鸦/屏幕礼物涂鸦动画
- 如何应对硬盘无法识别通电异响等那些七七八八的物理故障
- 扫描探针显微术入门(4)
- mac photoshop cs5.1 序列号
- mac升级Nodejs和Npm到最新版
- 【完整攻略】OPPO手机无密码解锁方法
热门文章
- 变分自编码器-推断输入分布的有向概率模型
- 计算机10秒后重新启动,只需三步,Win10这样设置让你的电脑10秒内快速开机!
- php文件在线编码转换,php汉字转码 GBK到Big5编码转换
- 作业一 统计软件简介与数据操作
- python通信达数据_通达信如何调用分时数据,python打开通达信
- 谷歌/Edge浏览器“STATUS_INVALID_IMAGE_HASH“错误状态码解决办法
- python pandas fillna
- 吐槽学计算机的表情包,如何用一个表情包形容你的专业?看完再也不吐槽我的专业了…...
- 投资信托学习笔记(二)
- 深信服C/C++面试题目总结