Я пытаюсь реализовать голосовые команды, которые будут встроены в мое приложение.Я могу успешно заставить его работать с этим кодом:
let node = audioEngine.inputNode
let recordingFormat = node.outputFormat(forBus: 0)
node.installTap(onBus: 0, bufferSize: 1024,
format: recordingFormat) {
(buffer, _) in
self.recognitionRequest!.append(buffer)
}
audioEngine.prepare()
try! audioEngine.start()
Обратите внимание, что audioEngine
установлен в AVAudioEngine()
в классе.
Хотя код работает нормально,проблема возникает, когда у меня подключены наушники Bluetooth.Линия let node = audioEngine.inputNode
не позволяет моему iPhone подключаться и видеть мои наушники Bluetooth.
Если я удаляю эту линию, мои наушники подключаются, как и ожидалось, однако это означает, что я не могу распознать речь, так как требуется первая линия.
Как использовать голосовые команды и при этом использовать наушники Bluetooth?
Если это помогает, я хочу, чтобы голосовые команды прослушивались с микрофона iPhone, но я хочу, чтобы звук воспроизводилсячерез наушники.Если наушники не подключены, звук должен воспроизводиться и с iPhone.