照片/视频捕捉功能
小视频/直播
AVFoundation
- 捕捉会话: AVCaptrueSession
- 捕捉设备: AVCaptureDevice
- 捕捉设备输入: AVCaptureDeviceInput
- 捕捉设备输出: AVCaptureOutput 抽象类
- AVCaptureStillImageOutput
- AVCaptureMovieFileOutput
- AVCaptureAudioDataOutput
- AVCaptureVideoDataOutput
- 捕捉连接: AVCaptureConnection
- 捕捉预览: AVCaptureVideoPreviewLayer
案例笔记
屏幕快照 2020-11-12 下午8.47.32.pngCameraController 类
目的: 视频/照片的捕捉
设置Session
-
初始化
-
设置分辨率
-
配置输入设备(注意转换为AVCaptureDeviceInput)
-
配置输入设备包括音频输入,视频输入
-
配置输出(静态图像输出,视频文件输出)
-
在位Session添加输入输出时,注意一定判断能否添加。原因是摄像头并不隶属任何一个APP,他是一个公共设备。
屏幕快照 2020-11-12 下午9.05.59.png -
因为案例中涉及摄像头、相册、麦克风等,需要给用户做提醒,处理隐私需求。修改Plist:
- 通讯录 -- 请允许访问该设备的通讯录
- 相册 -- 请允许访问该设备的相册
- 相机 -- 请允许访问该设备的相机
- 麦克风 -- 请允许访问该设备的麦克风
- 地理位置 -- 请允许使用位置服务
- 蓝牙 -- 请允许访问该设备的蓝牙
- 使用期间访问地址位置 -- 使用期间访问地址位置
- 日历 -- 请允许访问该设备的日历
切换前后摄像头
iOS基本上有两个摄像头:前置/后置摄像头,默认是后置摄像头
屏幕快照 2020-11-12 下午9.26.49.png 屏幕快照 2020-11-12 下午9.27.32.png 屏幕快照 2020-11-12 下午9.28.13.png 屏幕快照 2020-11-12 下午9.28.22.png 屏幕快照 2020-11-12 下午9.28.29.png
捕捉设备(聚焦/曝光)
在修改设备动作时,需要判断该设备是否支持
屏幕快照 2020-11-12 下午10.56.25.png 屏幕快照 2020-11-12 下午10.54.48.png
- 配置session
- device 修改!(前后摄像头/聚焦/曝光/闪光灯/手电筒)
网友评论