iOS开发中AVPlayer的简单应用

 更新时间:2017年02月20日 11:48:44   作者:仗剑走天下  
这篇文章主要介绍了iOS开发中AVPlayer的简单应用,文中给出了简单的介绍和示例代码,相信对大家学习AVPlayer的应用具有一定的参考价值,需要的朋友们下面跟着小编来一起学习学习。

前言

在iOS开发中,播放视频通常有两种方式,一种是使用MPMoviePlayerController(需要导入MediaPlayer.Framework),还有一种是使用AVPlayer。关于这两个类的区别简而言之就是MPMoviePlayerController使用更简单,功能不如AVPlayer强大,而AVPlayer使用稍微麻烦点,不过功能更加强大。下面这篇文章主要介绍下AVPlayer的简单应用,需要的朋友们一起来看看吧。

AVPlayer的简单应用

      1.引入系统框架

      2.创建视频的url

      3.创建播放项目

      4.初始化播放器

      5.设置播放页面

实例代码如下:

//引入系统文件
#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>
@interface ViewController ()
/**
 * 控制视频播放的控件
 */
@property (weak, nonatomic) IBOutlet UISlider *progressSlider;
/**
 * 声明播放视频的控件属性[既可以播放视频也可以播放音频]
 */
@property (nonatomic,strong)AVPlayer *player;
/**
 * 播放的总时长
 */
@property (nonatomic,assign)CGFloat sumPlayOperation;
 
 
@end
 
@implementation ViewController
 
- (void)viewDidLoad {
 [super viewDidLoad];
 // Do any additional setup after loading the view, typically from a nib.
 //设置播放的url
 NSString *playString = @"http://static.tripbe.com/videofiles/20121214/9533522808.f4v.mp4";
 NSURL *url = [NSURL URLWithString:playString];
 //设置播放的项目
 AVPlayerItem *item = [[AVPlayerItem alloc] initWithURL:url];
 //初始化player对象
 self.player = [[AVPlayer alloc] initWithPlayerItem:item];
 //设置播放页面
 AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:_player];
 //设置播放页面的大小
 layer.frame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 300);
 layer.backgroundColor = [UIColor cyanColor].CGColor;
 //设置播放窗口和当前视图之间的比例显示内容
 layer.videoGravity = AVLayerVideoGravityResizeAspect;
 //添加播放视图到self.view
 [self.view.layer addSublayer:layer];
 //设置播放进度的默认值
 self.progressSlider.value = 0;
 //设置播放的默认音量值
 self.player.volume = 1.0f;
  
}
#pragma mark - 开始按钮响应方法
- (IBAction)startPlayer:(id)sender {
 [self.player play];
}
#pragma mark - 暂停按钮响应方法
- (IBAction)stopPlayer:(id)sender {
 [self.player pause];
}
#pragma mark - 改变进度
- (IBAction)changeProgress:(id)sender {
 self.sumPlayOperation = self.player.currentItem.duration.value/self.player.currentItem.duration.timescale;
 //CMTimeMake(a,b) a表示当前时间,b表示每秒钟有多少帧
 [self.player seekToTime:CMTimeMakeWithSeconds(self.progressSlider.value*self.sumPlayOperation, self.player.currentItem.duration.timescale) completionHandler:^(BOOL finished) {
  [self.player play];
 }];
  
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对各位iOS开发者们能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • iOS关联对象示例详解

    iOS关联对象示例详解

    这篇文章主要给大家介绍了关于iOS关联对象的相关资料,文中通过示例代码结束的非常详细,对大家学习或者使用iOS具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • 浅谈iOS开发如何适配暗黑模式(Dark Mode)

    浅谈iOS开发如何适配暗黑模式(Dark Mode)

    这篇文章主要介绍了浅谈iOS开发如何适配暗黑模式(Dark Mode),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • IOS设备上给body绑定click事件不生效的原因及解决办法

    IOS设备上给body绑定click事件不生效的原因及解决办法

    最近在做移动端的项目,在ios上对body绑定click事件实现事件代理冒泡至某些元素上不生效,怎么回事,如何解决呢?今天小编给大家带来了IOS设备上给body绑定click事件不生效的原因及解决办法,一起看看吧
    2016-09-09
  • iOS自定义转场动画的几种情况

    iOS自定义转场动画的几种情况

    这篇文章主要给大家介绍了关于iOS自定义转场动画的几种情况,文中通过示例代码介绍的非常详细,对各位iOS开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • iOS开发之手势识别

    iOS开发之手势识别

    本文给大家汇总介绍了在IOS开发中我们经常需要用到的手势识别的相关知识,非常的细致全面,有需要的小伙伴可以参考下
    2016-04-04
  • IOS setOnclick点击事件分析

    IOS setOnclick点击事件分析

    本篇文章给大家整理了IOS setOnclick点击事件完美扩展的相关知识点以及代码实例,有需要的朋友可以跟着测试学习下。
    2018-05-05
  • 详解IOS四种保存数据的方式

    详解IOS四种保存数据的方式

    本篇文章主要介绍了OS四种保存数据的方式,现在分享给大家,也给大家做个参考。感兴趣的小伙伴们可以参考一下。
    2016-11-11
  • iOS百度地图简单使用详解

    iOS百度地图简单使用详解

    百度地图的功能有很多,本篇文章主要介绍了iOS百度地图简单使用详解,具有一定的参考价值,有需要的可以了解一下。
    2016-11-11
  • iOS 截取字符串中两个指定字符串中间的字符串方法

    iOS 截取字符串中两个指定字符串中间的字符串方法

    下面小编就为大家分享一篇iOS 截取字符串中两个指定字符串中间的字符串方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 解析iOS开发中的FirstResponder第一响应对象

    解析iOS开发中的FirstResponder第一响应对象

    这篇文章主要介绍了解析iOS开发中的FirstResponder第一响应对象,包括View的FirstResponder的释放问题,需要的朋友可以参考下
    2015-10-10

最新评论