Я устанавливаю свой TextToSpeech для использования определенного языка (английский - Великобритания), используя локаль «en_GB». Но он всегда использует мой язык по умолчанию для устройств. Нет ли способа установить его программно? Я загрузил файлы, необходимые для этого языка, и когда я меняю свой язык по умолчанию на TTS на «Английский - Великобритания», он работает, но когда значение по умолчанию отличается, программный подход не работает. Я пробовал Интернет в своих силах, но не могу решить эту проблему.TextToSpeech setLanguage не работает?
String ttsEngine = "com.google.android.tts";
txt2Speech = new TextToSpeech(this, this, ttsEngine);
//Locale ttsLocale = new Locale("eng", "GBR");
txt2Speech.setLanguage(new Locale("en_GB"));
Пробовал несколько методов, но никто не работает. Могу ли я программировать язык TTS?
Спасибо
EDIT: В ответ на
Другой код 'медовой Дрофа':
public class MainActivity extends AppCompatActivity implements TextToSpeech.OnInitListener
Мои onInit()
public void onInit(int status) {
// TODO Auto-generated method stub
}
Также я звоню .setLanguage()
в мой onCreate()
, как только мой TextToSpeech
инициализируется. Это верно? Также я звоню только один раз. Не обязательно звонить ему каждый раз? Также я тестирую на GS7
Вам нужно установить его в 'onInit()' и проверить результат. Это предполагает, что статус 'onInit()' равен 'SUCCESS' – brandall
@brandall Большое вам спасибо! Постановка в 'onInit()' решена. Пожалуйста, разместите его в качестве ответа, чтобы я мог отметить его как правильно. :) –
Выполнено. Рад, что это сработало. – brandall