【发布时间】:2018-03-23 05:20:54
【问题描述】:
有没有办法在不使用 AVCaptureVideoPreviewLayer 的情况下显示相机图像? 我想做截屏,但是我做不到。
session = AVCaptureSession()
camera = AVCaptureDevice.default(
AVCaptureDevice.DeviceType.builtInWideAngleCamera,
for: AVMediaType.video,
position: .front) // position: .front
do {
input = try AVCaptureDeviceInput(device: camera)
} catch let error as NSError {
print(error)
}
if(session.canAddInput(input)) {
session.addInput(input)
}
let previewLayer = AVCaptureVideoPreviewLayer(session: session)
cameraView.backgroundColor = UIColor.red
previewLayer.frame = cameraView.bounds
previewLayer.videoGravity = AVLayerVideoGravity.resizeAspect
cameraview.layer.addSublayer(previewLayer)
session.startRunning()
我目前正在尝试广播屏幕截图。就是合成摄像头图像和一些UIView。但是,如果您使用 AVCaptureVideoPreviewLayer 则无法完成屏幕捕获并且不会显示相机图像。因此,我想显示相机图像以便进行屏幕捕获。
【问题讨论】:
-
是的,实际上有几种方法。但是你的目标到底是什么? “我想做屏幕截图,但我做不到”看起来很重要,所以最好重新表述整个事情并直接提出问题。请包括预期结果和您当前的结果。
-
@Matic Oblak 谢谢!我目前正在尝试播放屏幕截图。就是合成摄像头图像和一些UIView。但是,如果您使用 AVCaptureVideoPreviewLayer 则无法完成屏幕捕获并且不会显示相机图像。因此,我想显示相机图像,以便可以执行屏幕捕获。