j-snow
@j-snow
Java junior developer

Android TTS: Почему не работает setLanguage()?

Привет всем!

Пытаюсь заюзать TTS в приложении, но никак не могу заставить говорить его на зыке кроме en_US. Например, когда пытаюсь установить язык en_GB, то движок перестаёт читать текст (нет звука; метод speak() отрабатывает мгновенно).

Разрабатываю на стандартном эмуляторе, на котором установлены нужные языковые пакеты от Google Text-to-speech EnginePocket проверял - TTS работает как надо).

Код простой, ничего особенного:
OnInitListener listener = new OnInitListener() {
	public void onInit(int status) {
		tts.setLanguage(Locale.UK); // возвращает LANG_COUNTRY_AVAILABLE
		tts.speak("Hello", TextToSpeech.QUEUE_FLUSH, null);
	}
};
TextToSpeech tts = new TextToSpeech(activity, listener, "com.google.android.tts");


То есть у меня работает только Locale.US.
А в Pocket работает всё.

Где косячу?
  • Вопрос задан
  • 884 просмотра
Пригласить эксперта
Ответы на вопрос 1
@itdroid
Привет, посмотрите настройки Google Text-to-speech Engine, примерно вот тут:
Settings->Accessibility->Text-to-speech output->Google Text-to-speech Engine
Смотрите установлена ли у Вас на девайсе voice data для локали которую Вы выставляете в коде.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы