如何解决从后台重新打开应用后,ReplayKit screenCapture失败
使用RPScreenRecorder.shared().startCapture(...)
在iOS中使用Swift捕获应用程序屏幕。一切正常,直到应用程序进入后台,当我重新打开它时,我在控制台Operation Interrupted Optional(Error Domain=AVFoundationErrorDomain Code=-11847 "Operation Interrupted" UserInfo={NSLocalizedRecoverySuggestion=Stop other operations and try again.,NSLocalizedDescription=Operation Interrupted,NSUnderlyingError=0x282a92c10 {Error Domain=NSOSStatusErrorDomain Code=-16121 "(null)"}})
中收到以下错误消息
有谁知道如何解决这个问题?
以下是我的startCapture()
方法的完整代码
recorder.startCapture(handler:
{ (sample,bufferType,error) in
if CMSampleBufferDataIsReady(sample)
{
DispatchQueue.main.async { [weak self] in
if self?.assetWriter.status == AVAssetWriter.Status.unknown {
print("AVAssetWriterStatus.unknown")
if !(self?.assetWriter.startWriting())! {
return
}
self?.assetWriter.startSession(atSourceTime: CMSampleBufferGetPresentationTimeStamp(sample))
self?.startSesstion = true
}
}
if self.assetWriter.status == AVAssetWriter.Status.failed {
print("Error occured,status = \(self.assetWriter.status.rawValue),\(self.assetWriter.error!.localizedDescription) \(String(describing: self.assetWriter.error))")
return
}
if (bufferType == .video)
{
if self.videoInput.isReadyForMoreMediaData
{
self.videoInput.append(sample)
}
}
if (bufferType == .audioMic)
{
if self.audioInput.isReadyForMoreMediaData
{
self.audioInput.append(sample)
}
}
}
}) { (error) in
if((error) != nil) {
print("Something went wrong when starting the capture \(String(describing: error))");
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。