简体   繁体   English

录像时如何切换相机? (例如:Snapchat,Facebook..etc)

[英]How to switch camera while video recording? (Ex: Snapchat, Facebook..etc)

I'm trying to switch camera while recording video like 'Snapchat' and 'Facebook' behavior. 我正在尝试在录制“ Snapchat”和“ Facebook”行为之类的视频时切换相机。 Switch camera work fine before start record video, but need to handle it separately when recording. 在开始录制视频之前,请先切换摄像机的工作状况,但录制时需要分开处理。

Any help appreciate... 任何帮助表示赞赏...

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()
        }

    }

You can try to write your frames with AVAssetWriter . 您可以尝试使用AVAssetWriter编写框架。 Here you can find an example. 在这里您可以找到一个例子。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM