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
в качестве параметра двигателя.
Однако в моем коде у меня есть новый текст>
В моем приложении Android у меня есть TTS, используя двигатель Google.[code]tts=new TextToSpeech(MyClass.this, status -> { if(status == TextToSpeech.SUCCESS){ tts.setLanguage(locale); tts.setOnUtteranceProgressListener(new UtteranceProgressListener() { @Override public void onDone(String utteranceId) {
@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 [/code] в качестве параметра двигателя. Однако в моем коде у меня есть новый текст>