iOS 系统视频播放器简单介绍

栏目: IOS · 发布时间: 7年前

内容简介:2. AVPlayerViewController 使用方法↓

一. MediaPlayer

1. 导入系统库

 // 提供了媒体文件的播放和查找

#import

/** 提供视频播放的内容, 而不是一个UIView的子类, 9.0后废弃

用作一个嵌入到其它视图当中的视频播放界面

*/


@property (strong, nonatomic) MPMoviePlayerController *mpc;

/** 视频播放控制器, 9.0后废弃

作为独立的播放器来使用, 已经提供了相关的选项, 可以直接使用视图控制器

*/


@property (strong, nonatomic) MPMoviePlayerViewController *mpvc;

2. MPMoviePlayerController 使用方法↓

    NSURL *url = [[NSBundle mainBundle] URLForResource:@"***.mp4" withExtension:nil];



// ========== 加载视频的内容 ==========

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



// 控制样式

/**

MPMovieControlStyleNone, 没有控制

MPMovieControlStyleEmbedded, 默认就是嵌入形式

MPMovieControlStyleFullscreen, 全屏样式

*/


_mpc.controlStyle = MPMovieControlStyleNone;



// 内容的填充模式

/**

MPMovieScalingModeNone, 不拉伸

MPMovieScalingModeAspectFit, 保持比例适应 (留空白)

MPMovieScalingModeAspectFill, 保持比例填充 (有部分内容超出屏幕)

MPMovieScalingModeFill 不保持比较填充, 会被拉伸

*/


_mpc.scalingMode = MPMovieScalingModeFill;



// 该视图中包含了`要播放视频的内容`和`相关的控制的控件(如播放等)`

// 将视频的内容和控制按钮添加到tempView上

[self.tempView addSubview:_mpc.view];

// 注意: 要给它配置fream值, 否则是看不到内容的

[_mpc.view setFrame:self.tempView.bounds];

------------------------------分割线---------------------------

// 它的播放相关的操作的方法定义在协议当中

// currentPlaybackRate表示当前的播放速率

// 如果1.0, 正常播放, 0.0表示暂停

if (_mpc.currentPlaybackRate == 0.0) {

_mpc.currentPlaybackRate = 1.5;

[_mpc play];

} else {

[_mpc pause];

}

2. MPMoviePlayerViewController 使用方法↓

    NSURL *url = [[NSBundle mainBundle] URLForResource:@"***.mp4" withExtension:nil];

    // 本地视频的URL链接

     MPMoviePlayerViewController *mpvc = [[MPMoviePlayerViewController alloc] initWithContentURL:url];

    [self presentViewController:mpvc animated:YES completion:nil];

二. AVPlayer

1. 导入系统库

// 支持媒体播放, 控制, 字幕等

#import

#import

/** 媒体播放控制器 */

@property (strong, nonatomic) AVPlayerViewController *pvc;



/** 能将`视频内容展示`出来的图层 */

@property (strong, nonatomic) AVPlayerLayer *layer;



/** 媒体播放器 */

@property (strong, nonatomic) AVPlayer *player;

2. AVPlayerViewController 使用方法↓

// ========== 弹出独立的视频播放窗口 ==========

    // 用于`装载AVPlayer`这个播放器的独立的`视图控制器`, 它的播放本质是依赖于AVPlayer这个类

    AVPlayerViewController *pvc = [[AVPlayerViewController alloc] init];



    // 关键类: 能够控制或管理`媒体资源`的播放, 暂停, 播放速率, 快进等

    // AVPlayer 是整个AVKit或AVFoundation当中, 用于媒体播放的关键

    // 为pvc配置一个可以播放视频的AVPlayer对象

    pvc.player = [AVPlayer playerWithURL:url];



    // 视频的相关控制操作, 都是由AVPlayer来负责

    [pvc.player play];



    [self presentViewController:pvc animated:YES completion:nil];

3. AVPlayerLayer 使用方法↓

// `AVPlayerLayer`会将`AVPlayer`的内容显示到它的图层上

    AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:_player];



    // 注意: 没有设置frame值

    [layer setFrame:self.tempView.bounds];

    [self.tempView.layer addSublayer:layer];

4. AVPlayer 使用方法↓

// AVPLayer是进行媒体文件播放的关键类

    AVPlayer *player = [AVPlayer playerWithURL:url];

    // 视频的相关控制操作, 都是由AVPlayer来负责

    // `AVPlayerLayer`会将`AVPlayer`的内容显示到它的图层上

    AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:player];

    // 注意: 没有设置frame值

    [layer setFrame:self.tempView.bounds];

    [self.tempView.layer addSublayer:layer];

---------------分割线----------------

// 当前的播放速率, 0.0表示暂停, 1.0正常播放

    if (_player.rate == 0.0) {

        // 播放

        [_player play];

        // 要先播放, 才能改变播放速率

        _player.rate = 2.0;

    } else {

        // 暂停

        [_player pause];

    }

以上所述就是小编给大家介绍的《iOS 系统视频播放器简单介绍》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

老码识途

老码识途

韩宏 / 电子工业出版社 / 2012-8 / 56.00元

《老"码"识途:从机器码到框架的系统观逆向修炼之路》以逆向反汇编为线索,自底向上,从探索者的角度,原生态地刻画了对系统机制的学习,以及相关问题的猜测、追踪和解决过程,展现了系统级思维方式的淬炼方法。该思维方式是架构师应具备的一种重要素质。《老"码"识途:从机器码到框架的系统观逆向修炼之路》内容涉及反汇编、底层调试、链接、加载、钩子、异常处理、测试驱动开发、对象模型和机制、线程类封装、跨平台技术、插......一起来看看 《老码识途》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

MD5 加密
MD5 加密

MD5 加密工具