我正在使用AVFoundation在我的IOS应用中捕捉视频。我能够录制视频并能够播放。
但我的问题是我在一个大约200点高度的视图中显示捕获视频。所以我预计视频将以相同的尺寸记录。但是当我播放视频时,它显示整个屏幕都有记录了。
所以我想知道有没有办法记录只供用户看到的相机预览。应该感谢任何帮助。
截图: () ()
答案 0 :(得分:0)
您无法根据UIView尺寸(甚至是屏幕尺寸)来考虑视频分辨率。相机将根据您设置AVCaptureSession的方式以特定分辨率进行录制。例如,您可以通过以下方式设置会话预设来更改视频质量:
[self.captureSession setSessionPreset:AVCaptureSessionPreset640x480]
(默认情况下已设置为最高设置。)
现在,当您播放视频时,您可以对其呈现方式进行一些控制。例如,如果您想在较小的视图中播放(谁的图层是AVPlayerLayer类型),您可以通过以下方式设置视频重力:
AVCaptureVideoPreviewLayer *previewLayer = (AVCaptureVideoPreviewLayer*)self.previewView.layer;
[previewLayer setVideoGravity:AVLayerVideoGravityResizeAspect];
根据你传递的重力参数,你会得到不同的结果。
希望这会有所帮助。您的问题有点不清楚,因为您似乎希望相机仅记录一定数量的输入,但您必须将手放在镜头的一部分上才能完成此操作;)