zoukankan      html  css  js  c++  java
  • 第41月第27天 iOS摄像头分辨率枚举

    1.

    -(AVCaptureDevice *)getCameraDeviceWithPosition:(AVCaptureDevicePosition )position{
    
    NSArray *cameras= [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
    
    for (AVCaptureDevice *camera in cameras) {
    
         if ([camera position]==position) {
    
                 [[camera formats] enumerateObjectsUsingBlock:^(AVCaptureDeviceFormat* obj,    NSUInteger idx, BOOL * _Nonnull stop) {
    
            }];
    
                 return camera;
    
         }
    
    }
    
    return nil;
    
    }
    + (AVCaptureDevice *)getCaptureDevicePosition:(AVCaptureDevicePosition)position {
        NSArray *devices = nil;
        if ([UIDevice currentDevice].systemVersion.floatValue >= 10.0) {
            AVCaptureDeviceDiscoverySession *deviceDiscoverySession = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera]
                                                                                                                             mediaType:AVMediaTypeVideo
                                                                                                                              position:position];
            devices = deviceDiscoverySession.devices;
        } else {
    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wdeprecated-declarations"
            devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
    #pragma clang diagnostic pop
        }
        
        for (AVCaptureDevice *device in devices) {
            if (device.position == position) {
                return device;
            }
        }
        return NULL;
    }
    
    
        NSMutableDictionary *formatsDic = [NSMutableDictionary dictionary];
        
        AVCaptureDevicePosition position = AVCaptureDevicePositionFront;
        AVCaptureDevice *captureDevice = [[self class] getCaptureDevicePosition:position];
        
        NSArray<AVCaptureDeviceFormat *> *formats = [captureDevice formats];
        
        for (AVCaptureDeviceFormat *vFormat in formats) {
            CMFormatDescriptionRef formatDescription = vFormat.formatDescription;
            NSLog(@"vFormat formatDescription:%@",formatDescription);
            
            CMFormatDescriptionRef description = vFormat.formatDescription;
            CMVideoDimensions dims = CMVideoFormatDescriptionGetDimensions(description);
            NSLog(@"dims %d height:%d",dims.width, dims.height);
            
            NSString *key = [NSString stringWithFormat:@"%dx%d",dims.width,dims.height];
            if (![formatsDic objectForKey:key]) {
                [formatsDic setObject:key forKey:key];
            }
        }

    https://www.jianshu.com/p/1e1dbfb746a9

  • 相关阅读:
    zkw费用流
    luogu5212/bzoj2555 substring(后缀自动机+动态树)
    后缀数据结构模板2
    后缀数据结构模板1
    通用动态树(Link-Cut Tree)模板
    上下界网络流总结
    多项式多点求值
    拉格朗日反演
    多项式板子·新
    luogu2387 [NOI2014]魔法森林
  • 原文地址:https://www.cnblogs.com/javastart/p/12371107.html
Copyright © 2011-2022 走看看