Как выбрать закадровый выходной динамик в приложении IOS - PullRequest
1 голос
/ 11 июня 2019

В настоящее время я работаю над приложением Iphone для людей, страдающих нарушениями зрения. Чтобы получить вводимый текст, приложение использует распознавание голоса. Приложение работает очень хорошо с активированным Voice-Over, но когда пользователь запускает распознавание голоса, выход Voice-Over переключается на динамик (и это нормально).

Что меня беспокоит, так это то, что, когда весь процесс закончен, выходной динамик не переключается обратно в основной динамик, даже если я заканчиваю все процессы.

Для распознавания голоса я создал экземпляр AVAudioEngine(), SFSpeechRecognizer(), SFSpeechAudioBufferRecognitionRequest() и SFSpeechRecognitionTask?.

Затем я подключил запрос к узлу оперативного ввода и запустил аудиоинженер.

После того, как пользователь закончил говорить, я позвонил audioEngine.stop(), request.endAudio() и recognitionTask?.cancel(), чтобы остановить все и вернуться к "нормальному" использованию приложения.

Может быть, я что-то упустил, когда все остановил, что-то касалось живого узла ввода: audioEngine.inputNode.installTap(onBus: 0, bufferSize: 1024, format: recordingFormat) { buffer, _ in self.request.append(buffer)}

Но я пытался removeTap(onBus: 0), но ничего не изменилось.

Выходной динамик возвращается в нормальное состояние, только когда я закрываю приложение или перехожу на многозадачность.

Надеюсь, вы поможете мне разобраться!

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...