首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏音视频直播技术专家

    「音视频直播技术」iOS视频采集

    基本概念 iPhone包括了摄像头,麦克风等设备,我们用 AVCaptureDevice 代表它们。 AVCaptureDevice对象代表了一个物理设备及与设备相关的属性。 可以使有 AVCaptureDevice 的类方法枚举所有有效的设备,并查询它们的能力。当设备有效或无效时,AVCaptureDevice会得到系统的通知。 根据视频类型 AVMediaTypeVideo,创建 AVCaptureDevice 对象。(可以创建视频设备也可以创建音频设备)。 以 AVCaptureDevice 为参数,创建 AVCaptureDeviceInput 对象。

    3.6K40发布于 2020-04-02
  • 来自专栏BY的专栏

    iOS设备闪光灯的使用

    我将其封装为类方法直接调用即可 /** 开或关 闪光灯 */ + (void)changeFlash { // 获取摄像机单例对象 AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; //必须判定是否有闪光灯,否则如果没有闪光灯会崩溃 if AVCaptureTorchModeOff; } [device unlockForConfiguration]; } /** 关灯 用于退出时调用 */ + (void)closeFlash { AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; if (!

    94270发布于 2018-05-11
  • 来自专栏日常开发

    iOS 音视频采集要点梳理(1)

    output 进 sesstion 中时,都会建立一个 connection用来管理他们,当然不限于一个 input 和 output,具体如下 image 2: [image 2] 常用视频采集涉及对象说明 AVCaptureDevice avCaptureSession.sessionPreset = AVCaptureSessionPreset1280x720; } 设置分辨率可参考官网文档中参数: [image 4] 添加inout //获取摄像头 AVCaptureDevice *captureDevice = [[AVCaptureDevice alloc] init]; NSArray *devices = [AVCaptureDevice devices]; for (AVCaptureDevice *device in devices) { if(device.position == AVCaptureDevicePositionFront) {

    1K20编辑于 2021-12-06
  • 来自专栏雨尘分享

    AVFoundation 视频拍摄基础篇

    1.常用的类 AVCaptureSession 捕捉绘画 相当于插板的功能承接输入和输出 AVCaptureDevice 捕捉设备 AVMediaTypeVideo/AVMediaTypeAudio self.captureSession.sessionPreset = AVCaptureSessionPresetHigh; //拿到默认视频捕捉设备 iOS系统返回后置摄像头 AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; //将捕捉设备封装成AVCaptureDeviceInput *audioDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio]; //为这个设备创建一个捕捉设备输入 videoConnection.enablesVideoStabilizationWhenAvailable = YES; } AVCaptureDevice

    1.4K20发布于 2021-02-05
  • 来自专栏LinXunFeng的专栏

    iOS - 视频采集详解

    为了管理从相机或者麦克风等这样的设备捕获到的信息,我们需要输入对象(input)和输出对象(output),并且使用一个会话(AVCaptureSession)来管理 input 和 output 之前的数据流: 类名 简介 AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; // 在这个方法中的 mediaType 有三个选项供我们使用 // AVMediaTypeVideo 视频 // AVMediaTypeAudio 音频 // AVMediaTypeMuxed 混合(视频 + 音频) + (nullable AVCaptureDevice *)defaultDeviceWithMediaType:(AVMediaType)mediaType; 但是这种方式只能获取到后置摄像头,如果想要获取前置摄像头,可使用 AVCaptureDevice *videoDevice; NSArray *devices = [AVCaptureDevice devices]; for (AVCaptureDevice *device in devices)

    1.8K30发布于 2018-06-29
  • 来自专栏LinXunFeng的专栏

    iOS - 采集音视频及写入文件

    设置视频输入源与输出源 // 设置视频输入源 guard let devices = AVCaptureDevice.devices() as? [AVCaptureDevice] else { return } // 获取我们的前置摄像头(后置为.back) guard let device = devices.filter({ $0.position output.setSampleBufferDelegate(self, queue: queue) self.videoOutput = output 设置音频的输入源与输出源 // 设置音频的输入源 guard let device = AVCaptureDevice.defaultDevice .back : .front guard let devices = AVCaptureDevice.devices() as? [AVCaptureDevice] else { return } guard let device = devices.filter({ $0.position == position }).first

    1.2K30发布于 2018-06-29
  • 来自专栏学海无涯

    iOS开发之扫描二维码

    AVCaptureDevice:输入设备,如麦克风、摄像头。 AVCaptureDeviceInput:设备输入数据管理对象,可以根据AVCaptureDevice创建对应的AVCaptureDeviceInput对象,该对象将会被添加到AVCaptureSession 运行环境:Xcode 8.3.2 + iOS 8. 4真机、iOS 10.3.1真机 核心步骤: 1、创建AVCaptureSession会话 2、创建AVCaptureDevice设备 3、创建输入 strong) AVCaptureVideoPreviewLayer *layer; @end @implementation ViewController #pragma mark - 懒加载 -(AVCaptureDevice *)device{ if (_device == nil) { _device = [AVCaptureDevice defaultDeviceWithMediaType

    2.5K40发布于 2018-05-03
  • 来自专栏DevTips

    01 使用 AVFoundation 构建相机

    高帧率下 Apple 弃用了这种方式,要求我们为 AVCaptureDevice 指定合适的 activeFormat 格式。 现在 AVCaptureSession 已经被创建完成,紧接着我们的任务是为它添加具体的采集输入设备 (AVCaptureDevice)。 在之前的文章中我们已经知道,AVCaptureDevice 是一个抽象类,每个具体的示例都会对应一个设备,例如摄像机或麦克风。 AVCaptureDevice 的创建有两种方式,第一种是通过 AVCaptureDevice 提供的类方法,另外一种是通过 AVCaptureDeviceDiscoverySession 提供的类方法 [AVCatpureDeviceInput deviceInputWithDevice:AVCaptureDevice error:NSError]; 接下来就是将 AVCaptureDeviceInput

    3.2K20发布于 2019-11-27
  • 来自专栏腾讯云终端专家服务

    iOS 音视频采集

    self, queue: DispatchQueue(label: "AudioQueue")) } private func getVideoInput(position: AVCaptureDevice.Position device: device) } return nil } private func getVideoCaptureDevice(position: AVCaptureDevice.Position ) -> AVCaptureDevice? { if #available(iOS 10.2, *) { var deviceTypes: [AVCaptureDevice.DeviceType] = [. deviceTypes.append(.builtInTrueDepthCamera) } let discoverySession = AVCaptureDevice.DiscoverySession

    1.5K20发布于 2020-11-27
  • 来自专栏iOSer成长记录

    iOS-AVFoundation自定义相机详解

    /** 该方法会返回当前能够输入视频的全部设备,包括前后摄像头和外接设备 NSArray *videoDevices = [AVCaptureDevice devicesWithMediaType :AVMediaTypeVideo]; 该方法会返回当前能够输入音频的全部设备 NSArray *videoDevices = [AVCaptureDevice devicesWithMediaType :AVMediaTypeAudio]; */ // 获取视频输入设备,该方法默认返回iPhone的后置摄像头 AVCaptureDevice *videoDevice = [AVCaptureDevice *audioDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio]; AVCaptureDeviceInput *device = (AVCaptureDevice *)object; if (!

    3.1K80发布于 2018-06-29
  • 来自专栏阿林前端开发攻城狮

    用代码打开IOS设备的闪光灯

    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; if (device.torchMode

    1.1K20发布于 2021-10-29
  • 来自专栏DevTips

    AVFoundation 框架介绍

    session.AVCaptureSession *captureSession = [[AVCaptureSession alloc] init]; // Lookup the default audio device.AVCaptureDevice *audioDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio]; // Wrap the audio device AVCaptureInput 与 AVCaptureSession 相关联,在 AVCaptureSession 上调用addInput: AVCaptureDeviceInput 捕获输入对象,用于从 AVCaptureDevice 创建 AVCaptureInput 时需要指定 AVCaptureDeviceAVCaptureDevice 决定了捕获的数据类型 AVCaptureScreenInput 提供录屏捕获输入 AVCaptureMetadataInput

    4K11发布于 2019-11-05
  • 来自专栏移动端开发

    AVFoundation 框架初探究(二)

    2、通过 AVCaptureDevice 的类方法 defaultDeviceWithMediaType 区别 MediaType 得到 AVCaptureDevice 对象。       3、得到上面的 AVCaptureDevice 对象之后,就是我们的 AVCaptureDeviceInput 输入对象了。 捕获设备类 AVCaptureDeviceInput 捕获设备输入类 */ AVCaptureDevice * captureDevice = [AVCaptureDevice * audioDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio]; AVCaptureDeviceInput 捕获设备类 AVCaptureDeviceInput 捕获设备输入类 */ AVCaptureDevice * videoDevice

    2.1K40发布于 2018-03-19
  • 来自专栏码客

    iOS 自定义UIImagePickerController

    cgimg); return img; } 自定义相机拍照视图 定义变量 //捕获设备,通常是前置摄像头,后置摄像头,麦克风(音频输入) @property (nonatomic, strong) AVCaptureDevice *device; //AVCaptureDeviceInput 代表输入设备,他使用AVCaptureDevice 来初始化 @property (nonatomic, strong) AVCaptureDeviceInput *)cameraWithPosition:(AVCaptureDevicePosition)position{ NSArray *devices = [AVCaptureDevice devicesWithMediaType :AVMediaTypeVideo]; for ( AVCaptureDevice *device in devices ) if ( device.position == position otherButtonTitles:nil]; [alert show]; } 前后置摄像头的切换 - (void)changeCamera{ NSUInteger cameraCount = [[AVCaptureDevice

    1.9K10发布于 2019-10-22
  • 来自专栏全栈程序员必看

    iOS二维码扫描

    添加四个私有成员,获取AVFoundation的“终端”、“输入”、“输出”、“管理员”对象: @implementation DTCameraPreviewController { AVCaptureDevice AVCaptureStillImageOutput *_imageOutput; AVCaptureSession *_captureSession; } 选取录制设备(摄像头或麦克风) AVCaptureDevice setupCamera方法,用来初始化若干个AVFoundation中用于录制的对象, - (void)_setupCamera { //获取到一个录制设备(摄像头) _camera = [AVCaptureDevice unlockForConfiguration]; } } } 抓取照片 完整的_setupCamera: - (void)_setupCamera { _camera = [AVCaptureDevice

    1.2K20编辑于 2022-09-12
  • 来自专栏攻城狮的动态

    iOS开发中的这些权限,你搞懂了吗?

    Restricted"); } }]; 相机和麦克风权限 导入头文件@import AVFoundation; 检查是否有相机或麦克风权限 AVAuthorizationStatus AVstatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];//相机权限 AVAuthorizationStatus AVstatus = [AVCaptureDevice AVAuthorizationStatusRestricted: NSLog(@"Restricted"); break; default: break; } 获取相机或麦克风权限 [AVCaptureDevice {//相机权限 if (granted) { NSLog(@"Authorized"); }else{ NSLog(@"Denied or Restricted"); } }]; [AVCaptureDevice

    1.5K50发布于 2018-05-15
  • 来自专栏关键帧Keyframe

    iOS AVDemo(7):视频采集,视频系列来了丨音视频工程示例

    nonatomic, strong, readwrite) KFVideoCaptureConfig *config; @property (nonatomic, strong, readonly) AVCaptureDevice }); } #pragma mark - Private Method - (void)_startRunning { AVAuthorizationStatus status = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; #pragma GCC diagnostic pop } for (AVCaptureDevice 从代码上可以看到主要有这几个部分: 1)创建采集设备 AVCaptureDevice。 在 -captureDevice 中实现。 [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {

    1.3K30编辑于 2022-06-13
  • 来自专栏用户4983917的专栏

    从采集方面分析如何快速的开发一个完整的iOS直播app源码

    AVCaptureDevice:硬件设备,包括麦克风、摄像头,通过该对象可以设置物理设备的一些属性(例如相机聚焦、白平衡等) AVCaptureDeviceInput:硬件输入对象,可以根据AVCaptureDevice 3.根据音频/视频硬件设备(AVCaptureDevice)创建音频/视频硬件输入数据对象(AVCaptureDeviceInput),专门管理数据输入。

    83400发布于 2019-04-01
  • 来自专栏sweet_iOS

    AVFoundation框架解析看这里(2)- 媒体捕捉与视频拍摄

    captureSession.sessionPreset = .high captureSession.beginConfiguration() //配置输入设备 AVCaptureDevice.devices AVCaptureInput与AVCaptureDevice 设备输入数据管理对象,可以根据AVCaptureDevice创建对应AVCaptureDeviceInput对象,该对象将会被添加到AVCaptureSession captureSession.sessionPreset = .high captureSession.beginConfiguration() //配置输入设备 AVCaptureDevice.devices

    1.5K20发布于 2020-12-23
  • 来自专栏進无尽的文章

    编码篇 - iOS各种权限状态的获取及注意事项

    Restricted"); } }]; 相机和麦克风权限 导入头文件@import AVFoundation; 检查是否有相机或麦克风权限 AVAuthorizationStatus AVstatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];//相机权限 AVAuthorizationStatus AVstatus = [AVCaptureDevice case AVAuthorizationStatusRestricted: NSLog(@"Restricted"); break; default: break; } 获取相机或麦克风权限 [AVCaptureDevice ) {//相机权限 if (granted) { NSLog(@"Authorized"); } else{ NSLog(@"Denied or Restricted"); }}]; [AVCaptureDevice

    5.7K30发布于 2018-09-12
领券