IOS开发入门之ReplayKit库,iOS原生直播神器
白羽 2018-11-23 来源 :网络 阅读 1296 评论 0

摘要:本文将带你了解IOS开发入门ReplayKit库,iOS原生直播神器,希望本文对大家学IOS有所帮助。

    本文将带你了解IOS开发入门ReplayKit库,iOS原生直播神器,希望本文对大家学IOS有所帮助。



        

前言

ReplayKit 是WWDC15推出的苹果原生录屏 API。在iOS9的时候主要提供的是录屏,录制完成后可以进行查看、编辑、通过指定方式分享出去。

在WWDC16上新版的 ReplayKit 提出了了 live 功能,简单说就是通过 ReplayKit 可以进行录屏直播。这对于苹果的手游直播行业有着很重要的意义。

首先给出视频地址和API文档

Go Live with ReplayKit - WWDC 2016 ReplayKit API Reference

简单测试

弹出可以接收广播的服务列表

新建工程,然后加入ReplayKit.frameword

添加一个按钮,然后按钮点击事件弹出广播服务的列表:


   

- (IBAction)displayServiceViewController:(id)sender {

    [RPBroadcastActivityViewController loadBroadcastActivityViewControllerWithHandler:^(RPBroadcastActivityViewController * _Nullable broadcastActivityViewController, NSError * _Nullable error) {

        broadcastActivityViewController.delegate = self;

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

    }];

}

   

 

 
 

 <喎?"/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxoMyBpZD0="mobcrush">Mobcrush

所以想要直播的游戏本身添加这样一个逻辑,弹出服务列表即可。而直播软件也只需要注册为直播服务,就可以直播任何支持的游戏,软件。国外最火最先支持的就是示例中左边的Mobcrush,官网,里面有手机游戏Tower Dash的直播,就是使用这个技术实现的,Tower Dash游戏直播页面为 - 这里这里,需要科学上网。

我录制了动态图展示:

 

 
 

 

动态图中可以看出支持摄像头录制,当然还有麦克风,这些已经满足了日常主播的基本需求。

国内

国内现在映客直播安装就直接有注册为广播服务,所以截图中列表里就有。我还安装了熊猫TV,虎牙直播,虎牙助手,虎牙手游。熊猫TV的主播权限还没有申请下来。虎牙手游貌似使用的也是这个技术,但是实现不一样,虎牙手游直接是在虎牙手游APP内部打开直播,提示成功之后,直接就进入了录屏模式,然后退出返回到手游界面开始游戏就可以。查看了虎牙直播平台,已经有主播使用了iPhone7进行王者荣耀直播,熊猫TV暂时还没有看到用iPhone直播手游的。

WWDC 2016

下面是观看WWDC16 记录的知识片段。

ReplayKit

新特性:

Apple TV support Live Broadcasting 直播广播,这个很有用,就是要研究的直播功能 可以记录 Face Time摄像头的内容,增强了麦克风记录API

 

 
 

 

录播功能

对于录播功能之前就已经有了一个典型的demo,可以直接看下面代码,放进原始功能的第一个viewcontroller里面就Ok了。



   

#import "ViewController.h"

#import <replaykit replaykit.h="">

 

static NSString *StartRecord = @"开始";

static NSString *StopRecord = @"结束";

 

#if TARGET_IPHONE_SIMULATOR

#define SIMULATOR 1

#elif TARGET_OS_IPHONE

#define SIMULATOR 0

#endif

 

#define AnimationDuration (0.3)

 

 

@interface ViewController () <rppreviewviewcontrollerdelegate>

{

 

}

@property (nonatomic, strong)UIButton *btnStart;

@property (nonatomic, strong)UIButton *btnStop;

@property (nonatomic, strong)NSTimer *progressTimer;

@property (nonatomic, strong)UIProgressView *progressView;

@property (nonatomic, strong)UIActivityIndicatorView *activity;

@property (nonatomic, strong)UIView *tipView;

@property (nonatomic, strong)UILabel *lbTip;

@property (nonatomic, strong)UILabel *lbTime;

 

@end

 

@implementation ViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

 

}

 

- (void)viewDidAppear:(BOOL)animated {

    BOOL isVersionOk = [self isSystemVersionOk];

 

    if (!isVersionOk) {

        NSLog(@"系统版本需要是iOS9.0及以上才支持ReplayKit");

        return;

    }

    if (SIMULATOR) {

        [self showSimulatorWarning];

        return;

    }

 

    UILabel *lb = nil;

    CGSize screenSize = [UIScreen mainScreen].bounds.size;

 

 

    //标题

    lb = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, <code class="java value"    

   

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程