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

来源:互联网 发布:为什么建设网络强国 编辑:程序博客网 时间:2024/05/16 13:58

对于我们的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);//保证不关闭原来的socketCFReadStreamSetProperty(readStream, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanFalse);//设置成voip socketCFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);

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

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

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

原文:帅气的连接

2 0