Ios AVCaptureVideoOrientation无法正常工作
我知道这个问题到处都是,但我使用的每一个答案都不会影响结果。我的问题是,视频方向始终是横向的,我被告知这是默认的视频方向。我希望它处于用户手持iPhone的任何方向(主要是纵向),下面是我用来实现这一点的代码:Ios AVCaptureVideoOrientation无法正常工作,ios,swift,avcapturesession,Ios,Swift,Avcapturesession,我知道这个问题到处都是,但我使用的每一个答案都不会影响结果。我的问题是,视频方向始终是横向的,我被告知这是默认的视频方向。我希望它处于用户手持iPhone的任何方向(主要是纵向),下面是我用来实现这一点的代码: previewLayer = AVCaptureVideoPreviewLayer(session: captureSession) self.cameraView.layer.addSublayer(previewLayer!) //
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委托方法中打印出视频方向,看看它是什么方向。好的,谢谢你的帮助