5

我正在使用重播工具包在游戏过程中保存我的屏幕视频,但有时是随机的,startRecordingWithMicrophoneEnabled并且recorder.stopRecordingWithHandler从不进入完成处理程序

它不会抛出错误,它只是无限期地运行和挂起。

if recorder.available && recorder.microphoneEnabled {
    recorder.startRecordingWithMicrophoneEnabled(true) { [unowned self] (error) in
        if let unwrappedError = error {
            print(unwrappedError.localizedDescription)
        } else {
            print("called")
            self.manager.instructions.text = "Click to Start Game"
        }
    }
}

if recorder.available && recorder.microphoneEnabled {
    print("initiating stop recording")
    recorder.stopRecordingWithHandler { [unowned self] (RPPreviewViewController, error) in
        print("in completion handler")
        if let previewView = RPPreviewViewController {
            print("will transition to gameplay video")
            previewView.previewControllerDelegate = self
            self.presentViewController(previewView, animated: true, completion: nil)
            self.sessionHandler.session.stopRunning()
        }
    }
}
4

2 回答 2

0

我有同样的问题,只是找到了它的原因(或者可能只是一个原因)。如果您的设备连接到无法访问互联网的 WiFi,则会出现此问题。如果您将其连接到可以访问互联网的 WiFi 或禁用 WiFi,它就可以正常工作。我猜在开始录制时,ReplayKit 会尝试连接到一些 Apple 服务器,但从未连接到它们,也永远不会超时。您可以在 App Store 中观察到相同的行为。当您连接到没有互联网的 WiFi 时,它会尝试永远加载商店并且永远不会超时。

于 2017-09-13T14:23:49.290 回答
0

我得到了同样的东西。在一台设备上工作,而不是在另一台设备上工作。唯一的区别是工作设备在 iOS 版本 10.1.0 上,另一个是 iOS 版本 10.0.2 - 升级到 10.2.0 并立即开始工作。

于 2016-12-22T03:24:47.163 回答