视频播放

AVPlayer

可以播放本地,也可以播放远程的音频视频,它是基于layer显示的,需要自己编写控制面板

一个URL对应一个player,不能更改

如果想要在初始化后更改需要使用AVPlayerItem

不能全屏播放,也没有播放控制(暂停开始,全屏,播放位置,播放时间等)

        // 1.获取URL(远程/本地)
        NSURL *url = [NSURL URLWithString:@"http://v1.mukewang.com/a45016f4-08d6-4277-abe6-bcfd5244c201/L.mp4"];
        
        // 2.创建AVPlayerItem
        AVPlayerItem *item = [AVPlayerItem playerItemWithURL:url];
        
        // 3.创建AVPlayer
        _player = [AVPlayer playerWithPlayerItem:item];
        
        // 4.添加AVPlayerLayer 播放器一般为16:9
        AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:self.player];
        layer.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.width * 9 / 16);
        [self.view.layer addSublayer:layer];

 

MPMoviePlayerController

它是继承自UIViewController的一个控制器,可以通过设置其view的frame来显示要播放的视频,这个有播放控制,也可以全屏

通过通知中心来监听改变

        // 1.获取视频的URL
        NSURL *url = [NSURL URLWithString:@"http://v1.mukewang.com/19954d8f-e2c2-4c0a-b8c1-a4c826b5ca8b/L.mp4"];
        
        // 2.创建控制器
        _playerController = [[MPMoviePlayerController alloc] initWithContentURL:url];
        
        // 3.设置控制器的View的位置
        _playerController.view.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.width * 9 / 16);
        
        // 4.将View添加到控制器上
        [self.view addSubview:_playerController.view];
        
        // 5.设置属性(嵌入式的)
        _playerController.controlStyle = MPMovieControlStyleEmbedded;

 

MPMoviePlayerViewController

它是继承自NSObject的,只能全屏播放,内部封装了MPMoviePlayerController

通过modal方式弹出控制器

[self presentMoviePlayerViewControllerAnimated:self.playerVc];

 

posted on 2016-03-29 17:32  sea_star3  阅读(232)  评论(0编辑  收藏  举报

导航