UIKit-Camera

AVCaptureDevice.DeviceType

AVCaptureDeviceInput

负责将AVCaptureDevice 转换为输入流,方便captureSession捕捉

AVCapturePreviewLayer

控制的是 AVCaptureVideoPreviewLayer 如何呈现捕捉到的视频内容

AVLayerVideoGravity

resizeAspect

保持视频的原始纵横比,并根据预览层的尺寸进行缩放,确保视频完整地显示在视图中,但可能会出现黑边。

resizeAspectFill

按比例缩放视频内容,以确保填满整个预览层的尺寸,但这可能会导致部分视频内容超出视图的边界(被裁剪掉)。也就是说,它保持视频的纵横比,但会放大视频以完全覆盖预览层。

可以保证没有黑边

resize

忽略视频的纵横比,直接拉伸视频以适应预览层的尺寸。

相关推荐
HarderCoder1 天前
Swift 内存管理:吃透 ARC 、weak、unowned
ios·swift
HarderCoder1 天前
【Swift 访问控制全解析】一篇就够:从 open 到 private,让接口与实现各就其位
swift
HarderCoder1 天前
Swift 6 实战:从“定时器轮询”到 AsyncSequence 的优雅实时推送
swift
Daniel_Coder1 天前
iOS Widget 开发-9:可配置 Widget:使用 IntentConfiguration 实现参数选择
ios·swiftui·swift·widget·intents
非专业程序员Ping1 天前
Vibe Coding 实战!花了两天时间,让 AI 写了一个富文本渲染引擎!
ios·ai·swift·claude·vibecoding
m0_495562782 天前
Swift的逃逸闭包
服务器·php·swift
m0_495562782 天前
Swift-static和class
java·服务器·swift
ajassi20002 天前
开源 Objective-C IOS 应用开发(二)Xcode安装
ios·objective-c·xcode
m0_495562783 天前
Swift-GCD和NSOperation
ios·cocoa·swift
HarderCoder3 天前
Swift 并发:我到底该不该用 Actor?——一张决策图帮你拍板
swift