ReplayKit を使用して ARKit アプリをビデオ キャプチャしようとしています。録音ボタンがあり、押すと赤くなり、録音を開始し、もう一度押すと白くなり、録音を停止します。
しかし、stopRecording メソッドは最初は機能しませんでした。
もしrecorder.isAvailable {recorder.delegate =自己
if recorder.isRecording {
print("Recorder is recording...")
// Stop recording
recorder.stopRecording { previewController, error in
print("Stop recording...")
self.recordImage.color = UIColor.white
self.recordImage.colorBlendFactor = 1
if let controller = previewController {
controller.previewControllerDelegate = self
self.present(controller, animated:true, completion:nil)
}
}
}
else {
// Start recording
recorder.startRecording { error in
print("Starting to record…")
if error == nil {
print("Start Recording…")
self.recordImage.color = UIColor.red
self.recordImage.colorBlendFactor = 1
}
}
}
最初に押すと、録音が開始されたことがわかります。その後、もう一度押すと、recorder.isRecording が入力されていることがわかりますが、recorder.stopRecording 内のブロックが機能しません。もう一度押して録音を開始し、recorder.stopRecording ブロックに入る前にもう一度停止する必要があります。
何か案が?助けていただければ幸いです。
Press Record!
Starting to record…
Start Recording…
Press Record!
Recorder is recording...