UIKit-Camera

AVCaptureDevice.DeviceType

AVCaptureDeviceInput

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

AVCapturePreviewLayer

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

AVLayerVideoGravity

resizeAspect

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

resizeAspectFill

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

可以保证没有黑边

resize

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

相关推荐
大熊猫侯佩2 天前
WWDC 25 玻璃态星际联盟:SwiftUI 视图协同“防御协议”
swiftui·swift·wwdc
无知的前端4 天前
一文精通-Combine 框架详解及使用示例
ios·swift
无知的前端4 天前
一文读懂 - Swift 和 Objective-C 创建对象时内存分配机制
ios·性能优化·swift
杂雾无尘4 天前
分享一个让代码更整洁的 Xcode 开发小技巧:设置文件目标平台
ios·swift·apple
大熊猫侯佩4 天前
WWDC 25 极地冰原撸码危机:InlineArray 与 Span 的绝地反击
swift·apple·wwdc
东坡肘子5 天前
Xcode 26 beta 4,要崩我们一起崩 | 肘子的 Swift 周报 #096
swiftui·swift·apple
0wioiw05 天前
Apple基础(Xcode⑤-Flutter-Singbox-AI提示词)
flutter·macos·xcode
0wioiw05 天前
Apple基础(Xcode②-Flutter结构解析)
flutter·macos·xcode
0wioiw05 天前
Apple基础(Xcode④-Flutter-Platform Channels)
flutter·macos·xcode
杂雾无尘6 天前
解密 Swift 5.5 中的 @MainActor, 深入了解其优势与误区
ios·swift·客户端