1

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...
4

2 に答える 2

1

https://forums.developer.apple.com/thread/62624での返信に基づいて、この問題を修正しました

これは間違いなく iOS のバグです。Info.plist から「ローカリゼーション ネイティブ開発リージョン」エントリを削除すると、この問題が解決するようです。

于 2017-11-15T20:21:48.533 に答える