in AmazonChimeSDKDemo/AmazonChimeSDKDemo/MeetingModule.swift [202:227]
func requestRecordPermission(audioDeviceCapabilities: AudioDeviceCapabilities, completion: @escaping (Bool) -> Void) {
if audioDeviceCapabilities == .none || audioDeviceCapabilities == .outputOnly {
completion(true)
return
}
let audioSession = AVAudioSession.sharedInstance()
switch audioSession.recordPermission {
case .denied:
logger.error(msg: "User did not grant audio permission, it should redirect to Settings")
completion(false)
case .undetermined:
audioSession.requestRecordPermission { granted in
if granted {
completion(true)
} else {
self.logger.error(msg: "User did not grant audio permission")
completion(false)
}
}
case .granted:
completion(true)
@unknown default:
logger.error(msg: "Audio session record permission unknown case detected")
completion(false)
}
}