当前位置:   article > 正文

视频播放AVPlayerViewController_avplayer avplayerviewcontroller

avplayer avplayerviewcontroller

和视频播放有关的目录如下:
FFMpeg视频MetaData函数--av_dump_format()
AVPlayer播放器
FFMpeg 播放视频
直播秒开
由于MPMoviePlayerController的高度封装,导致定制界面基本不可能实现。iOS9.0之后AVFoundation框架中提供了AVPlayerViewController来替代MP,使用也是非常简单。
使用时导入2个头文件:

  1. #import <AVFoundation/AVFoundation.h>
  2. #import <AVKit/AVKit.h>

设置下资源路径Url和是否显示控制条就能快速的创建一个播放器了。

  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. // 设置资源路径
  5. NSString *path = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"mp4"];
  6. NSURL *url = [NSURL fileURLWithPath:path];
  7. AVPlayer *avPlayer= [AVPlayer playerWithURL:url];
  8. // player的控制器对象
  9. AVPlayerViewController *playerViewController = [[AVPlayerViewController alloc] init];
  10. // 控制器的player播放器
  11. playerViewController.player = avPlayer;
  12. // 试图的填充模式
  13. /*

    可以设置的值及意义如下:

     AVLayerVideoGravityResizeAspect   不进行比例缩放 以宽高中长的一边充满为基准

     AVLayerVideoGravityResizeAspectFill 不进行比例缩放 以宽高中短的一边充满为基准

     AVLayerVideoGravityResize     进行缩放充满屏幕

     */

 playerViewController.videoGravity = AVLayerVideoGravityResizeAspect; // 是否显示播放控制条 playerViewController.showsPlaybackControls = YES; // 设置显示的Frame playerViewController.view.frame = self.view.bounds; // 将播放器控制器添加到当前页面控制器中 [ self addChildViewController:_playerViewController]; // view一定要添加,否则将不显示 [ self.view addSubview:playerViewController.view]; // 播放 [playerViewController.player play]; }

效果如图所示

AVPlayer.png

AVPlayerViewController使用起来非常方便,但依然存在以下两个问题:

  • 支持的视频编码格式很有限:H.264、MPEG-4,扩展名(压缩格式):.mp4、.mov、.m4v、.m2v、.3gp、.3g2等,如果是RMVB就不行了,需要借助第三方的框架来实现更多格式的支持,如Kxmovie ,可以查看我另外一篇文章中的Kxmovie引用。
  • 实际开发中常常需要自定义界面,如点击按钮全屏播放,这时我们就需要使用AVPlayer自定义开发了,可以在我的另外一篇文章查看。


作者:Hardy_Hu
链接:https://www.jianshu.com/p/e3c6e0c77b9b
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/308868
推荐阅读
相关标签
  

闽ICP备14008679号