我在我的 Android 应用程序中使用 Text to Speech - TTS.. 我已经粘贴了下面的代码.. TTS 工作正常,但是它说的语音/文本不是很清楚.. 它说得很快,所以这不是完全可以理解的。我尝试设置 Locale.US,并使用了 setPitch 或 setSpeechRate,但它并没有真正令人信服。我觉得我的手机(Samsung S2)有问题。所以尝试从 Google Play 商店安装 Google Translate TTS 应用程序。在那个应用程序中,声音非常清晰。
我的应用程序将被孩子们使用..所以要确保声音真的很清晰。在过去的几天里,我一直在努力解决这个问题。如果你能给我一些关于我做错了什么或如何改进的指示,那就太好了?
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
int result = tts.setLanguage(Locale.getDefault());
//tts.setSpeechRate((float) 0.8);
//tts.setPitch(1.0f);
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e("TTS", "This Language is not supported");
} else {
speakOut(0);
}
} else {
Intent installIntent = new Intent();
installIntent.setAction(
TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
private void speakOut(int position) {
tts.speak("Some text goes here", TextToSpeech.QUEUE_FLUSH, null);
}
注意:我尝试在 setPitch 和 setSpeechRate 中将值设置为 0.5f、0.8f 等,但所有语音仍然不像在 GoogleTranslate 应用程序中那样清晰。