Распознавание речи в iOS - SFSpeechAudioBufferRecognitionRequest перезаписывает отредактированную транскрипцию
Мой проект использует распознавание речи iOS 10. Для непрерывной речи я использую SFSpeechAudioBufferRecognitionRequest
из речевой библиотеки Apple, и сохранение результата в UITextView
,
Когда пользователь делает паузу на x секунд, я хочу добавить точку к транскрипции, но новая транскрипция всегда перезаписывает период, потому что речь iOS сохраняет весь транскрипт в одну строку и продолжает добавлять в строку, а затем передает результат к моему приложению постоянно.
Например: если моя транскрипция была hello it's a test
и мой пользовательский интерфейс правильно добавляет точку. Но затем пользователь записывает еще немного (без повторного нажатия кнопки микрофона, потому что он непрерывный), тогда период будет перезаписан, потому что речевой механизм не знает о периоде, поэтому он будет hello it's a test talking again
отображается на экране, и я теряю свои правки. Каков наилучший способ предотвратить это?
Этот ответ из другого поста предлагает использовать таймер. Использование таймера правильно добавляет период, но это не решает проблему того, что речевой механизм не знает о периоде, уже находящемся в пользовательском интерфейсе.