是否可以使Android文本转换为语音的语言,与设备语言不同?


例如

,我希望将设备中的语言设置为"意大利语",并在我的应用程序中让TTS说英语。

知道吗?

使用 setLanguage 方法

TextToSpeech mTts;
mTts = new TextToSpeech(this, this);
mTts.setLanguage(Locale.US);
//mTts.isLanguageAvailable(Locale.FRANCE)

请参阅此链接部分语言和区域设置

我建议你看谷歌I/O视频

文本转语音默认设置会覆盖应用设置

您可以提示用户使用意图进行文本到语音转换设置,并要求他擦除默认设置:

ComponentName componentToLaunch = new ComponentName(
        "com.android.settings",
        "com.android.settings.TextToSpeechSettings");
Intent intent = new Intent();
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(componentToLaunch);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

查看使用文本到语音转换 您可以使用 setLanguage 设置文本到语音转换对象的语言,如下所示:

mTts.setLanguage(Locale.US); // here mTs is a TextToSpeech object

所以,你想要的不应该是一个问题。

最新更新