Код: Выделить всё
tts=new TextToSpeech(MyClass.this, status -> {
if(status == TextToSpeech.SUCCESS){
tts.setLanguage(locale);
tts.setOnUtteranceProgressListener(new UtteranceProgressListener() {
@Override
public void onDone(String utteranceId) {
if (utteranceId.equals("***")) {
runOnUiThread(() -> {
Button view2 = findViewById(R.id.speech);
view2.setCompoundDrawablesWithIntrinsicBounds(R.drawable.play, 0, 0, 0);
});
}
}
@Override
public void onError(String utteranceId) {
}
@Override
public void onStart(String utteranceId) {
}
});
}
});
< /code>
По сути, я использую 2 языка, славацкие и английские. Оба работают нормально с Google TTS.
Проблема в том, что устройства Samsung имеют свой собственный набор двигателей TTS по умолчанию, и, следовательно, текст приложения на речь, а не на этих устройствах. /> Я узнал, что может работать что -то вроде этого: < /p>
TextToSpeech(Context context, TextToSpeech.OnInitListener listener, String engine)
< /code>
e.g. Использование com.google.android.tts Однако в моем коде у меня есть новый текст>
Подробнее здесь: https://stackoverflow.com/questions/699 ... gle-engine