当前位置: 首页 > 面试题库 >

iOS检查应用程序是否可以访问麦克风

通煜祺
2023-03-14
问题内容

随着iOS 7的引入,应用程序在想要录制音频时必须请求访问麦克风。

如何检查应用程序是否可以访问麦克风?
在iOS 8 SDK中,我可以使用AVAudioSessionRecordPermission枚举,但是如何在iOS 7中进行检查?

信息:
我不想请求权限,我只想检查应用程序是否可以访问麦克风。(例如位置访问权限):

if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied) {
    // Do something
}

问题答案:

iOS7这种情况下,无法获取..的当前状态。microphone authorization他们已将枚举指定iOS8为AVAudioSessionRecordPermission

iOS7你的每一个随着时间的推移请求允许

[[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted) {
        if (granted) {
            NSLog(@"Permission granted");
        }
        else {
            NSLog(@"Permission denied");
        }
    }];

之前曾问过同样的问题,但是没有像您这样的api可以知道当前状态 iOS8

解:

另一个选项是您可以 第一次*显示popup或寻求许可,并保存在而不选择许可中选择的用户选项的状态。在docs中,如果不需要获得用户的许可,则无需显式调用此方法。当您尝试记录时,它将在第一次时自动调用

*NSUserDefaults``AVAudioSession

录制音频需要用户的明确许可。当您的应用程序的音频会话在使用启用录音的类别(请参阅“音频会话类别”)时,第一次尝试使用音频输入路由时,系统会自动提示用户进行许可;或者,您可以调用requestRecordPermission:在您选择的时间提示用户



 类似资料:
  • 当我启动音频/屏幕录像机并打开我的录音机应用程序并启动用于录制音频的服务时,我遇到错误该应用程序崩溃。 我不知道为什么我会面临这个问题。 来自logcat的错误跟踪 录制服务.java 录音活动 这就是我尝试在应用程序中开始录制时发生的情况 链接如下。 显示我的应用程序崩溃

  • 问题内容: 我需要检查我的应用程序是否在更新时启动,因为我需要创建一个仅在首次安装该应用程序时才出现的视图,以便在更新后再次出现。 问题答案: 您可以将值(例如,当前应用程序版本号)保存到其中,并在每次用户启动应用程序时对其进行检查。 在迅速-2版本看起来是这样的: 在迅速-3版本看起来是这样的:

  • 问题内容: 我有一个简单的PHP网页,并且希望返回不同的内容,具体取决于是从iPhone / iPad还是从网络浏览器访问。我怎样才能做到这一点? 问题答案: 使用来自的用户代理,为了进行简单检测,可以使用以下脚本: 如果您想了解用户设备的更多详细信息,我建议使用以下解决方案之一:http : //51degrees.mobi或http://deviceatlas.com

  • 我已安装appium 1.3.3版。 我已启动appium服务器以检查ios应用程序。 我已附上屏幕截图以供参考。 我收到下面提到的错误消息。

  • 简短版本: 我试图检测我的麦克风何时被像不和谐这样的程序捕获,最好是在Python中,但是我不知道如何做到这一点。有什么建议吗? 长版本: 我试图编写一个程序,每当我的麦克风被使用时,它就会打开“开机”灯。通常情况下,这要么是为了不和谐,要么是为了抽搐。这也是视窗系统已经监控的东西(视窗10),因为它在通知托盘中显示一个麦克风图标,并告诉你哪些程序正在使用你的麦克风。基本上,每当图标通知打开时,我