美文网首页
IOS m3u8 AVPlayer(一)

IOS m3u8 AVPlayer(一)

作者: d0u | 来源:发表于2016-05-30 11:18 被阅读7064次

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

    1.首先要导入三个framework.

    CoreMedia.framework

    MediaPlayer.framework

    AVFoundation.framework

    2.引入头文件

    #import <AVFoundation/AVFoundation.h>

    #import<MediaPlayer/MediaPlayer.h>

    #import<CoreMedia/CoreMedia.h>

    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<AVKit/AVKit.h>

    #import<AVFoundation/AVFoundation.h>

    代码:

    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下载

    相关文章

      网友评论

          本文标题:IOS m3u8 AVPlayer(一)

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