美文网首页
捕捉媒体

捕捉媒体

作者: 学学学q | 来源:发表于2017-12-04 23:45 被阅读5次
    • 捕捉会话AVCaptureSession(捕捉栈的核心类)
      捕捉会话管理从物理设备得到的数据流,比如摄像机和麦克风设备,输出到一个或多个目的地。可以动态配置输入和输出的线路,让开发者能够在绘画进行中按需重新配置捕捉环境。

    • 捕捉设备 AVCaptureDevice
    对物理硬件设备定义了大量的控制方法,比如控制摄像头的对焦、曝光、白平衡和闪光灯等。最常用的是defaultDeviceWithMediaType,根据给定的媒体类型返回一个系统指定的默认设备。
    
    AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    

    • 捕捉设备的输入 AVCaptureDeviceInput
      这个对象在设备输出数据和捕捉会话间扮演接线板的作用。
        NSError *error;
        
        AVCaptureDeviceInput *videoInput = [AVCaptureDeviceInput deviceInputWithDevice:cameraDevice error:&error];
    

    • 捕捉设备的输出 AVCaptureDeviceOutput
      这是一个抽象基类,用于为从捕捉会话得到的数据寻找输出目的地。比如AVCaptureStillImageOutputAVCaptureMovieFileOutput,使用它们可以很容易的实现捕捉静态照片和视频的功能。

    • 捕捉连接 AVCaptureConnection
      自定义拍照时,获取拍摄的照片
       [self.imageOutput captureStillImageAsynchronouslyFromConnection:conntion completionHandler:^(CMSampleBufferRef  _Nullable imageDataSampleBuffer, NSError * _Nullable error) {
           if (imageDataSampleBuffer == nil) {
                return ;
            }
            NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
            [_session stopRunning];
            
            
            UIImage *faceImage = [UIImage imageWithData:imageData];
            _currentImage = faceImage;    
        }];
    

    • 捕捉预览 AVCaptureVideoPreviewLayer
      预览层是一个Core AnimationCALayer子类,对捕捉视频数据进行实时预览。

    相关文章

      网友评论

          本文标题:捕捉媒体

          本文链接:https://www.haomeiwen.com/subject/ocnfixtx.html