● iOS提供了叫 做MPMoviePlayerController、MPMoviePlayerViewController的两个 类,可以用来轻松播放视频

➢ YouTobe就是用MPMoviePlayerController实现的 ➢ MPMoviePlayerViewController只能全屏播放视频

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

 
 

MPMoviePlayerController-01-加载资源

// 加载视频资源
NSString *urlString = [[NSBundle mainBundle]

pathForResource:@"sample_iTunes" ofType:@"mov"];
NSURL *url = [NSURL fileURLWithPath:urlString];

// 创建播放器

_player = [[MPMoviePlayerController alloc]
initWithContentURL:url];
// 加载视频资源
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];
其他
● 音频处理
➢ 依赖的框架:AVFoundation、AudioToolbox框架
➢ 播放长音乐:AVAudioPlayer
➢ 播放短音效:加载音频文件生成SystemSoundID
➢ 录音:AVAudioRecord
 

● 较为底层、高级的音频\视频处理

➢ CoreAudio、CoreVideo框架

 

IOS 播放视频(MPMoviePlayerController、MPMoviePlayerViewController)的更多相关文章

  1. IOS 播放视频 MPMoviePlayerController

    在unity游戏的开头播放视频 , 根据需求 , 最后决定用 MPMoviePlayerController 来实现播放, 实现如下: by Tin 需要在AppController.mm的 Open ...

  2. ios开发视频播放后台下载功能实现 :1,ios播放视频 ,包含基于AVPlayer播放器,2,实现下载,iOS后台下载(多任务同时下载,单任务下载,下载进度,下载百分比,文件大小,下载状态)(真机调试功能正常)

    ABBPlayerKit ios开发视频播放后台下载功能实现 : 代码下载地址:https://github.com/niexiaobo/ABBPlayerKit github资料学习和下载地址:ht ...

  3. iOS播放视频

    1.首先导入 MediaPlayer import MediaPlayer 2.播放事件 class ViewController:UIViewController{ var pc:MPMoviePl ...

  4. 【转】 iOS播放视频时候,忽略设备静音按钮

    用户有时会在静音模式下观看视频,如果不主动设置的话,视频是没有声音的,通过AVAudioSession可开启以视频为主导的播放模式, 首先需要导入,AVFoundtion.framework,在控制播 ...

  5. 《转》iOS音频视频初级开发

    代码改变世界 Posts - 73, Articles - 0, Comments - 1539 Cnblogs Dashboard Logout HOME CONTACT GALLERY RSS   ...

  6. iOS 音频视频制作

    --iOS多媒体 概览 随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的,无论是音视频播放.录制, ...

  7. 关于MPMoviePlayerController类播放视频时,外放没有声音的问题(ios)

    一.导入音频资源类 #import "AVFoundation/AVAudioSession.h" 二.在播放视频的方法中加一句支持外放的代码 [[AVAudioSession s ...

  8. 在iOS开发中如何播放视频

     技术博客http://www.cnblogs.com/ChenYilong/  新浪微博http://weibo.com/luohanchenyilong  如何播放视频 •iOS提供了叫做MPMo ...

  9. iOS开发系列- 视频MPMoviePlayerController

    MPMoviePlayerController 在iOS中播放视频可以使用MediaPlayer.framework种的MPMoviePlayerController类来完成,它支持本地视频和网络视频 ...

随机推荐

  1. 完全原生javascript简约日历插件,js、html

    效果图: 效果如图所示,尽管看上去并不是很美观,但是,基本上的功能还是已经完成了,码了一天多的时间,权当做复习一下js吧. 整个做下来差不多码了500多行代码~其实只是很多的样式也包括了在其中了,虽然 ...

  2. oracle 笔记---(二)

    查询ASM实例包含的内存组件 SQL> select component,current_size from v$memory_dynamic_components 2 ; COMPONENT ...

  3. How to install local .deb packages

    如何安装本地的.deb包 usually I do dpkg -i <deb file>, it'll fail saying it needs dependencies. After t ...

  4. VMware虚拟网卡设置问题

    具体操作过程如下: (1)为虚拟机添加虚拟网卡 (2)添加后会自动分配子网ip,不用修改.点击应用,确定. (3)添加完成后本机的网络上会多出一个网络适配器,根据虚拟机器中的ip设置此ip地址, 这里 ...

  5. js- 引用和复制(传值和传址)

    js- 引用和复制(传值和传址) 好像一般很少人讲到js中的引用和复制,不过弄清楚这个概念可以帮助理解很多东西 先讲一下很基础的东西,看看js中几种数据类型分别传的什么引用:对象.数组.函数复制:数字 ...

  6. 无监督学习(Unsupervised Learning)

    无监督学习(Unsupervised Learning) 聚类无监督学习 特点 只给出了样本, 但是没有提供标签 通过无监督学习算法给出的样本分成几个族(cluster), 分出来的类别不是我们自己规 ...

  7. Linux内存管理机制简析

    Linux内存管理机制简析 本文对Linux内存管理机制做一个简单的分析,试图让你快速理解Linux一些内存管理的概念并有效的利用一些管理方法. NUMA Linux 2.6开始支持NUMA( Non ...

  8. jstl标注标签库

    1.  常用标签 引入标签库: <%@ taglib prefix=”c” uri=”” %> 1.      C 标签   (1)<c:out value=”” default=” ...

  9. sql查询某字段的相同值

    sql查询某字段的相同值: SELECT * FROM table WHERE col in (SELECT col FROM table GROUP BY col HAVING COUNT (col ...

  10. Spring-boot2.0.1.BUILD-SNAPSHOT整合Elasticsearch报failed to load elasticsearch nodes错误解决办法

    spring-boot整合es的application.properties的默认配置为: spring.data.elasticsearch.cluster-nodes=localhost:9200 ...