iOS 直播-实现后台录音并推流
程序员文章站
2022-10-30 18:13:41
从一个月前开始开始接收公司的直播类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切入后台会发现屏幕顶部会有一条红色条,然后用播放器播放会发现录音与推流成功.
上一篇: 字符操作普通帮助类
下一篇: SQL中排除某一列代码字段含有字母的记录