В настоящее время я разрабатываю приложение, которое интенсивно использует преобразование текста в речь (я использую android.speech.tts.TextToSpeech). Мне удалось интегрировать TTS в свой голос, и в настоящее время американский американский голос по умолчанию - это то, что читает вслух мой текст.
Я хотел бы знать, как внести изменения в конфигурацию речевого движка. Например, хотелось бы уменьшить скорость чтения текста, поменять местами мужские и женские голоса и даже обеспечить поддержку разных языков. Может ли кто-нибудь помочь мне с этой информацией. Заранее спасибо :)
[Ниже приведен код, который я сейчас использую (любезно предоставлено: очень хорошо написанный базовый блог по Android TTS), все переменные были объявлены, я не копирую весь код, и этот фрагмент кода работает отлично.]
btnSpeak = (ImageButton) findViewById(R.id.ttsIB);
btnSpeak.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
speakOut();
}
});
@Override
public void onDestroy() {
// to shutdown TTS
if (tts != null) {
tts.stop();
tts.shutdown();
}
super.onDestroy();
}
@Override
public void onInit(int status)
{
if (status == TextToSpeech.SUCCESS)
{
int result = tts.setLanguage(Locale.US);
if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED)
{
Log.e("TTS", "This Language is not supported");
}
else
{
btnSpeak.setEnabled(true);
speakOut();
}
}
else
{
Log.e("TTS", "Initilization Failed!");
}
}
private void speakOut()
{
String text = textVal.getText().toString();
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}