iOS视频播放 // JWDev 

JerryXia 发表于 , 阅读 (0)

视频播放

前面我们讲过使用AVPlayer来播放音频,其实AVPlayer也是可以用来播放的视频的,所以今天是来说说怎么利用AVPlayer来播放视频的,还有一个播放视频的方式是通过MediaPlayer框架里面的类来播放音乐,但是在iOS8之后苹果推出AVKit框架来看还是利用AVPlayer来实现视频播放比较好,因为AVKit 的核心其实是对AVPlayer的封装,当然提供了一些高级的功能,比如分屏和多任务,还有画中画功能.

关键类

  1. AVPlayer
  2. AVPlayerItem
  3. AVPlayerLayer

其中前面两个和之前是一样的,只是一个AVPlayerLayer之前没有接触过,这个类的基类是CALayer.我们只要能拿到AVPlayer的layer,然后把拿到的layer 赋值给 AVPlayerLayer对象,然后把AVPlayerLayer对象加到要显示的视图的layer层上即可.

代码

简单显示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//创建一个item
AVPlayerItem *item = [[AVPlayerItem alloc] initWithURL:[NSURL URLWithString:@"http://static.tripbe.com/videofiles/20121214/9533522808.f4v.mp4"]];
//初始化播放器
self.player = [[AVPlayer alloc] initWithPlayerItem:item];
//获取播放器的layer
AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:_player];
//设置播放器的layer
playerLayer.frame = self.view.frame;
playerLayer.videoGravity = AVLayerVideoGravityResizeAspect;
playerLayer.backgroundColor = [[UIColor blueColor] CGColor];
//讲layer添加到当期页面的layer层中
[self.view.layer addSublayer:playerLayer];
//播发器开始播放
[self.player play];

总结

其实使用AVPlayer播放视频和AVPlayer播放音频是一样的过程,只不过需要拿到AVPlayer的layer层,然后将拿到的layer添加到当前页面上.(其实还是很简单的啦,当然这只是简答的播放,想要更酷炫的效果还是要靠大家自己去扩展啦…)