iOS监听系统相机、麦克风是否打开

在开发过程中有时候需要自己判断系统相机和麦克风权限来自定义UI界面。可以使用下面的方法来进行判断:

// 监听后面的摄像头是否可用
- (BOOL) isRearCameraAvailable{
    
    __block BOOL bCanRecord = NO;
    
    NSString *mediaType = AVMediaTypeVideo;//读取媒体类型
    AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];//读取设备授权状态
    if(authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied){
        bCanRecord = NO;
        dispatch_async(dispatch_get_main_queue(), ^{
            [[[UIAlertView alloc] initWithTitle:@"无法拍摄"
                                        message:@"XXXX需要访问您的相机。\n请启用相机-设置/隐私/相机"
                                       delegate:self
                              cancelButtonTitle:@"关闭"
                              otherButtonTitles:nil] show];
            
        });
        
    }else{
        bCanRecord = YES;
        
    }
    
    return bCanRecord;
}
//监听是否可以录音
-(BOOL)canRecord
{
    __block BOOL bCanRecord = NO;
    AVAudioSession *audioSession = [AVAudioSession sharedInstance];
    if ([audioSession respondsToSelector:@selector(requestRecordPermission:)]) {
        [audioSession performSelector:@selector(requestRecordPermission:) withObject:^(BOOL granted) {
            if (granted) {
                bCanRecord = YES;
            }
            else {
                bCanRecord = NO;
                dispatch_async(dispatch_get_main_queue(), ^{
                    [[[UIAlertView alloc] initWithTitle:@"无法录音"
                                                message:@"XXXX需要访问您的麦克风。\n请启用麦克风-设置/隐私/麦克风"
                                               delegate:self
                                      cancelButtonTitle:@"关闭"
                                      otherButtonTitles:nil] show];
                });
            }
        }];
    }
    return bCanRecord;
}

另外,重申一点,网上有些方法在判断权限的时候去加了系统的判断导致无法正确监听。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,469评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,207评论 4 61
  • 1.Nsstring中搜索方法rangeOfString(包含某字符) 2.NSString保留两位小数 3.NS...
    朱晓晓的技术博客阅读 3,073评论 0 0
  • 巷子里有家面馆,招牌上写着“重庆小面”,在一棵巨大的小叶榕旁独占一隅,一对中年夫妻在里面忙活着。 有天心血来潮去吃...
    冉阿树阅读 1,397评论 0 0
  • 圆满的爱情大抵是这样子的:各自有稳定的工作和交际圈,在成长路上一路扶持,又在对方面前天真的像个孩子。独立又亲密,相...
    霸道_8a7f阅读 1,878评论 0 0