AVFoundation照片/视频捕捉功能 小视频/直播

AVFoundation

  • 捕捉会话: AVCaptrueSession
  • 捕捉设备: AVCaptureDevice
  • 捕捉设备输入: AVCaptureDeviceInput
  • 捕捉设备输出: AVCaptureOutput 抽象类
    • AVCaptureStillImageOutput
    • AVCaptureMovieFileOutput
    • AVCaptureAudioDataOutput
    • AVCaptureVideoDataOutput
  • 捕捉连接: AVCaptureConnection
  • 捕捉预览: AVCaptureVideoPreviewLayer

案例笔记

屏幕快照 2020-11-12 下午8.47.32.png

CameraController 类
目的: 视频/照片的捕捉

设置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 修改!(前后摄像头/聚焦/曝光/闪光灯/手电筒)

猜你喜欢

转载自blog.csdn.net/qq_21743659/article/details/110088138
今日推荐