object-C_多媒体权限设置

2016-08-08  本文已影响133人  陈胜华

1.多媒体权限(相册,相机,麦克风)

/**
 * 相册权限枚举
 */
typedef NS_ENUM(NSInteger, MediaStatusType) {
    MediaStatusTypeMore = 1,
    MediaStatusTypePhoto,//相册
    MediaStatusTypeCamera,//相机
    MediaStatusTypeAudio//麦克风
};
//检查访问相册权限
- (MediaStatusType)checkOutMediaStatus {
    
    //相机权限
    NSString *mediaType = AVMediaTypeVideo;
    AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];
    if(authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied){
        return MediaStatusTypeCamera;
    }
    //相册权限
    ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus];
    if (author == ALAuthorizationStatusRestricted || author ==ALAuthorizationStatusDenied) {
        return MediaStatusTypePhoto;
    }
    
    //麦克风权限
    AVAuthorizationStatus videoAuthStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio];
    if(videoAuthStatus == AVAuthorizationStatusRestricted || videoAuthStatus == AVAuthorizationStatusDenied) {// 未授权
        return MediaStatusTypeAudio;
    }
    
    return MediaStatusTypeMore;
}

//进入系统相关设置
- (void)efOpenMediaAuthority {
  //跳转到设置页面中自己的应用下
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
}
上一篇 下一篇

猜你喜欢

热点阅读