我想说“A13”,用“英语”读“A”,用“粤语”读“13”;下面是我使用的代码,但它只给我普通话的“13”。
tts.setLanguage(Locale.ENGLISH);
tts.speak("A", TextToSpeech.QUEUE_FLUSH, null);
tts.setLanguage(Locale.TRADITIONAL_CHINESE);
tts.speak("13", TextToSpeech.QUEUE_FLUSH, null);
我已经按照下面的链接安装了“粤语”的 tts 包,但我仍然不会在我的应用程序中设置“粤语”。然而,如果我使用 Ekho tts 引擎,它会达到预期的结果,但与谷歌引擎相比,声音有点奇怪。
最佳答案
您可能想尝试 tts.setLanguage(new Locale("zh", "HK"))
或 tts.setLanguage(new Locale("yue", "HK") )
。
TRADITIONAL_CHINESE 很可能指的是文字,而不是口语。例如,台湾使用传统文字,但口语是普通话 (zh_TW)。香港说粤语,因此应使用“HK”变体。 Google 的 tts 最近的变化将粤语(“yue”)视为完全不同的语言。
关于Android Text-To-Speech 以编程方式使用 "alphabet"讲粤语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36613293/