如何在肖像应用程序中录制风景video? (Swift 2,iPhone)

我需要在我的肖像iPhone应用程序中录制风景video。

是否有可能或被任何硬件限制阻止?

使用AVCaptureVideoPreviewLayer我能够更改预览方向,但video仍然以纵向方式录制。

欢迎任何想法!

您应该能够为video录制设置横向方向。 并将预览图层设置为纵向,以实现以纵向预览的横向video。 如果我理解你的问题。 你能展示你尝试过的任何代码吗?

if captureSession.canAddOutput(videoOutput) { captureSession.addOutput(videoOutput) let connection = videoOutput.connectionWithMediaType(AVMediaTypeVideo) if connection.supportsVideoOrientation { connection.videoOrientation = AVCaptureVideoOrientation.LandscapeRight } print("adding output") } else { print("Could not add front video output") return } ... func setupPreviewLayer() { ...etc... previewLayer.connection.videoOrientation = AVCaptureVideoOrientation.Portrait ...etc... } 

在纵向应用程序中播放横向video时遇到问题。 通过编写以下代码解决了这个问题。 在配置会话时添加以下代码:

 captureSession.addOutput(videoFileOutput) let videoDataOuputConnection = videoFileOutput.connection(with: .video) videoFileOutput.setRecordsVideoOrientationAndMirroringChangesAsMetadataTrack(true, for: videoDataOuputConnection!) 

在开始录制videofunction时,在开始录制之前添加以下代码:

 let videoDataOuputConnection = videoFileOutput.connection(with: .video) let orientation = UIDevice.current.orientation videoDataOuputConnection!.videoOrientation = AVCaptureVideoOrientation(rawValue: orientation.rawValue)! 

注意:videoFileOutput的类型为AVCaptureMovieFileOutput,captureSession的类型为AVCaptureSession