Ios AVCaptureVideoOrientation无法正常工作

Ios AVCaptureVideoOrientation无法正常工作,ios,swift,avcapturesession,Ios,Swift,Avcapturesession,我知道这个问题到处都是,但我使用的每一个答案都不会影响结果。我的问题是,视频方向始终是横向的,我被告知这是默认的视频方向。我希望它处于用户手持iPhone的任何方向(主要是纵向),下面是我用来实现这一点的代码: previewLayer = AVCaptureVideoPreviewLayer(session: captureSession) self.cameraView.layer.addSublayer(previewLayer!) //

我知道这个问题到处都是,但我使用的每一个答案都不会影响结果。我的问题是,视频方向始终是横向的,我被告知这是默认的视频方向。我希望它处于用户手持iPhone的任何方向(主要是纵向),下面是我用来实现这一点的代码:

        previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
        self.cameraView.layer.addSublayer(previewLayer!)

        // Tell the preview layer the orientation to display
        self.previewLayer?.frame = self.view.bounds

        if let connection =  self.previewLayer?.connection  {
            let currentDevice: UIDevice = UIDevice.currentDevice()
            let orientation: UIDeviceOrientation = currentDevice.orientation

            let previewLayerConnection : AVCaptureConnection = connection

            if (previewLayerConnection.supportsVideoOrientation)
            {
                switch (orientation)
                {
                case .Portrait:
                    previewLayerConnection.videoOrientation = AVCaptureVideoOrientation.Portrait
                    break
                case .LandscapeRight:
                    previewLayerConnection.videoOrientation = AVCaptureVideoOrientation.LandscapeLeft
                    break
                case .LandscapeLeft:
                    previewLayerConnection.videoOrientation = AVCaptureVideoOrientation.LandscapeRight
                    break
                case .PortraitUpsideDown:
                    previewLayerConnection.videoOrientation = AVCaptureVideoOrientation.PortraitUpsideDown
                    break


                default:
                    previewLayerConnection.videoOrientation = AVCaptureVideoOrientation.Portrait
                    break
                }
            }
        }

        captureSession.startRunning()
    }
由于某种原因,这不起作用,我最终还是把风景中的一切都留下了。我认为问题在于previewLayer,我觉得我应该将它分配给其他对象,而不是:

previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)

因为否则它应该工作,但我不知道该做什么请帮助我,我已经在这几个小时了

你设法弄明白了吗?我也有同样的问题!不,我不知道!如果你愿意的话,你可以在这个问题上悬赏。事实上,我发现我正在将我的
视频定位设置为在我的代码中的其他地方进行横向搜索。我建议在你的captureOutput委托方法中打印视频方向,看看它是什么方向。好的,谢谢你的帮助。你找到了吗?我也有同样的问题!不,我不知道!如果你愿意的话,你可以在这个问题上悬赏。事实上,我发现我正在将我的
视频定位设置为在我的代码中的其他地方进行横向搜索。我建议在你的captureOutput委托方法中打印出视频方向,看看它是什么方向。好的,谢谢你的帮助