IOS m3u8 AVPlayer(一)

一个超级简单的AVPlayer播放m3u8的例子,也是之前看其他前辈写的,后续会有更详细的内容,现在只是播放.因为自己的水平还是初学者,所以很多都是从很基础的东西开始,欢迎大家指点.

1.首先要导入三个framework.

CoreMedia.framework

MediaPlayer.framework

AVFoundation.framework

2.引入头文件

#import

#import

#import

3.代码实现

- (void)viewDidLoad {

[superviewDidLoad];

NSURL*liveURL = [NSURLURLWithString:@"http://dlhls.cdn.zhanqi.tv/zqlive/18620_aVSpe.m3u8"]; //这个地址是抓的战旗的直播地址,假如不能用的话可以自己抓一下战旗的videoID="18620_aVSpe",随便找一个在直播的房间抓就可以.

AVAsset*liveAsset = [AVURLAsset URLAssetWithURL:liveURL options:nil];

AVPlayerItem*playerItem = [AVPlayerItem playerItemWithAsset:liveAsset];

AVPlayer*player = [AVPlayer playerWithPlayerItem:playerItem];

AVPlayerLayer*playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];

playerLayer.frame=self.view.layer.bounds;

playerLayer.videoGravity=AVLayerVideoGravityResizeAspect;

[self.view.layer addSublayer:playerLayer];

[player play];

}

随后会有界面修改的代码;自己也在做.

--------------AVPlayerViewController分隔--------------

刚刚又找到一个更适合自己项目的AVPlayerViewController,适合偶尔性的使用,因为这个已经有基础的UI页面.

需要导入:

#import

#import

代码:

NSURL*url = [NSURL URLWithString:@"http://dlhls.cdn.zhanqi.tv/zqlive/3884_bR1ms.m3u8"];

AVPlayerViewController* play = [[AVPlayerViewController alloc]init];

play.player= [[AVPlayer alloc]initWithURL:url];

play.allowsPictureInPicturePlayback=YES;//这个是允许画中画的,默认应该是开启的,但是我的没有效果,现在还不知道什么原因

[play.player play]; //这里我设置直接播放,页面弹出后会直接播放,要不然还需要点击一下播放按钮

[self presentViewController:play animated:YES completion:nil];

页面效果如图:

IOS m3u8 AVPlayer(一)_第1张图片

-------如果有帮助到你的话,请点个喜欢----------


做了个小demo,下载:

demo下载

你可能感兴趣的:(IOS m3u8 AVPlayer(一))