内容简介: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 系统视频播放器简单介绍》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
妙趣横生的算法(C++语言实现)
胡浩 / 清华大学出版社 / 2014-10-1 / 59.80元
《妙趣横生的算法(C++语言实现)》内容丰富,生动有趣,寓教于乐,旨在帮助读者学习数据结构和算法的相关知识,从而开阔眼界,培养编程兴趣,提高编程能力,增强求职的竞争力。如果您想提高自己对算法和数据结构的理解能力,在程序设计之路上走得更远,那么请翻开《妙趣横生的算法(C++语言实现)》,仔细研读吧,它将助您一臂之力。 《妙趣横生的算法(C++语言实现)》以通俗易懂的语言深入浅出地介绍了常用的数......一起来看看 《妙趣横生的算法(C++语言实现)》 这本书的介绍吧!