在iOS开发中如何播放视频
技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong
如何播放视频
•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下载一些用来测试的视频文件,文件都比较小 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong
MPMoviePlayerController-01-加载资源
//加载视频资源
NSString*urlString = [[NSBundlemainBundle]pathForResource:@"sample_iTunes"ofType:@"mov"];
NSURL*url = [NSURLfileURLWithPath:urlString]; //创建播放器
_player= [[MPMoviePlayerControlleralloc]initWithContentURL:url];
MPMoviePlayerController-02-显示
//设置尺寸_player.view.frame=self.view.bounds;
_player.view.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
//添加到控制器的view上[self.viewaddSubview:_player.view]; //播放[_playerplay];
MPMoviePlayerController-03-添加通知监听
//监听播放状态的改变
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(videoStateChange)name:MPMoviePlayerPlaybackStateDidChangeNotificationobject:_player];
//监听播放器结束全屏
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(exitFullscreen)name:MPMoviePlayerDidExitFullscreenNotificationobject:_player];
//转载请注明出处--本文永久链接:http://www.cnblogs.com/ChenYilong/p/3498500.html
MPMoviePlayerController其他属性
•是否要自动播放
@property(nonatomic)BOOLshouldAutoplay;
•全屏显示
@property(nonatomic,getter=isFullscreen)BOOLfullscreen;
- (void)setFullscreen:(BOOL)fullscreen animated: (BOOL)animated;
•截取视频中的图片
- (void)requestThumbnailImagesAtTimes:(NSArray*)playbackTimes timeOption:(MPMovieTimeOption)option;
MPMoviePlayerViewController
•MPMoviePlayerViewController继承自UIViewController,它内部封装了一个
MPMoviePlayerController
•MPMoviePlayerViewController只能全屏播放
•简单使用:
//转载请注明出处--本文永久链接:http://www.cnblogs.com/ChenYilong/p/3498500.html
本文对应pdf文档下载链接,猛戳-->: |
本文对应pdf文档下载链接,猛戳—>:https://www.evernote.com/shard/s227/sh/8754b8a6-6f11-4f71-a914-f9ac90e7f56e/ac0df8a6c105965e961cf1277fc1b433
//转载请注明出处--本文永久链接:http://www.cnblogs.com/ChenYilong/p/3498500.html
在iOS开发中如何播放视频的更多相关文章
- iOS开发--利用MPMoviePlayerViewController播放视频简单实现
一.MPMoviePlayerViewController和MPMoviePlayerController区分开,前者继承自NSObject,后者继承自UIViewController 二.MPMov ...
- iOS开发--利用MPMoviePlayerController播放视频简单实现
一.包含头文件#import <MediaPlayer/MediaPlayer.h> 二.重点:给MPMoviePlayerController的view设置frame,并且将view添加 ...
- iOS开发中遇到的一些问题及解决方案【转载】
iOS开发中遇到的一些问题及解决方案[转载] 2015-12-29 [385][scrollView不接受点击事件,是因为事件传递失败] // // MyScrollView.m // Creat ...
- iOS开发UI篇—iOS开发中三种简单的动画设置
iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView b ...
- 怎样实现IOS开发中的数据存储方式
iOS 开发中,一般有如下几种数据存储方式.需要根据具体的业务场景,选择 合适的数据存储方式. (1) 用户默认设置 – 这种情况通常不需要用户干预,如游戏通关信息,Video 播放记录,或者 Ap ...
- IOS开发中AVFoundation中AVAudioPlayer的使用
IOS开发中如何调用音频播放组件 1.与音频相关的头文件等都在AVFoundation.h中,所以第一步是添加音频库文件: #import <AVFoundation/AVFoundation. ...
- iOS开发—音乐的播放
iOS开发—音乐的播放 一.简单说明 音乐播放用到一个叫做AVAudioPlayer的类,这个类可以用于播放手机本地的音乐文件. 注意: (1)该类(AVAudioPlayer)只能用于播放本地音频. ...
- 在原生开发中控制HTML5视频!
在原生开发中控制HTML5视频! PC端 视频如何自动播放! 在video标签中添加 autoplay + muted(静音属性!) 温馨提醒: video是一个块级元素! 但是唯一的缺陷就是视频没有 ...
- 总结iOS开发中的断点续传那些事儿
前言 断点续传概述 断点续传就是从文件赏赐中断的地方重新开始下载或者上传数据,而不是从头文件开始.当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会从头下载,这样很 ...
随机推荐
- Java 静态代码块&构造代码块&局部代码块
/* 静态代码块. 随着类的加载而执行.而且只执行一次. 作用: 用于给类进行初始化. */ class StaticCode { static int num ; static { num = 10 ...
- erlang node time ticket
Erlang doesn't detect net splits by itself. You could start looking atnet_kernel:set_net_ticktime/2 ...
- dat.gui 上手
dat.gui是款神器产品.一个调试利器.但是用起来很简单很简单 1:引用dat.gui.js. 2:实例化 this.gui = new dat.GUI(); 3:创建可设置一个数据对象.例如v ...
- 20个PHP程序性能优化的方法
1.数据库连接当使用完毕时应当关闭,不要使用长连接. 2.用@屏蔽错误消息的做法非常低效,极其低效. 3.使用选择分支语句(switch case)好于使用多个if,else if. 4.$row[' ...
- C# SqlCommand和SqlDataAdapter的区别
SqlCommand和SqlDataAdapter的区别 SqlCommand对应DateReader SqlDataAdapter对应DataSet SqlCommand的执行效率比较高,但 ...
- 【前端学习笔记】函数定义、函数调用、this
函数定义的三种方式与特点: 1.函数声明:(特点:会被前置:重复定义函数时,最后一次定义有效.) 2.函数表达式: 3.函数实例化:(特点:只能访问本地作用域与全局作用域!!!) /* 对象实例化定义 ...
- ZOJ2725_Digital Deletions
题意是这样的,一开始给你一串数字,两个人轮流操作,操作可以分为两种. 1.每次修改一个数字,使其变为一个小于当前的非负数. 2.移除中间的某一个0以及0右边的所有数字. 使得所有数字消失的游戏者获胜. ...
- Java开发Excel POI getPhysicalNumberOfCells 与 getLastCellNum的区别
1.getPhysicalNumberOfCells 与 getLastCellNum的区别 用org.apache.poi的包做excel导入,无意间发明若是excel文件中有空列,空列后面的数据全 ...
- [FJWC2018]全排列 DP
题面 题面 题解 (表示第一段文字导致我在考场上没看懂题--因为我以为这个定义是定义在整个排列上的,所以相似 = 相同.结果其实是可以应用在一个区间上--) 首先我们发现,2个区间相似,其实就是离散化 ...
- BZOJ3262:陌上花开 & 洛谷3810:三维偏序——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=3262 https://www.luogu.org/problemnew/show/3810 Desc ...