Я использую SFSpeechRecognition, это мой код:
func recordAndRecognizeSpeech() {
let node = audioEngine.inputNode
let recordingFormat = node.outputFormat(forBus: 0)
node.installTap(onBus: 0, bufferSize: 1024, format: recordingFormat) { buffer, _ in
self.request.append(buffer)
}
audioEngine.prepare()
do {
try audioEngine.start()
} catch {
return print(error)
}
guard let myRecognizer = SFSpeechRecognizer() else {
print("error")
return
}
if !myRecognizer.isAvailable {
print("error")
return
}
recognitionTask = speechRecognizer?.recognitionTask(with: request, resultHandler: { result, error in
if let result = result {
let bestString = result.bestTranscription.formattedString
print(bestString)
self.testLabel.text = bestString
} else if let error = error {
print(error)
}
})
}
Я добавил ключи NSSpeechRecognitionUsageDescription и NSMicrophoneUsageDescription. У меня нет ошибок, но это просто не работает. Я не использую симулятор, но iPhone XR (13.4). В результате просто ничего не отображается. Я понятия не имею, что я делаю неправильно, я пытался найти решение, но безуспешно.