美文网首页iOS开发iOS 开发每天分享优质文章
iOS开发 - 基于ijkPlayer的播放器框架

iOS开发 - 基于ijkPlayer的播放器框架

作者: 阿唯不知道 | 来源:发表于2018-01-26 22:43 被阅读374次

    基于ijkPlayer的网络播放器,支持网络视频、RTMP、HLS(m3u8)等多种格式

    3分钟快速集成播放器,支持小屏、全屏模式,无需手动添加任何依赖库

    支持小屏、全屏模式

    一、推荐使用CocoaPods方式集成

    1、在podfile文件中添加,然后执行 pod install操作,文件较大,请耐心等待

    pod 'YWVideoPlayer', '~> 1.0.3'
    

    2、AppDelegate.h 文件中加入 fullScreen 属性,如下

    #import <UIKit/UIKit.h>
    @interface AppDelegate : UIResponder <UIApplicationDelegate>
    
    @property (strong, nonatomic) UIWindow *window;
    @property (nonatomic) BOOL fullScreen;
    
    @end
    

    3、在 AppDelegate.m 文件中 加入横屏方法(无需调用)

    - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
        if (self.fullScreen == YES) {
            return UIInterfaceOrientationMaskAll;
        }
        return UIInterfaceOrientationMaskPortrait;
    }
    

    4、在播放器控制器界面导入头文件
    Demo 里面是在BasePlayerViewController中引入相关头文件

    #import "YWMediaPlayerView.h"
    

    5、照着BasePlayerViewController文件中的方式去使用即可

    // 这里的SecondViewController是继承了BasePlayerViewController
    #import "SecondViewController.h"
    @interface SecondViewController ()
    @end
    @implementation SecondViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        self.view.backgroundColor = [UIColor whiteColor];
        self.isLiveVideo = YES; // 设置为直播
        [self.view addSubview:self.playerView];
        // 测试链接 mp4、rtmp、m3u8
        // NSString *testUrl = @"http://flv2.bn.netease.com/videolib3/1604/28/fVobI0704/SD/fVobI0704-mobile.mp4";
        // NSString *testUrl = @"rtmp://live.hkstv.hk.lxdns.com/live/hks";
        NSString *testUrl = @"http://dlhls.cdn.zhanqi.tv/zqlive/49427_jmACJ.m3u8";
        [self showPlayerViewWithUrl:testUrl Title:@"视频的标题"];
        // 自动播放
        [self autoPlay];
    }
    
    @end
    

    Github 地址:https://github.com/90candy/YWVideoPlayer

    相关文章

      网友评论

      • 伪装假面:如何在请求头中加入参数啊 大佬
      • 何必轻言流年:这个支持rtsp播放吗大佬
        何必轻言流年:@阿唯不知道 大佬 我弄个别人打好的rtsp包扔到你的项目里试试
        阿唯不知道:@何必轻言流年 呃呃,不支持,那个要在ijkPlayer源文件里面重新配置编译,全部加进去包就更大了
      • 鸢尾嵌宇:你有没有做cell上播放视频,类似抖音的那种,怎么使用ijkplayer?播放的时候怎么做到影音同步?小白敬请解答
        阿唯不知道:@鸢尾嵌宇 你用这个去初始化那你肯定要自己去控制了 我说的是用我的v播放视图去初始化是可以直接添加的 你自己重新封装播放页面
        鸢尾嵌宇:@阿唯不知道
        [[IJKFFMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:url] withOptions:options]
        添加此行代码,才能播放视频,而在cell的类中调用,每次拿到,都要再次把ijk的view添加到cell上,cell滑动下一个单元格,都添加一个ijk
        添加之前调用以下方法都不管用,泪流满面~

        [self.playerCtrl pause];
        [self.playerCtrl stop];
        [self.playerCtrl shutdown];
        [self.playerCtrl.view removeFromSuperview];
        self.playerCtrl = nil;
        阿唯不知道:@鸢尾嵌宇 cell上播放就把播放器视图添加到cell上去
      • pFruHMXB:感谢

      本文标题:iOS开发 - 基于ijkPlayer的播放器框架

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