你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS 直播-實現後台錄音並推流

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切入後台會發現屏幕頂部會有一條紅色條,然後用播放器播放會發現錄音與推流成功.

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved