iOS 直播-實現後臺錄音並推流 – iPhone手機開發 iPhone軟體開發教學課程

從一個月前開始開始接收公司的直播類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切入後臺會發現屏幕頂部會有一條紅色條,然後用播放器播放會發現錄音與推流成功.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *