HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何检测用户在iOS上授予麦克风权限?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我需要在用户给出(或拒绝)使用麦克风的权限后调用某个函数.

我已经看到了这个:

[[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted) {
        if (granted) {
            // Microphone enabled code
            [self someFunction];

        }
        else {
            // Microphone disabled code
        }
 }];

但是,这仅用于检测当前状态.

如果当前状态为“no”并且弹出窗口显示用户提供权限 – 则不会调用函数.那是因为在执行此操作的那一刻,权限是“否”,直到我们下次运行@L_197_8@时才会调用函数.

我想要做的是在用户按下“允许”或“拒绝”后调用@L_675_14@函数.

谁知道怎么做?

编辑:
忘了提它它必须是iOS 7.0兼容的解决方案.

解决方法

在iOS 8中引入的AVAudioSession方法是recordPermission.这将返回名为AVAudioSessionRecordPermission的枚举.您可以使用开关来确定是否已向用户显示权限警报.这样,只有在没有呈现给用户时才调用requestRecordPermission,因此权限块可以假定在用户第一次允许或不允许权限之后执行它.

@L_675_14@例子是 – 像 –

AVAudioSessionRecordPermission permissionStatus = [[AVAudioSession sharedInstance] recordPermission];

switch (permissionStatus) {
     case AVAudioSessionRecordPermissionUndetermined:{
          [[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted) {
          // CALL YOUR METHOD HERE - as this assumes being called only once from user interacTing with permission alert!
              if (granted) {
                  // Microphone enabled code
              }
              else {
                  // Microphone disabled code
              }
           }];
          break;
          }
     case AVAudioSessionRecordPermissionDenied:
          // direct to setTings...
          break;
     case AVAudioSessionRecordPermissionGranted:
          // mic access ok...
          break;
     default:
          // this should not happen.. maybe throw an exception.
          break;
}

大佬总结

以上是大佬教程为你收集整理的如何检测用户在iOS上授予麦克风权限?全部内容,希望文章能够帮你解决如何检测用户在iOS上授予麦克风权限?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。