之所以把AVCaptureSession放到标题,应该是因为这东西是所有设备的管理器吧。
AVCaptureSession管理一个输入,一个输出。
输入的话比较简单,就是一个
- AVCaptureDeviceInput
输入出比较多了,大概有以下多种
- AVCaptureAudioDataOutput
- AVCaptureMovieFileOutput
- AVCaptureMetadataOutput
- AVCaptureStillImageOutput
- AVCaptureVideoDataOutput
对于输入的话,当然需要指定一个设备了,那就是用AVCaptureDevice,
由于输入设备也有很多种,所以初始化
AVCaptureDevice时,要指定是哪种了
class func defaultDeviceWithMediaType(_
mediaType
: String!) -> AVCaptureDevice!
好多阿
AVMediaTypeVideo
AVMediaTypeAudio
AVMediaTypeText
AVMediaTypeClosedCaption
AVMediaTypeSubtitle
AVMediaTypeTimecode
AVMediaTypeMetadata
AVMediaTypeMuxed
输出的话,根据输出类型不同,有各种各样的delegate了,在delegate里出力各种输出的数据。
把输入输入装配好,AVCaptureSession就像一台机器一样要启动了
AVCaptureSession.startRunning
当然能启动也必须能停啊
AVCaptureSession.stopRunning
另外当用户更改了输入或者输出配置时咋办呢?
AVCaptureSession给我们准备了两个方法
- beginConfiguration
- commitConfiguration
只要把更改放到这两个方法中间就可以啦,是不是很像pl/sql呢?
到现在为止,这一切都是在暗中进行的,用户啥也看不见啊。当然对于一些音频,看不见也就看不见吧,但是视频的话,必须要有个预览窗口吧。
这时候,就是该AVCaptureVideoPreviewLayer上场的时候了。
这个东西的初始化有点奇怪,因为它是由AVCaptureSession来初始化的,那么问题来了,AVCaptureSession可不仅仅只是视频,为啥要用它来初始化呢?
相关推荐
在使用`AVFoundation`进行二维码扫描时,主要涉及到`AVCaptureMetadataOutput`和`AVCaptureSession`两个类。 1. **AVCaptureSession**: 这是`AVFoundation`框架中的核心类,负责管理和协调输入源(如摄像头)与输出...
本压缩包“ios-条形码、二维码.zip”包含了关于如何在iOS应用中实现这一功能的相关资源。下面将详细阐述相关知识点。 一、条形码和二维码的基本概念 1. 条形码:一种由宽度不等的多个黑条和白条组成的图形符号,...
首先,我们需要创建一个`AVCaptureSession`实例,它是所有输入和输出设备的容器。接着,添加`AVCaptureDeviceInput`来连接摄像头,确保设备支持拍照功能: ```swift guard let captureDevice = AVCaptureDevice....
本项目“ios-关于相机的操作自定义相机,新增缩放,聚焦功能”就是一个针对这一需求的示例实现。下面我们将详细探讨其中涉及的关键知识点。 首先,iOS中的相机操作主要通过`AVFoundation`框架来完成,特别是`...
以上就是关于iOS相机相册功能的实现细节,从调用摄像头拍照到访问相册选择图片,再到多图片操作,这些知识点涵盖了iOS多媒体处理的基础部分。在实际开发中,可以根据项目需求进一步定制功能,例如添加滤镜、编辑图片...
在iOS开发中,二维码(QR code)是一种广泛用于数据交换的条形码格式,它可以...以上就是关于在iOS应用中实现二维码扫描和生成的关键知识点,通过理解并运用这些技术,你可以构建出高效、稳定且用户友好的二维码功能。
【标题】:“iOS手把手教你实现微信小视频共13页.pdf.zip” 指向的是一个关于在iOS平台上开发微信小视频功能的教学资源。这个压缩包可能包含了一个详细的PDF教程,总计13页,旨在指导开发者如何在自己的iOS应用中...
关于“闪光灯长亮”,`UIImagePickerController`提供了控制闪光灯的方法。在创建`UIImagePickerController`时,你可以设置`allowsEditing`为`false`,避免用户编辑图片。对于闪光灯,可以使用`setFlashMode(_:for:)`...
以下是关于iOS视频录制和MP4转换的一些关键知识点: 1. **AVFoundation框架**:iOS平台上的多媒体处理主要依赖于AVFoundation框架。它提供了录制、编辑和播放音频与视频的能力。在"iOSMp4Camera"中,...
这个压缩包“iOS开发-AVFoundation.zip”很可能包含了一系列关于如何在iOS应用中使用AVFoundation的教程、代码示例或者项目模板。 AVFoundation框架是Apple为开发者设计的多媒体编程接口,它覆盖了音频和视频的各个...
2. **AVCaptureSession**:录制视频的核心是`AVCaptureSession`对象,它负责处理音频和视频数据流。开发者可以设置输入和输出设备,以及各种配置参数,如分辨率、帧率等。 3. **AVCaptureVideoDataOutput**:这是一...
要创建一个二维码扫描器,首先需要创建一个`AVCaptureSession`实例,然后添加输入(`AVCaptureDeviceInput`,通常是摄像头设备)和输出(`AVCaptureMetadataOutput`)。 4. **设置输出回调**: 通过设置`...
2. **AVCaptureSession**:AVCaptureSession是AVFoundation的核心组件,负责管理输入源(如摄像头)和输出目标之间的数据流。在创建二维码扫描器时,我们需要设置一个AVCaptureSession实例,并添加相应的输入和输出...
【CameraViewDemo.zip】是一个关于iOS应用开发的源码示例,主要展示了如何在iOS应用中集成和使用Camera功能。这个项目名为"CameraViewDemo",我们可以从这个名字推测,它可能是一个简单的iOS应用,用于演示如何创建...
标题中的“【应用】-用摄像头进行条码扫描识别.7z”表明这是一个关于使用摄像头在iOS设备上实现条码扫描识别的应用程序源代码。这个压缩包可能包含了开发这样一个功能所需的全部代码资源。 描述虽然简洁,但暗示了...
以下是关于这个主题的详细知识点: 1. **访问本地视频库** - **Photos Framework**: iOS中用于访问用户的照片和视频库的主要API是Photos Framework。它取代了旧的UIImagePickerController,提供了更灵活的控制和...
在“完整版用API实现视频捕捉2.rar”这个压缩包中,我们可以推测包含的是一个关于如何通过API来捕获视频的详细教程或者代码示例。下面将详细介绍API在视频捕捉中的应用及相关知识点。 1. API的基本概念: API是一组...
这个项目的核心功能是实现二维码扫描,因此我们可以从中学习到iOS开发中关于二维码识别和处理的相关知识点。 1. **iOS开发环境**:首先,你需要安装Xcode,这是Apple官方提供的iOS应用开发工具。Xcode包含了...
这是一个关于iOS平台上的二维码扫描应用源码的示例项目,非常适合初学者、个人开发者或公司团队进行学习和参考。在iOS应用开发中,二维码扫描功能是常见的需求,它能够帮助用户快速获取信息,如网址、联系人信息或者...
3. **扫描二维码**:如果应用支持扫描功能,那么会有一个AVCaptureSession实例,配置相应的输入输出,并监听metadataObjectAvailable delegate方法来处理扫描结果。 4. **错误处理**:处理可能的编码或解码错误,...