iOS基础 - 多媒体
一、播放视频
iOS提供了叫做MPMoviePlayerController、MPMoviePlayerViewController的两个类,可以用来轻松播放视频
YouTobe就是用MPMoviePlayerController实现的
MPMoviePlayerViewController只能全屏播放视频
上述两个类都定义在了MediaPlayer框架中
二、MPMoviePlayerController支持的格式
MPMoviePlayerController继承自NSObject,它内部有个view用来展示视频内容,添加其他控制器的view上面即可显示
MPMoviePlayerController可以播放的视频格式有以下两种:
H.264
MPEG-4 Part 2 video
支持的文件拓展名为:avi,mkv,mov,m4v,mp4等
可以到苹果官网:http://support.apple.com/kb/HT1425下载一些用来测试的视频文件,文件都比较小
三、MPMoviePlayerController-01-加载资源
// 加载视频资源
NSString *urlString = [[NSBundle mainBundle] pathForResource:@"sample_iTunes" ofType:@"mov"];
NSURL *url = [NSURL fileURLWithPath:urlString];
// 创建播放器
_player = [[MPMoviePlayerController alloc] initWithContentURL:url];
四、MPMoviePlayerController-02-显示
// 设置尺寸
_player.view.frame = self.view.bounds;
_player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
// 添加到控制器的view上
[self.view addSubview:_player.view];
// 播放
[_player play];
五、MPMoviePlayerController-03-添加通知监听
// 监听播放状态的改变
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoStateChange) name:MPMoviePlayerPlaybackStateDidChangeNotification object:_player];
// 监听播放器结束全屏
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(exitFullscreen) name:MPMoviePlayerDidExitFullscreenNotification object:_player];
六、MPMoviePlayerController其他属性
是否要自动播放
@property(nonatomic) BOOL shouldAutoplay;
全屏显示
@property(nonatomic, getter=isFullscreen) BOOL fullscreen;
- (void)setFullscreen:(BOOL)fullscreen animated:(BOOL)animated;
截取视频中的图片
- (void)requestThumbnailImagesAtTimes:(NSArray *)playbackTimes timeOption:(MPMovieTimeOption)option;
七、MPMoviePlayerViewController
MPMoviePlayerViewController继承自UIViewController,它内部封装了一个MPMoviePlayerController
MPMoviePlayerViewController只能全屏播放
简单使用:
MPMoviePlayerViewController *play = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
转载于:https://www.cnblogs.com/monicaios/p/3526337.html
iOS基础 - 多媒体相关推荐
- iOS基础问答面试题连载-附答案
2017-02-02 timhbw CocoaChina 以下是一些自己收集的比较基础的问题(大神可以忽略),附上答案,方便大家阅读.俗话说得好,基础不牢,地动山摇.文章末尾会提供PDF版的文档,方便 ...
- IOS基础之iPad的屏幕旋转方向判断
IOS基础之iPad的屏幕旋转方向判断 #pragma mark - 屏幕旋转 - (void)viewWillTransitionToSize:(CGSize)size withTransition ...
- IOS基础之segue使用,
IOS基础之segue使用, segue是接线,接入的意思.控制器与控制器之间的连线. sourceViewControl来源控制器 destinationViewController 目标控制器,以 ...
- IOS基础之打砖块项目演练
IOS基础之打砖块项目演练 本项目涉及CADisplayLink核心动画,各个控件的使用,运行循环,逻辑判断等,if和for,frame坐标的改变,CGPoint结构体,成员变量的赋值,两种手势,拖拽 ...
- ios基础考试题1,实现按钮点击改变位置和图片的透明度和动画的使用
ios基础考试题1,实现按钮点击改变位置和图片的透明度和动画的使用 考察frame,center,bounds的坐标,改变,动画的使用,图片容器的UIImageView的透明度等知识 oc写法 // ...
- IOS基础之使用UICollectionView纯代码创建
IOS基础之使用UICollectionView纯代码创建 资料来自2016-5-12某站. 有一定的参考意义, 涉及plist 转字典模型,UICollectionView使用纯代码加载到View里 ...
- IOS基础之计算器的编写
IOS基础之计算器的编写 // // ViewController.m // Fraction_Calculator // // Created by 鲁军 on 2021/4/26. //#impo ...
- IOS基础之NSFounation框架的NSDictionary,NSMutableDictionary的使用
IOS基础之NSFounation框架的NSDictionary,NSMutableDictionary的使用 // // main.m // Day11-NSFoudation框架 // // Cr ...
- IOS基础之NSString,NSMutableString,NSArray的基本使用
IOS基础之NSString,NSMutableString,NSArray的基本使用 // // main.m // Day10-Foundation框架 // // Created by 鲁军 o ...
最新文章
- Zigbee通讯漫谈(初次见面)
- linux虚拟网络设备之tun/tap(一)
- spring11:为应用指定多个spring配置文件
- Python逻辑运算符:if and
- vue 导出 excel表格
- 添加aspnet_isapi.dll的映射时“确定”按钮不可用的解决方案
- z-wave问题汇总
- 月薪15k起,想进入这个行业有哪些书值得读?
- 秦始皇:请叫我数据治理专家
- open×××结合pam_mysql认证出错的解决方法
- Lync Server 2010 客户端访问提示验证服务器中的证书时遇到问题解决方法
- AndroidStudio实现在图片上涂鸦并记录涂鸦轨迹
- 教学流程图怎么画?画流程图好用的软件
- 可视化大屏自适应效果
- 论文阅读《No bot expects the DeepCAPTCHA》
- 英语口语196之每日十句口语
- 【CSS】笔记2-复合选择器、显示模式、背景
- 极光推送之java后台封装REST API
- 头歌平台(EduCoder)—— Matplotlib图形配置
- matlab 画心形图片
热门文章
- BootStrap笔记-加载效果的实现
- C++|Linux工作笔记-C++获取Linux中shell命令结果
- Redis工作笔记-Jedis的基本使用
- Redis工作笔记-主从复制Replication
- Qt工作笔记- 解决cc1plus.exe: error: out of memory allocating
- mysql 安装1607_mysql服务启动报1607error
- QByteArray
- python excel xlwings_python excel神器xlwings
- php 用积分兑换_PHP积分兑换接口demo
- 计组之存储系统:3、主存与CPU的链接(字扩展、位扩展、字位扩展、74LS138)