Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 录像时如何切换摄像机?(例如:Snapchat、Facebook等)_Ios_Swift_Avfoundation_Avcapturesession_Avcapture - Fatal编程技术网

Ios 录像时如何切换摄像机?(例如:Snapchat、Facebook等)

Ios 录像时如何切换摄像机?(例如:Snapchat、Facebook等),ios,swift,avfoundation,avcapturesession,avcapture,Ios,Swift,Avfoundation,Avcapturesession,Avcapture,我试图在录制“Snapchat”和“Facebook”行为等视频时切换摄像头。在开始录制视频之前,切换摄像头可以正常工作,但录制时需要单独处理 任何帮助都感谢 public func switchCamera() { guard isVideoRecording != true else { //TODO: Handle switch camera when recording in here return }

我试图在录制“Snapchat”和“Facebook”行为等视频时切换摄像头。在开始录制视频之前,切换摄像头可以正常工作,但录制时需要单独处理

任何帮助都感谢

public func switchCamera() {

        guard isVideoRecording != true else {
            //TODO: Handle switch camera when recording in here


            return
        }

        guard session.isRunning == true else {
            return
        }

        switch currentCamera {
        case .front:
            currentCamera = .rear
        case .rear:
            currentCamera = .front
        }

        session.stopRunning()

        sessionQueue.async { [unowned self] in

            // remove and re-add inputs and outputs
            for input in self.session.inputs {
                self.session.removeInput(input as! AVCaptureInput)
            }

            // add new input
            self.addInputs()

            self.session.startRunning()
        }

    }

您可以尝试使用
AVAssetWriter
编写帧。您可以找到一个示例。

查看我的答案: