我想要访问 iOS 设备的麦克风的权限。项目在 Angular JS 1 中,android 团队编写了本地代码来访问麦克风,效果很好。以下是Android的本机代码
iOS 的等效代码是什么?任何帮助都感激不尽!
我想要访问 iOS 设备的麦克风的权限。项目在 Angular JS 1 中,android 团队编写了本地代码来访问麦克风,效果很好。以下是Android的本机代码
iOS 的等效代码是什么?任何帮助都感激不尽!
首先在 info.plist 中添加“隐私 - 麦克风使用说明”属性。比添加以下代码==>
迅速 =>
import AVFoundation
switch AVAudioSession.sharedInstance().recordPermission() {
case AVAudioSessionRecordPermission.granted:
print("Permission granted")
case AVAudioSessionRecordPermission.denied:
print("Pemission denied")
case AVAudioSessionRecordPermission.undetermined:
print("Request permission here")
AVAudioSession.sharedInstance().requestRecordPermission({ (granted) in
// Handle granted
})
}
对于 Objective-C ==>
#include <AVFoundation/AVFoundation.h>
-(void)askForMicrophonePermission {
switch ([[AVAudioSession sharedInstance] recordPermission]) {
case AVAudioSessionRecordPermissionGranted:
break;
case AVAudioSessionRecordPermissionDenied:
break;
case AVAudioSessionRecordPermissionUndetermined:
// This is the initial state before a user has made any choice
// You can use this spot to request permission here if you want
[[AVAudioSession sharedInstance]requestRecordPermission:^(BOOL granted) {
// Check for granted
}];
break;
default:
break;
}
}
如果你仍然做不到,请告诉我。
对于 ios,您必须在 info.plist 文件中设置权限
<key>NSMicrophoneUsageDescription</key>
<string>${PRODUCT_NAME} always microphone use</string>
添加此权限后,在代码文件中检查麦克风的当前状态
switch AVAudioSession.sharedInstance().recordPermission() {
case AVAudioSessionRecordPermission.granted:
print("Permission granted")
case AVAudioSessionRecordPermission.denied:
print("Pemission denied")
case AVAudioSessionRecordPermission.undetermined:
print("Request permission here")
AVAudioSession.sharedInstance().requestRecordPermission({ (granted) in
// Handle granted
})
}
您无需明确请求使用麦克风的权限。当您第一次尝试使用音频输入时,该应用程序会自动执行此操作。前提条件是你有NSMicrophoneUsageDescription你的info.plist,否则应用程序会崩溃。
requestRecordPermission或者,您可以通过调用of 方法提前请求许可AVAudioSession,但这不是必需的,并且根据人机界面指南,您应该仅在您的应用程序明确需要时请求使用个人数据。