gpt4 book ai didi

ios - SFSpeechRecognizer未授权案例从未进入

转载 作者:行者123 更新时间:2023-11-30 10:53:53 25 4
gpt4 key购买 nike

我正在遵循一个简单的教程 here让 iOS 语音识别正常工作。

即使用户拒绝麦克风访问,当我在模拟器中运行它时,它总是进入授权情况并打印出授权,甚至在用户在提示中选择“允许”之前也是如此。我的askSpeechPermission 从未被调用。我该如何解决这个问题?

let audioEngine = AVAudioEngine()
let speechRecognizer = SFSpeechRecognizer(locale: Locale.init(identifier: "en-US"))
let request = SFSpeechAudioBufferRecognitionRequest()
var recognitionTask: SFSpeechRecognitionTask?

override func viewDidLoad() {
super.viewDidLoad()

switch SFSpeechRecognizer.authorizationStatus() {
case .notDetermined:
askSpeechPermission()
print("not determined")
case .authorized:
self.status = .ready
print("authorized")
case .denied, .restricted:
self.status = .unavailable
print("denied or restricted")
}

}

func askSpeechPermission() {
SFSpeechRecognizer.requestAuthorization { status in
OperationQueue.main.addOperation {
switch status {
case .authorized:
self.status = .ready
default:
self.status = .unavailable
}
}
}
}

最佳答案

欢迎来到 Stack Overflow!

一旦用户授权或拒绝请求,即使再次调用requestAuthorization,也不会再次显示。如果您从模拟器中删除应用程序,然后在 Xcode 中重新运行,它将清除之前的选择并允许对话框再次出现。

我运行了您发布的代码,并且似乎按预期工作。

关于ios - SFSpeechRecognizer未授权案例从未进入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54173707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com