Я играю с распознаванием речи iOS и добавил запрос на использование микрофона в моем Info.plist
. При записи приложение отображает всплывающее окно для запроса доступа, как и ожидалось
MyApp would like to access the microphone
Однако, если я жду ответа более нескольких секунд, приложение вылетает с сообщением об ошибке: RPCTimeout.mm: 55: _ReportRPCTimeout: Initialize: Тайм-аут сообщения Маха. Видимо в тупик. Отмена сейчас.
Код, вызвавший сбой, - это строка let node = audioEngine.inputNode
let node = audioEngine.inputNode
let recordingFormat = node.outputFormat(forBus: 0)
node.installTap(onBus: 0, bufferSize: 1024, format: recordingFormat) { buffer, _ in
self.request.append(buffer)
}
Я провел некоторые исследования, и единственное решение этой ошибки - убедиться, что в настройках звука на Mac установлены встроенные динамики для ввода и вывода, которые у меня уже есть.
Если я устанавливаю защиту на узле, как показано ниже, XCode выдает ошибку: Значение типа 'AVAudioInputNode' не имеет члена 'inputNode'
guard let node = audioEngine.inputNode.inputNode else {
return
}