美文网首页音频&视频ios-视频
视频播放AVPlayerViewController

视频播放AVPlayerViewController

作者: Hardy_Hu | 来源:发表于2017-03-30 16:45 被阅读3243次

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

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

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

- (void)viewDidLoad
{
    [super viewDidLoad];

    // 设置资源路径
    NSString *path  = [[NSBundle mainBundle]  pathForResource:@"1" ofType:@"mp4"];
    NSURL *url = [NSURL fileURLWithPath:path];
    AVPlayer *avPlayer= [AVPlayer playerWithURL:url];
    // player的控制器对象
    AVPlayerViewController *playerViewController = [[AVPlayerViewController alloc] init];
    // 控制器的player播放器
    playerViewController.player = avPlayer;
    // 试图的填充模式
    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自定义开发了,可以在我的另外一篇文章查看。

相关文章

网友评论

    本文标题:视频播放AVPlayerViewController

    本文链接:https://www.haomeiwen.com/subject/hxcpottx.html