Я использую Google TTS Engine для преобразования текста в речь для языка хинди.Как проверить, установлены ли голосовые данные Google TTS для языка хинди
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case ACTIVITY_TTS_PASS:
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
tts = new TextToSpeech(getApplicationContext(), this);
int availability = tts.isLanguageAvailable(new Locale("hin-IND"));
switch(availability) {
case TextToSpeech.LANG_AVAILABLE:
Log.d("TTS", "Language available");
break;
case TextToSpeech.LANG_NOT_SUPPORTED:
Log.d("TTS", "Language not supported");
Intent installTTSIntent = new Intent();
installTTSIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
ArrayList<String> languages = new ArrayList<String>();
languages.add("hin-IND"); // hin - hindi, IND - INDIA
installTTSIntent.putStringArrayListExtra(
TextToSpeech.Engine.EXTRA_CHECK_VOICE_DATA_FOR, languages);
startActivity(installTTSIntent);
break;
case TextToSpeech.LANG_MISSING_DATA:
Log.d("TTS", "Language missing data");
break;
case TextToSpeech.LANG_COUNTRY_AVAILABLE:
Log.d("TTS", "Contry available");
break;
default:
Log.d("TTS", "default");
}
}
else {
Log.d("TTS", "fail");
Intent installTTSIntent = new Intent();
installTTSIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
ArrayList<String> languages = new ArrayList<String>();
languages.add("hin-IND"); // hin - hindi, IND - INDIA
installTTSIntent.putStringArrayListExtra(
TextToSpeech.Engine.EXTRA_CHECK_VOICE_DATA_FOR, languages);
startActivity(installTTSIntent);
}
break;
default:
Log.d("TTS", "case default");
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
Вот как я могу проверить, установлены ли данные TTS и поддерживается ли язык хинди. Это намерение дает возможность установить голосовые данные для некоторых языков. Затем я выбрал хинди (Индия) и установил.
Даже после этого tts.isLanguageAvailable (новый язык («hin-IND»)); возвращает TextToSpeech.LANG_NOT_SUPPORTED.
Кроме того, с помощью «hi-IN» вместо «hin-IND», он дает тот же результат. Теперь установлены голосовые данные, но как я могу проверить его по коду?
вы можете разместить свой код, потому что мне нужно проверьте, где пользовательское устройство поддерживает хинди или нет – Hamza
@AmeerHamza обновил мой ответ – Gaurav
для чего используется 'ACTION_CHECK_TTS_DATA'? вы не задали никаких дополнительных заданий, как узнать, какой язык проверить? – user924