Ios ReplayKit在重复进入后台后停止缓冲
我正在尝试使用ReplayKit在我的应用程序中创建一个实时广播。 基本上,我想分享我的屏幕,并看到其他用户的屏幕 要获取缓冲区,ReplayKit提供了下一个函数:Ios ReplayKit在重复进入后台后停止缓冲,ios,swift,replaykit,Ios,Swift,Replaykit,我正在尝试使用ReplayKit在我的应用程序中创建一个实时广播。 基本上,我想分享我的屏幕,并看到其他用户的屏幕 要获取缓冲区,ReplayKit提供了下一个函数: func startCapture(handler captureHandler: ((CMSampleBuffer, RPSampleBufferType, Error?) -> Void)?, completionHandler: ((Error?) -> Void)? = nil) 这是我启动ReplayKit
func startCapture(handler captureHandler: ((CMSampleBuffer, RPSampleBufferType, Error?) -> Void)?, completionHandler: ((Error?) -> Void)? = nil)
这是我启动ReplayKit并获取缓冲区的方法:
private func startRecording() {
RPScreenRecorder.shared().startCapture(handler: { (sampleBuffer, bufferType, error) in
switch bufferType {
case RPSampleBufferType.video:
// Handle buffer and send it to server
break
case RPSampleBufferType.audioApp:
break
case RPSampleBufferType.audioMic:
break
}
}, completionHandler: nil)
}
这很好,但我面临下一个问题;如果屏幕不断变化,比如闪烁的按钮,当我将应用程序发送到后台并返回几次时,它将停止调用其捕获处理程序
可能问题在于功能startCapture
用于在有限的时间内录制屏幕,而不是用于实况广播
有一个闪烁的按钮,显示我的问题;ReplayKit正常运行,直到重复进入后台;然后它停止运行,使它再次工作的唯一方法是重新启动设备