一个超级简单的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];
页面效果如图:
-------如果有帮助到你的话,请点个喜欢----------
做了个小demo,下载:
demo下载