`
weiqingfei
  • 浏览: 317072 次
  • 性别: Icon_minigender_1
  • 来自: 黑洞
社区版块
存档分类
最新评论

关于....AVCaptureSession

    博客分类:
  • IOS
 
阅读更多

之所以把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可不仅仅只是视频,为啥要用它来初始化呢?

 

 

分享到:
评论

相关推荐

    iOS 系统自带的扫二维码

    在使用`AVFoundation`进行二维码扫描时,主要涉及到`AVCaptureMetadataOutput`和`AVCaptureSession`两个类。 1. **AVCaptureSession**: 这是`AVFoundation`框架中的核心类,负责管理和协调输入源(如摄像头)与输出...

    ios-条形码、二维码.zip

    本压缩包“ios-条形码、二维码.zip”包含了关于如何在iOS应用中实现这一功能的相关资源。下面将详细阐述相关知识点。 一、条形码和二维码的基本概念 1. 条形码:一种由宽度不等的多个黑条和白条组成的图形符号,...

    ios-关于相机的操作自定义相机,新增缩放,聚焦功能。.zip

    本项目“ios-关于相机的操作自定义相机,新增缩放,聚焦功能”就是一个针对这一需求的示例实现。下面我们将详细探讨其中涉及的关键知识点。 首先,iOS中的相机操作主要通过`AVFoundation`框架来完成,特别是`...

    iOS相机相册

    以上就是关于iOS相机相册功能的实现细节,从调用摄像头拍照到访问相册选择图片,再到多图片操作,这些知识点涵盖了iOS多媒体处理的基础部分。在实际开发中,可以根据项目需求进一步定制功能,例如添加滤镜、编辑图片...

    ios-二维码.zip

    在iOS开发中,二维码(QR code)是一种广泛用于数据交换的条形码格式,它可以...以上就是关于在iOS应用中实现二维码扫描和生成的关键知识点,通过理解并运用这些技术,你可以构建出高效、稳定且用户友好的二维码功能。

    iOS手把手教你实现微信小视频共13页.pdf.zip

    【标题】:“iOS手把手教你实现微信小视频共13页.pdf.zip” 指向的是一个关于在iOS平台上开发微信小视频功能的教学资源。这个压缩包可能包含了一个详细的PDF教程,总计13页,旨在指导开发者如何在自己的iOS应用中...

    拍照器扫描

    关于“闪光灯长亮”,`UIImagePickerController`提供了控制闪光灯的方法。在创建`UIImagePickerController`时,你可以设置`allowsEditing`为`false`,避免用户编辑图片。对于闪光灯,可以使用`setFlashMode(_:for:)`...

    iOSMp4Camera

    以下是关于iOS视频录制和MP4转换的一些关键知识点: 1. **AVFoundation框架**:iOS平台上的多媒体处理主要依赖于AVFoundation框架。它提供了录制、编辑和播放音频与视频的能力。在"iOSMp4Camera"中,...

    iOS开发-AVFoundation.zip

    这个压缩包“iOS开发-AVFoundation.zip”很可能包含了一系列关于如何在iOS应用中使用AVFoundation的教程、代码示例或者项目模板。 AVFoundation框架是Apple为开发者设计的多媒体编程接口,它覆盖了音频和视频的各个...

    GAVideoRecordDemo.zip

    2. **AVCaptureSession**:录制视频的核心是`AVCaptureSession`对象,它负责处理音频和视频数据流。开发者可以设置输入和输出设备,以及各种配置参数,如分辨率、帧率等。 3. **AVCaptureVideoDataOutput**:这是一...

    ios-QRCode.zip

    要创建一个二维码扫描器,首先需要创建一个`AVCaptureSession`实例,然后添加输入(`AVCaptureDeviceInput`,通常是摄像头设备)和输出(`AVCaptureMetadataOutput`)。 4. **设置输出回调**: 通过设置`...

    iOS系统自带二维码扫描

    2. **AVCaptureSession**:AVCaptureSession是AVFoundation的核心组件,负责管理输入源(如摄像头)和输出目标之间的数据流。在创建二维码扫描器时,我们需要设置一个AVCaptureSession实例,并添加相应的输入和输出...

    IOS应用源码之CameraViewDemo.zip

    【CameraViewDemo.zip】是一个关于iOS应用开发的源码示例,主要展示了如何在iOS应用中集成和使用Camera功能。这个项目名为"CameraViewDemo",我们可以从这个名字推测,它可能是一个简单的iOS应用,用于演示如何创建...

    【应用】-用摄像头进行条码扫描识别.7z

    标题中的“【应用】-用摄像头进行条码扫描识别.7z”表明这是一个关于使用摄像头在iOS设备上实现条码扫描识别的应用程序源代码。这个压缩包可能包含了开发这样一个功能所需的全部代码资源。 描述虽然简洁,但暗示了...

    IOS应用源码之获取本地视频库和获取摄像头视频流 VideoUpload .zip

    以下是关于这个主题的详细知识点: 1. **访问本地视频库** - **Photos Framework**: iOS中用于访问用户的照片和视频库的主要API是Photos Framework。它取代了旧的UIImagePickerController,提供了更灵活的控制和...

    完整版用API实现视频捕捉2.rar

    在“完整版用API实现视频捕捉2.rar”这个压缩包中,我们可以推测包含的是一个关于如何通过API来捕获视频的详细教程或者代码示例。下面将详细介绍API在视频捕捉中的应用及相关知识点。 1. API的基本概念: API是一组...

    IOS应用源码Demo-二维码扫描应用demo-毕设学习.zip

    这个项目的核心功能是实现二维码扫描,因此我们可以从中学习到iOS开发中关于二维码识别和处理的相关知识点。 1. **iOS开发环境**:首先,你需要安装Xcode,这是Apple官方提供的iOS应用开发工具。Xcode包含了...

    二维码扫描应用demo.zipIOS应用例子源码下载

    这是一个关于iOS平台上的二维码扫描应用源码的示例项目,非常适合初学者、个人开发者或公司团队进行学习和参考。在iOS应用开发中,二维码扫描功能是常见的需求,它能够帮助用户快速获取信息,如网址、联系人信息或者...

    IOS应用源码——二维码生成器.zip

    3. **扫描二维码**:如果应用支持扫描功能,那么会有一个AVCaptureSession实例,配置相应的输入输出,并监听metadataObjectAvailable delegate方法来处理扫描结果。 4. **错误处理**:处理可能的编码或解码错误,...

    ios-swift--定位、二维码识别扫描、键盘高度等.zip

    对于二维码扫描,我们可以创建一个AVCaptureMetadataOutput对象,设置其metadataObjectTypes为QRCode,然后将输出连接到一个AVCaptureSession。当扫描到二维码时,会触发AVCaptureMetadataOutputObjectsDelegate的...

Global site tag (gtag.js) - Google Analytics