项目中用到视频播放功能, 写点视频基础部分

  MPMoviePlayerController是通过MediaPlayer.frame引入的,可用于播放在iOS支持的所有格式的视频,用起来很简单!!!

  MPMoviePlayerController 可以直接通过远程URL初始化.

  首先你得引入 MediaPlayer.framework.然后在使用到MPMoviePlayerController 的文件中导入相应的头文件。

  一、创建
  MPMoviePlayerController 类通过一个NSURL来初始化,这个URL可以使本地的,也可以是远程的。初始化需要通过 initWithContentURL 方法来实现:

  1. MPMoviePlayerController *moviePlayer = [ [ MPMoviePlayerController alloc]initWithContentURL:[NSURL urlWithString:@"http://"] ];//远程

  或者

  1. NSString* path =[ NSString stringWithFormat:@"%@/Documents/video.3gp",NSHomeDirectory()];//本地路径
  2. MPMoviePlayerController *moviePlayer = [ [ MPMoviePlayerController alloc]initWithContentURL:[NSURL fileURLWithPath:path]];//本地的

  二、属性设置
  1.控制器样式

  1. moviePlayer.moviewControlMode = MPMovieControlModeDefault;

  可以使用下列样式:
  MPMovieControlModeDefault            显示播放/暂停、音量和时间控制
  MPMovieControlModeVolumeOnly         只显示音量控制
  MPMovieControlModeHidden             没有控制器
  2.屏幕宽高比例

  1. moviePlayer.scallingMode = MPMovieScallingModeAspectFit;

  你可以使用下列宽高比值:
  MPMovieScallingModeNone            不做任何缩放
  MPMovieScallingModeAspectFit       适应屏幕大小,保持宽高比
  MPMovieScallingModeAspectFill      适应屏幕大小,保持宽高比,可裁剪
  MPMovieScallingModeFill            充满屏幕,不保持宽高比
  3.背景色
  背景色会在电影播放器转入转出时使用,当电影不能充满整个屏幕时,也会用来填充空白区域。默认的背景色是黑色,不过你可以使用 UIColor 对象设置backgroundColor属性,来改变背景色:

  moviePlayer.backgroundColor = [UIColor redColor];

  三、播放和停止电影
  要播放电影请调用play 方法,电影播放控制器会自动将视图切换到电影播放器并开始播放:

  1. [ moviePlayer play ];

  当用户点击Done按钮,或者 stop 方法被调用都会停止

  1. [ moviePlayer stop ];

  当电影停止播放后会自动切回播放前应用程序所在的视图。
  四、通知
  你的程序可以配置电影播放器在何时候发送通知,包括结束加载内容、技术播放、改变宽高比等。电影播放器会将事件发送到 Cocoa 的通知中心,你可以对其进行配置,指定将这些事件转发到   你的应用程序的一个对象。要接收这些通知,需要使用 NSNotificationCenter 类,为电影播放器添加一个观察者(observer):

  1. NSNotificationCenter* notificationCenter = [NSNotificationCenter defaultCenter];
  2. [ notificationCenter addObserver:self selector:@selector(moviePlayerPreloadFinish:) name:MPMoviePlayerContentPreloadDidFinishNotification object:moviePlayer ];

  通知会发到你指定的委托类和目标方法。通知参数让你可以知道是哪个事件触发了委托方法:

  1. -(void)moviePlayerPreloadDidFinish:(NSNotification*)notification{
  2. //添加你的处理代码
  3. }

  你会观察到以下通知:
  MPMoviePlayerContentPreloadDidFinishNotification 
  当电影播放器结束对内容的预加载后发出。因为内容可以在仅加载了一部分的情况下播放,所以这个通知可能在已经播放后才发出。
  MPMoviePlayerScallingModeDidChangedNotification 
  当用户改变了电影的缩放模式后发出。用户可以点触缩放图标,在全屏播放和窗口播放之间切换。
  MPMoviePlayerPlaybackDidFinishNotification 
  当电影播放完毕或者用户按下了Done按钮后发出。

转载于:https://www.cnblogs.com/moyunmo/p/3362083.html

ios开发 MPMoviePlayerController 视频播放器相关推荐

  1. Android开发之视频播放器

    Android开发之视频播放器 一.效果图 二.build.gradle中导入依赖 三.主布局文件(activity_video) 四.布局文件(video_item) 五.布局文件(activity ...

  2. 基于QtAv及ffmpeg开发的视频播放器

    基于QtAv及ffmpeg开发的视频播放器 主要功能: 本地媒体文件播放,支持切换上一个下一个文件,暂停/恢复,快放/慢放,音量控制 全屏/取消全屏 播放列表,列表缩略图 播放进度,进度条展示缩略图 ...

  3. 基于MATLAB开发的视频播放器

    目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 基于MATLAB开发的视频播放器 2.仿真效果 matlab2022a仿真结果如下:

  4. 嵌入式Qt 开发一个视频播放器

    上篇文章:嵌入式 Qt开发一个音乐播放器,使用Qt制作了一个音乐播放器,并在OK3568开发板上进行了运行测试,实际测试效果还不错. 本篇继续来实现一个Qt视频播放器软件,可以实现视频列表的显示与选择 ...

  5. 【Harmony OS】【ArkUI】ets开发 简易视频播放器

    前言:这一次我们来使用ets的Swiper组件.List组件和Video组件制作一个简易的视频播放器.本篇是以HarmonyOS官网的codelab简易视频播放器(eTS)为基础进行编写.本篇最主要的 ...

  6. 微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义

    把录音的模块尝试过之后就想着微信小程序的视频播放会不会更有趣? 果然,微信小程序视频自带弹幕.是不是很爽,跟我一起来看看. 微信小程序开发之录音机 音频播放 动画 (真机可用) 先上gif: 再上几张 ...

  7. python开发网页视频播放器_HTML5 VideoAPI,打造自己的Web视频播放器

    本文将使用HTML5提供的VideoAPI做一个自定义的视频播放器,需要用到HTML5提供的video标签.以及HTML5提供的对JavascriptAPI的扩展. 一.基础知识 1.用法 注意:au ...

  8. 移动软件开发-制作视频播放器

    一.实验目标 1.掌握视频列表的切换方法:2.掌握视频自动播放方法:3.掌握视频随机颜色弹幕效果. 二.实验步骤 一.实验准备: 1.1:先下载相应的播放图片,图片下载地址如下:https://gao ...

  9. 安卓开发之视频播放器

    首先送各位有缘看到这篇文章的朋友们一句话:努力,总会有收获! 下面开始正题: 视频播放器,谷歌提供了布局控件和api. 布局控件的名字叫做VideoView,该控件也有自己的类,实例化一个该控件对象后 ...

最新文章

  1. python open文件安全隐患_python的其他安全隐患
  2. opacity用法:
  3. kafka 集群的部署安装
  4. linux查看非注释行_Linux筛除空行和注释行的技巧
  5. python label background设置成透明_纯Python绘制满满艺术感的山脊地图
  6. pda连接电脑无法存取文件_手机无法连接电脑怎办
  7. UIKit框架类层次图
  8. OpenGL加载纹理glGenTextures——内存优化(OpenGL内存泄漏)
  9. 网络安全学习--007--漏洞分析简介
  10. 基于Unity开发的鼠标打飞碟游戏设计
  11. 网易云音乐python爬虫(Js破解)
  12. 腾讯百度阿里变身天使投资背后:PE估值偏低
  13. 用python制作weblogo/SeqLogo/序列保守性分析图
  14. 使用计算机制作数字文本格式,电脑excel表格如何将文本格式变成数字格式
  15. Android 字体库的使用。引入外部字体
  16. 信号积分变换的公式推导以及几个例子
  17. linux开放端口的两种方法
  18. java继承a mya new c,JAVA注解
  19. CPA、CPS、CPM、CPT、CPC 是什么?
  20. 素描静物绘画需要掌握的基础知识有哪些

热门文章

  1. Struts2学习(二):第一个Action
  2. 【操作系统】死等状态、忙等状态、有限等待、让权等待
  3. lsof查找放进linux回收站中的删除文件,并彻底删除或恢复文件
  4. Eclipse 安装 Fatjar.jar失败的解决方法
  5. Python判断是否json是否包含一个key
  6. Kubernetes首爆严重安全漏洞,请升级你的Kubernetes
  7. 《新财富》2015年第13届分析师排名
  8. SQL_TRACE与tkprof分析
  9. xcode 不值钱的动画UIButton
  10. uva10718 - Bit Mask(贪心)