iOS 直播-实现后台录音并推流

iOS 直播-实现后台录音并推流


从一个月前开始开始接收公司的直播类app.到今天为止测试都已接近尾声,但是产品哥哥加了一个要求,就是在app进入后台后也实时保证录音并且推流.
刚听到这个的时候我也是懵逼的,可是冷静下来找资料,还是有所收获的,在此分享一下.
对于我们的app要求后台也实时录音并推流主要要注意两点:

  • 保证app进入后台后实时录音
  • 保证app进入后台后实时推流

1.设置应用为voip应用

打开-info.plist文件,加入如下的key

Required background modes,追加

//保证app进入后台后实时录音
App plays audio or streams audio/video using AirPlay
//保证app进入后台后实时推流
App provides Voice over IP services

2.将socket设置成异步模式,并将socket设置成VOIP类的,以便系统能够托管它。

CFStreamCreatePairWithSocket(NULL, (CFSocketNativeHandle)(mosq->sock), &readStream, NULL);
//保证不关闭原来的socket
CFReadStreamSetProperty(readStream, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanFalse);
//设置成voip socket
CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);

3.安装keepAliveTimeout handler,让系统每隔一段时间重新建立连接

UIApplication *application = [UIApplication sharedApplication];
[application setKeepAliveTimeout:600 handler:^{
    [self reconnect];
}];

到这里command + R 运行程序,开始直播然后将app切入后台会发现屏幕顶部会有一条红色条,然后用播放器播放会发现录音与推流成功.

转载于:https://www.cnblogs.com/xubaoaichiyu/p/5660597.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值