视频播放MPMoviePlayerController
视频播放
如何播放视频
iOS提供了MPMoviePlayerController、MPMoviePlayerViewController两个类,可以用来轻松播放视频和网络流媒体\网络音频
提示:网络音频同样使用此控制器播放
YouTobe就是用MPMoviePlayerController实现的
MPMoviePlayerViewController只能全屏播放视频
上述两个类都定义在了MediaPlayer框架中
MPMoviePlayerController支持的格式
MPMoviePlayerController
继承自NSObject
内部有个view可以展示视频内容
将该视图添加其他控制器的view上,即可显示视频内容
MPMoviePlayerController可以播放的视频格式包括:
支持的文件扩展名包括: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
视频播放MPMoviePlayerController的更多相关文章
- Model--汇总
NSFileManager.NSURL.NSFileHandle.NSData.NSXMLParser.NSUserDefaults.NSKeyedArchiver.NSKeyedUnarchiver ...
- ios9基础知识(技能篇)
NSFileManager.NSURL.NSFileHandle.NSData.NSXMLParser.NSUserDefaults.NSKeyedArchiver.NSKeyedUnarchiver ...
- ios系统视频播放器MPMoviePlayerController应用遇到的坑
最近在做视频播放时应用系统MPMoviePlayerController播放器播放视频,发现点击快进快退会出现黑屏现象,并且点击完成按钮也不会返回,代码以及界面如下所示: NSURL *url=[se ...
- MPMoviePlayerController 视频播放器—IOS开发
MPMoviePlayerController 与AVAudioPlayer有点类似,前者播放视频,后者播放音频,不过也有很大不同,MPMoviePlayerController 可以直接通过远程UR ...
- ios开发之 MPMoviePlayerController 视频播放器
MPMoviePlayerController 与AVAudioPlayer有点类似,前者播放视频,后者播放音频,不过也有很大不同,MPMoviePlayerController 可以直接通过远程UR ...
- MPMoviePlayerController过期导致视频播放时间条颠倒及AVPlayerViewController的用法
MPMoviePlayerController虽然好用 但是过期了 所以可能会导致一些莫名的问题 ,比如说下面时间条的问题 但我们可以使用AVPlayerViewController来实现相应的想过 ...
- Swift中使用MPMoviePlayerController实现自定义视频播放器界面
默认情况下播放器自带各种控制按钮,比如前进后退播放暂停等: var url = NSBundle.mainBundle().URLForResource("1", withExte ...
- ios开发 MPMoviePlayerController 视频播放器
项目中用到视频播放功能, 写点视频基础部分 MPMoviePlayerController是通过MediaPlayer.frame引入的,可用于播放在iOS支持的所有格式的视频,用起来很简单!!! M ...
- 视频播放器开发中遇到的一些小问题MPMoviePlayerController
1 开发环境是 xcode6 ipad3真机 ios8.1.1越狱 需要添加以下代码 ,否则真机测试没有外音,只有耳机 NSError *setCategoryError = nil; ...
随机推荐
- Eclipse使用方法和技巧二十七:定义自己的高速联想词
某天在调试代码的时候.尽管是android的project还是习惯的输入syso.然后在ALT+/一下. 旁边的同事就问了一下,这个log打印输出的tag是什么. 接着又问了为什么syso可以智能联想 ...
- 关于hadoop hdfs里文件为啥上一级大小是0,进去又有大小问题解释?
问题 好像跟平时的理解不一样,外边是0,进去就是有大小了? 答:hdfs具体文件是针对具体文件的,不是文件目录. 文件夹大小为0,不是里面所有内容为0.
- Android Studio将Eclipse的项目作为module的依赖库
情形: 我们现在有一个eclipse的项目,我们想把这个项目作为android studio的module的一个依赖库. 以前我们在eclipse的时候常常是在一个工作区里面把一个A工程 as a l ...
- JVM route
http://www.linuxidc.com/Linux/2013-06/86446.htm
- POJ 1166 The Clocks 高斯消元 + exgcd(纯属瞎搞)
依据题意可构造出方程组.方程组的每一个方程格式均为:C1*x1 + C2*x2 + ...... + C9*x9 = sum + 4*ki; 高斯消元构造上三角矩阵,以最后一个一行为例: C*x9 = ...
- tensorflow compile
bazel build --spawn_strategy=standalone tensorflow/examples/label_image/...
- Android Gradle统一依赖管理
目的: 避免在依赖包出新版本时,需要对每个module中的build.gradle文件都进行修改(如appcompat-v7包),使用这种方式即只需一次修改. 方法一 在项目的根目录创建一个gradl ...
- delete noprompt archivelog 报错ORA-00245,RMAN-08132
在RMAN执行 delete noprompt archivelog until time 'sysdate-1'; 报错 ORA-00245: control file backup fai ...
- node event中 on emit off 的封装
事件绑定一个事件名称对应多个事件函数 应此它们的关系是一对多的关系 数据类型采用对象的形式 key:val 因为函数有多个 所以val选用数组 事件仓库 eventList = { key:val, ...
- 在Java中,return null 是否安全, 为什么?
Java代码中return value 为null 是不是在任何情况下都可以,为什么不会throw NullPointerException? Java语言层面:null值自身是不会引起任何问题的.它 ...