视频播放

如何播放视频

iOS提供了MPMoviePlayerController、MPMoviePlayerViewController两个类,可以用来轻松播放视频和网络流媒体\网络音频

提示:网络音频同样使用此控制器播放

YouTobe就是用MPMoviePlayerController实现的

MPMoviePlayerViewController只能全屏播放视频

上述两个类都定义在了MediaPlayer框架中

MPMoviePlayerController支持的格式

MPMoviePlayerController

继承自NSObject

内部有个view可以展示视频内容

将该视图添加其他控制器的view上,即可显示视频内容

MPMoviePlayerController可以播放的视频格式包括:

pH.264、MPEG-4等

支持的文件扩展名包括:avi,mkv,mov,m4v,mp4等

可以从苹果官网:http://support.apple.com/kb/HT1425下载一些用来测试的视频文件,文件都比较小

提示:MPMoviePlayerController并不支持所有的视频格式,如果要播放不支持的视频格式,需要借助第三方框架进行解码,如VLC

https://github.com/videolan/vlc

MPMoviePlayerController的使用

加载视频资源(注意,如果url为nil同样可以加载)

NSAssert(self.url, @"URL不能为空");

[[MPMoviePlayerController alloc] initWithContentURL:self.url];

显示

[self.view addSubview:self.moviePlayer.view];

通过设置AutoresizingMask属性可以在横竖屏转换时自动调整视图大小

播放

[self.moviePlayer play];

全屏

[self.moviePlayer setFullscreen:YES animated:YES];

MPMoviePlayerController的播放状态是通过通知中心监听的

常用监听通知事件

状态变化

MPMoviePlayerPlaybackStateDidChangeNotification

播放结束

MPMoviePlayerPlaybackDidFinishNotification

退出全屏

MPMoviePlayerDidExitFullscreenNotification

截屏完成

MPMoviePlayerThumbnailImageRequestDidFinishNotification

截屏方法

-requestThumbnailImagesAtTimes:timeOption:

Q & A

最新文章

  1. 【转】C# 将字符串或表达式直接转为可执行代码的办法
  2. Python不完全入门指南
  3. FreeBSD从零开始---安装后配置(三)
  4. 【HDU 1007】Quoit Design
  5. javascript 布尔类型值判断
  6. 在bmp上添加字符
  7. linux 下查看cpu是几核的
  8. Run Logic
  9. 转深入理解 AngularJS 的 Scope作用域
  10. spring的父子容器
  11. 如何创建自己的composer包
  12. Laravel发送邮箱消息验证
  13. 地址栏输入url按回车发生了什么
  14. 从MySQL中导入数据到MongoDB中
  15. 【Kibana】自定义contextPath
  16. Linux 文件系统结构、磁盘的管理
  17. C#检查服务状态和启动关闭服务
  18. Weekend Log 4.6
  19. maintenance
  20. springboot工程读取配置文件application.yml的写法18045

热门文章

  1. FAILOVER详细步骤
  2. canvas画板基础应用的学习
  3. Python 极简教程(九)元组 tuple
  4. php-wamp环境搭建
  5. c#下halcon配置
  6. StackExchange.Redis 官方文档(五) Keys, Values and Channels
  7. Android ServiceManager启动
  8. HDU 1996汉诺塔VI
  9. 在Qtcreator中,KDE的Hello World(安装kdelibs5-dev)
  10. 如何使stm32程序更好移植, 结构体相当于define