//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄

一、AVPlayer介绍 

1.能播放本地、远程的音频、视频文件

2.基于Layer显示,得自己去编写控制面板

3.AVPlayer(远程⾳音乐/播放视频)—>添加layer

4.可以播放远程视频(需要通过添加layer来显示视频)

代码实现

#pragma mark - 懒加载代码

- (AVPlayer *)player

{

if (_player == nil) {

// 1.获取URL(远程/本地)

// NSURL *url = [[NSBundle mainBundle] URLForResource:@"01-知识回顾.mp4" withExtension:nil];

NSURL *url = [NSURL URLWithString:@"http://v1.mukewang.com/a45016f4-08d6-4277-abe6-bcfd5244c201/L.mp4"];

// 2.创建AVPlayerItem

AVPlayerItem *item = [AVPlayerItem playerItemWithURL:url];

// 3.创建AVPlayer

_player = [AVPlayer playerWithPlayerItem:item];

// 4.添加AVPlayerLayer

AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:self.player];

layer.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.width * 9 / 16);

[self.view.layer addSublayer:layer];

}

return _player;

}

二、MPMoviePlayerController介绍

 1.能播放本地、远程的音频、视频文件
 2.自带播放控制面板(暂停、播放、播放进度、是否要全屏)

 3.MPMoviePlayerController—>给.view设置frame,将这个view 添加到某⼀一个View

代码实现

#import <MediaPlayer/MediaPlayer.h>

#pragma mark - 懒加载代码

- (MPMoviePlayerController *)playerController

{

if (_playerController == nil) {

// 1.获取视频的URL

NSURL *url = [NSURL URLWithString:@"http://v1.mukewang.com/19954d8f-e2c2-4c0a-b8c1-a4c826b5ca8b/L.mp4"];

// 2.创建控制器

_playerController = [[MPMoviePlayerController alloc] initWithContentURL:url];

// 3.设置控制器的View的位置

_playerController.view.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.width * 9 / 16);

// 4.将View添加到控制器上

[self.view addSubview:_playerController.view];

// 5.设置属性

_playerController.controlStyle = MPMovieControlStyleNone;

}

return _playerController;

}

三、MPMoviePlayerViewController介绍 

 1.能播放本地、远程的音频、视频文件
 2.内部是封装了MPMoviePlayerController
 3.播放界面默认就是全屏的
 4.如果播放功能比较简单,仅仅是简单地播放远程、本地的视频文件,建议用这个

 5.MPMoviePlayerViewController(modal出来,⾃自动播放,⼀一定全 屏播放)


代码实现

#import <MediaPlayer/MediaPlayer.h>

#pragma mark - 懒加载

- (MPMoviePlayerViewController *)playerVc

{

if (_playerVc == nil) {

NSURL *url = [NSURL URLWithString:@"http://v1.mukewang.com/a45016f4-08d6-4277-abe6-bcfd5244c201/L.mp4"];

_playerVc = [[MPMoviePlayerViewController alloc] initWithContentURL:url];;

}

return _playerVc;

}

- (IBAction)play {

[self presentMoviePlayerViewControllerAnimated:self.playerVc];

}

谢谢!!!

iOS 视频播放(AVPlayer、MPMoviePlayerController、MPMoviePlayerViewController 区别)相关推荐

  1. iOS 视频播放(AVPlayer)

    文章目录一.AVPlayer1.简介2.视频播放的解决方案二.AVPlayer中的MVC1.v层 :AVPlayerLayer2.m层 :AVPlayerItem3.c层 :AVPlayer三.实现简 ...

  2. iOS 视频播放 - AVPlayer

    iOS实现视频播放,原生代码播放视频更多的使用AVPlayer和AVPlayerViewController进行播放. 其中, AVPlayer不能单独进行播放,仅使用AVPLayer的话,还需要将其 ...

  3. iOS 视频播放之MPMoviePlayerController

    使用MediaPlayer.framework种的MPMoviePlayerController类来完成本地视频和网络视频播放.这个类实现了MPMediaPlayback协议,因此具备一般的播放器控制 ...

  4. iOS 视频播放 AVPlayer 循环播放 闪屏

    问题终于解决,选用AVPlayer,重置一下AVPlayerItem就不会出现闪屏现象,注册一个通知同样可以实现循环播放,而且AVPlayer可以自定义播放样式,给了我们更大的发挥空间,完全可以自己D ...

  5. [绍棠] iOS视频播放AVPlayer的视频内容拉伸设置

    使用其中一个叫 videoGravity 的属性,默认设置了AVLayerVideoGravityResize,查看该属性以及相关的其他属性值发现有3种值可以设置, AVLayerVideoGravi ...

  6. iOS: ios视频播放(MPMediaPlayerController,AVPlayer,AVPlayerViewcontroller、ffmpeg-AVPlayer)...

    介绍: 和音频播放一样,ios也提供个很多的API.如mediaPlayer.framework下的MPMediaPlayerController.AVFounditon.framework下的AVP ...

  7. iOS视频播放的基本方法

    本文总结了iOS中最常见的视频播放方法,不同的方法都各具特点,我希望能够总结它们的不同,方便在开发中选择合适的技术方案. Apple为我们提供了多种方法来实现视频播放,包括MPMoviePlayerC ...

  8. iOS 视频播放从零开始(一)

    之前很少有时间看视频这块,赶在现在比较闲,从零开始拾起. iOS 中关于视频播放框架已更新换代多次,先从最开始的走起. iOS9之前,iOS播放视频文件一般使用MPMoviePlayerViewCon ...

  9. 【iOS】AVPlayer 播放音视频

    1.常见的音视频播放器 iOS开发中不可避免地会遇到音视频播放方面的需求. 常用的音频播放器有 AVAudioPlayer.AVPlayer 等.不同的是,AVAudioPlayer 只支持本地音频的 ...

最新文章

  1. python可以自学吗-python自学行吗 新手可以自学python吗
  2. 阿里巴巴的五大平台野心,让“连接”论成为过去式
  3. 有关数据结构基础知识(数据结构 严蔚敏版)
  4. 1.10 instanceof关键字
  5. 【Android】android开发之splash闪屏页的四种实现方式,启动页的实现教程。
  6. Spring-Cloud中各个组件的职责
  7. 1049. 最后一块石头的重量 II(JavaScript)
  8. 详解利用ShoeBox制作位图字体
  9. pap认证失败_PPP 口令认证协议 (PAP) 的配置与故障排除
  10. ATK-ESP8266 串口转WIFI模块 简历
  11. 独家百度刷权重全套代码工具教程
  12. 100天精通Andriod逆向——第4天:各种抓包工具学习
  13. 深信服培训--网络设备常见的部署模式
  14. java caller_java中callee获取caller
  15. 机器学习sklearn 计算recall , precison , F1
  16. Windows10版本即将终止服务请立即重启
  17. Windows C盘清理方法
  18. 统一认证中心-auth2.0
  19. 计算机系统中时间周期的单位,时间单位换算 (全),计算机单位换算大全
  20. 租传奇手游服务器网站,传奇手游服务端

热门文章

  1. 【S32K学习笔记】PIT
  2. WPS表格求和详细教程
  3. 忘掉 MindNode, 这才是Mac颜值最高的思维导图工具
  4. 电力负荷短期预测模型(基于ARIMA)
  5. R replicate() 函数教程
  6. 大家帮忙看一下这两个ip地址到底距离多远
  7. echarts地图文字重叠解决方案_echarts map 阴影(重叠)
  8. 四元数非正式笔记梳理_Quaternion kinematics for the error-state Kalman filter
  9. python 命令行打开3d slicer模块
  10. FreeRTOS学习笔记【六】——FreeRTOS 任务相关 API 函数