iOS 视频播放(AVPlayer、MPMoviePlayerController、MPMoviePlayerViewController 区别)
//联系人:石虎 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 区别)相关推荐
- iOS 视频播放(AVPlayer)
文章目录一.AVPlayer1.简介2.视频播放的解决方案二.AVPlayer中的MVC1.v层 :AVPlayerLayer2.m层 :AVPlayerItem3.c层 :AVPlayer三.实现简 ...
- iOS 视频播放 - AVPlayer
iOS实现视频播放,原生代码播放视频更多的使用AVPlayer和AVPlayerViewController进行播放. 其中, AVPlayer不能单独进行播放,仅使用AVPLayer的话,还需要将其 ...
- iOS 视频播放之MPMoviePlayerController
使用MediaPlayer.framework种的MPMoviePlayerController类来完成本地视频和网络视频播放.这个类实现了MPMediaPlayback协议,因此具备一般的播放器控制 ...
- iOS 视频播放 AVPlayer 循环播放 闪屏
问题终于解决,选用AVPlayer,重置一下AVPlayerItem就不会出现闪屏现象,注册一个通知同样可以实现循环播放,而且AVPlayer可以自定义播放样式,给了我们更大的发挥空间,完全可以自己D ...
- [绍棠] iOS视频播放AVPlayer的视频内容拉伸设置
使用其中一个叫 videoGravity 的属性,默认设置了AVLayerVideoGravityResize,查看该属性以及相关的其他属性值发现有3种值可以设置, AVLayerVideoGravi ...
- iOS: ios视频播放(MPMediaPlayerController,AVPlayer,AVPlayerViewcontroller、ffmpeg-AVPlayer)...
介绍: 和音频播放一样,ios也提供个很多的API.如mediaPlayer.framework下的MPMediaPlayerController.AVFounditon.framework下的AVP ...
- iOS视频播放的基本方法
本文总结了iOS中最常见的视频播放方法,不同的方法都各具特点,我希望能够总结它们的不同,方便在开发中选择合适的技术方案. Apple为我们提供了多种方法来实现视频播放,包括MPMoviePlayerC ...
- iOS 视频播放从零开始(一)
之前很少有时间看视频这块,赶在现在比较闲,从零开始拾起. iOS 中关于视频播放框架已更新换代多次,先从最开始的走起. iOS9之前,iOS播放视频文件一般使用MPMoviePlayerViewCon ...
- 【iOS】AVPlayer 播放音视频
1.常见的音视频播放器 iOS开发中不可避免地会遇到音视频播放方面的需求. 常用的音频播放器有 AVAudioPlayer.AVPlayer 等.不同的是,AVAudioPlayer 只支持本地音频的 ...
最新文章
- python可以自学吗-python自学行吗 新手可以自学python吗
- 阿里巴巴的五大平台野心,让“连接”论成为过去式
- 有关数据结构基础知识(数据结构 严蔚敏版)
- 1.10 instanceof关键字
- 【Android】android开发之splash闪屏页的四种实现方式,启动页的实现教程。
- Spring-Cloud中各个组件的职责
- 1049. 最后一块石头的重量 II(JavaScript)
- 详解利用ShoeBox制作位图字体
- pap认证失败_PPP 口令认证协议 (PAP) 的配置与故障排除
- ATK-ESP8266 串口转WIFI模块 简历
- 独家百度刷权重全套代码工具教程
- 100天精通Andriod逆向——第4天:各种抓包工具学习
- 深信服培训--网络设备常见的部署模式
- java caller_java中callee获取caller
- 机器学习sklearn 计算recall , precison , F1
- Windows10版本即将终止服务请立即重启
- Windows C盘清理方法
- 统一认证中心-auth2.0
- 计算机系统中时间周期的单位,时间单位换算 (全),计算机单位换算大全
- 租传奇手游服务器网站,传奇手游服务端
热门文章
- 【S32K学习笔记】PIT
- WPS表格求和详细教程
- 忘掉 MindNode, 这才是Mac颜值最高的思维导图工具
- 电力负荷短期预测模型(基于ARIMA)
- R replicate() 函数教程
- 大家帮忙看一下这两个ip地址到底距离多远
- echarts地图文字重叠解决方案_echarts map 阴影(重叠)
- 四元数非正式笔记梳理_Quaternion kinematics for the error-state Kalman filter
- python 命令行打开3d slicer模块
- FreeRTOS学习笔记【六】——FreeRTOS 任务相关 API 函数