美文网首页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