iOS麦克风权限的检测和获取

前言

今天接到一个任务,检测应用是否有麦克风的权限,网上找了很多资料,然后终于明白了检测和获取的区别

检测权限

检测就是判断用户是否打开了麦克风的权限
判断方法是这样的

 AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio];
    switch (authStatus) {
        case AVAuthorizationStatusNotDetermined:
        //没有询问是否开启麦克风
            flag = 1;
            break;
        case AVAuthorizationStatusRestricted:
        //未授权,家长限制
            flag = 0;
            break;
        case AVAuthorizationStatusDenied:
        //玩家未授权
            flag = 0;
            break;
        case AVAuthorizationStatusAuthorized:
        //玩家授权
            flag = 2;
            break;
        default:
            break;
    }
    return flag;
}

获取权限

获取权限就会弹一个框,让用户选择是否开启这个权限

 [audioSession performSelector:@selector(requestRecordPermission:) withObject:^(BOOL granted) {
                if (granted) {
                    bCanRecord = YES;
                }
                else {
                    bCanRecord = NO;
                   }
                ];

后记

Android判断是否开启的麦克风
在Android6.0 之前只需要在manifest.xml中注册一下就好了,但是Android6.0之后权限管理更加严格了,需要在运行的时候去获取,官网有一个例子,怎么在运行的时候提示用户开启权限,但是其实有个更取巧的方法,在代码里面打开麦克风,如果打开成功,说明用户开启了权限,如果失败,就可以认为玩家关掉了该权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值