zoukankan      html  css  js  c++  java
  • 如何优雅地使用iOS系统相机

    NSString *mediaType = AVMediaTypeVideo; // Or AVMediaTypeAudio
    
    AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];
    
    // This status is normally not visible—the AVCaptureDevice class methods for discovering devices do not return devices the user is restricted from accessing.
    if(authStatus == AVAuthorizationStatusRestricted){
        NSLog(@"Restricted");
    }
    
    // The user has explicitly denied permission for media capture.
    else if(authStatus == AVAuthorizationStatusDenied){
        NSLog(@"Denied");
    }
    
    // The user has explicitly granted permission for media capture, or explicit user permission is not necessary for the media type in question.
    else if(authStatus == AVAuthorizationStatusAuthorized){
        NSLog(@"Authorized");
    }
    
    // Explicit user permission is required for media capture, but the user has not yet granted or denied such permission.
    else if(authStatus == AVAuthorizationStatusNotDetermined){
    
        [AVCaptureDevice requestAccessForMediaType:mediaType completionHandler:^(BOOL granted) {
    
            // Make sure we execute our code on the main thread so we can update the UI immediately.
            //
            // See documentation for ABAddressBookRequestAccessWithCompletion where it says
            // "The completion handler is called on an arbitrary queue."
            //
            // Though there is no similar mention for requestAccessForMediaType, it appears it does
            // the same thing.
            //
            dispatch_async(dispatch_get_main_queue(), ^{
    
                if(granted){
                    // UI updates as needed
                    NSLog(@"Granted access to %@", mediaType);
                }
                else {
                    // UI updates as needed
                    NSLog(@"Not granted access to %@", mediaType);
                }
            });
    
        }];
    
    }
    
    else {
        NSLog(@"Unknown authorization status");
    }
  • 相关阅读:
    NYIST 46 最少乘法次数
    OpenSSL命令---rsa
    Javah生成JNI头文件
    Stbdroid之ShapeDrawable
    Android之判断设备网络连接状态,并判断连接方式
    [置顶] 程序员必知(二):位图(bitmap)
    中断子系统8_软中断入口处理
    二叉搜索树的后续遍历序列
    整理生命
    sicily9162. RAZLIKA
  • 原文地址:https://www.cnblogs.com/iOSJason/p/6726643.html
Copyright © 2011-2022 走看看