Как проверить правильность языкового идентификатора SFSpeechRecognizer с помощью Swift? - PullRequest
0 голосов
/ 08 мая 2019

Мой сценарий, я пытаюсь передать код языка на его основе SFSpeechRecognizer смена языка на speech to text. Здесь я могу использовать только яблоко при условии 63 languages. Если я пропускаю некоторые другие языки, я получаю сбой из-за недоступности языка. Как правильно проверить и обработать его, используя swift?

Мой код

private let speechRecognizer = SFSpeechRecognizer(locale: Locale.init(identifier: "en-US"))  //1

Я следовал ниже учебник для реализации речи в текст

https://www.appcoda.com/siri-speech-framework/

1 Ответ

0 голосов
/ 08 мая 2019

Вы можете проверить, поддерживается ли локаль supportedLocales

// Locales which support speech recognition.
// Note that supported does not mean currently available; some locales 
// may require an internet connection, for example.
+ (NSSet<NSLocale *> *)supportedLocales;

let locale = Locale(identifier: "hi-IN")

SFSpeechRecognizer.supportedLocales().contains(locale) // Can check using this
let sr = SFSpeechRecognizer(locale: locale)
sr?.isAvailable // Can check using this

lazy var srf: SFSpeechRecognizer? = {
let locale = Locale(identifier: "hi-IN")
return SFSpeechRecognizer.supportedLocales().contains(locale) ? SFSpeechRecognizer(locale: locale) : nil
}()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...