视频播放AVPlayerViewController
和视频播放有关的目录如下:
FFMpeg视频MetaData函数--av_dump_format()
AVPlayer播放器
FFMpeg 播放视频
直播秒开
由于MPMoviePlayerController的高度封装,导致定制界面基本不可能实现。iOS9.0之后AVFoundation框架中提供了AVPlayerViewController来替代MP,使用也是非常简单。
使用时导入2个头文件:
#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>
设置下资源路径Url和是否显示控制条就能快速的创建一个播放器了。
- (void)viewDidLoad
{[super viewDidLoad];// 设置资源路径NSString *path = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"mp4"];NSURL *url = [NSURL fileURLWithPath:path];AVPlayer *avPlayer= [AVPlayer playerWithURL:url];// player的控制器对象AVPlayerViewController *playerViewController = [[AVPlayerViewController alloc] init];// 控制器的player播放器playerViewController.player = avPlayer;// 试图的填充模式
/*
可以设置的值及意义如下:
AVLayerVideoGravityResizeAspect 不进行比例缩放 以宽高中长的一边充满为基准
AVLayerVideoGravityResizeAspectFill 不进行比例缩放 以宽高中短的一边充满为基准
AVLayerVideoGravityResize 进行缩放充满屏幕
*/
playerViewController.videoGravity = AVLayerVideoGravityResizeAspect; // 是否显示播放控制条 playerViewController.showsPlaybackControls = YES; // 设置显示的Frame playerViewController.view.frame = self.view.bounds; // 将播放器控制器添加到当前页面控制器中 [self addChildViewController:_playerViewController]; // view一定要添加,否则将不显示 [self.view addSubview:playerViewController.view]; // 播放 [playerViewController.player play]; }
效果如图所示
AVPlayerViewController使用起来非常方便,但依然存在以下两个问题:
- 支持的视频编码格式很有限:H.264、MPEG-4,扩展名(压缩格式):.mp4、.mov、.m4v、.m2v、.3gp、.3g2等,如果是RMVB就不行了,需要借助第三方的框架来实现更多格式的支持,如Kxmovie ,可以查看我另外一篇文章中的Kxmovie引用。
- 实际开发中常常需要自定义界面,如点击按钮全屏播放,这时我们就需要使用AVPlayer自定义开发了,可以在我的另外一篇文章查看。
作者:Hardy_Hu
链接:https://www.jianshu.com/p/e3c6e0c77b9b
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
视频播放AVPlayerViewController相关推荐
- iOS 音视频之网络视频播放AVPlayerViewController(iOS8.0+使用)
1.视频播放新功能 iOS8.0之后新增了AVPlayerViewController,集成了AVPlayer iOS9.0之后增加了快进和后退功能,播放视频特别方便,再也不用复杂地封装AVPlaye ...
- iOS: ios视频播放(MPMediaPlayerController,AVPlayer,AVPlayerViewcontroller、ffmpeg-AVPlayer)...
介绍: 和音频播放一样,ios也提供个很多的API.如mediaPlayer.framework下的MPMediaPlayerController.AVFounditon.framework下的AVP ...
- [iOS]-AVPlayerViewController实现视频播放
AVKit从iOS8开始被引入iOS平台.针对iOS平台的AVKit是一个简单的标准框架-只包含一个AVPlayerViewController类.它是UIViewController的子类,用于展示 ...
- swift之视频播放AVKIT、AVPlayerViewController、音频录制和播放
AVFoundation框架简介AVFoundation框架是iOS中专门处理音视频的框架,其中集成了音频播放以及处理和视频播放处理以及采集等功能(实现录制,编辑和播放音视频功能);以及配置音频会话更 ...
- 简单视频播放AVPlayer和AVPlayerViewController
NSURL *url = [NSURL URLWithString:@"http://flv3.bn.netease.com/videolib3/1712/13/ouwHf3421/SD/o ...
- iOS 视频播放实现:AVPlayerViewController
直接上代码 - (void)viewDidLoad { [super viewDidLoad]; [self.view addSubview:self.moviePlayer.view]; [self ...
- ios nslinkattributename 自定义url_iOS音视频播放指南(二)
没看第一篇的小伙伴可以先看第一篇 wlzz:iOS音视频播放指南(一)zhuanlan.zhihu.com 本章主要内容 画中画支持 后台音频播放,锁屏界面显示,远程音频控制 在耳机插拔.接听电话等 ...
- iOS之AVPlayerViewController的使用oc
iOS之AVPlayerViewController的使用oc // // ViewController.m // AVPlayer01-oc // // Created by 鲁军 on 2021/ ...
- iOS视频播放的基本方法
本文总结了iOS中最常见的视频播放方法,不同的方法都各具特点,我希望能够总结它们的不同,方便在开发中选择合适的技术方案. Apple为我们提供了多种方法来实现视频播放,包括MPMoviePlayerC ...
最新文章
- MyBatis-Plus 看这篇就够了
- 【错误总结】LaTex Warning: citation undefined
- python共享内存
- pytorch 笔记: 协同过滤user item bias 实现
- 【C#/.NET】不用AutoMapper,我用啥呢?
- 【Git、GitHub、GitLab】二 Git基本命令之建立Git仓库
- uni-app获取当前具体日期时间并将其格式化
- 海龟交易法则07_如何衡量风险
- 【Python3之模块及包的导入】
- mysql workbench uml_Ubuntu 16.04下UML建模PowerDesigner的替代ERMaster和MySQL Workbench
- 基于Vivado和Ego1的密码锁设计
- 直接sql 添加字段赋值
- 左神讲算法——超级水王问题(详解)
- java+selenum实现网页自动化总结
- 解决 VMware 无法复制粘贴问题
- 20140719中国互联网公司市值排名TOP20
- Qt浅谈之三十系统托盘(QSystemTrayIcon)
- 引擎磨合 (Break In) 的秘密
- iapp进度条倒计时_App启动页倒计时功能
- FileInputStream与BufferedInputStream的区别