我想要显示的语言列表,可以使用的对讲机。当我搜索时,我找到了一种通过接收带有额外RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES.的广播来获取可用声音的方法。但在这里,我想知道一个给定的声音,比如英语(美国),有多少当地人可以通过对讲机应用程序来阅读/说。
当我们启用可访问性,并选择英语作为声音,它可以读取许多设备局部字(翻译),但它不能读一些。所以有没有办法找出有多少当地人支持同一个声音。
发布于 2014-08-05 16:45:32
TalkBack使用已安装的文本到语音(TTS)引擎来产生语音输出,例如Pico,而不是自己说话。
Android系统中文本到语音的介绍将使您开始使用TTS引擎,然后需要询问引擎它支持使用TextToSpeech.isLanguageSupported(Locale)
的哪种语言--参见Android文档。
手机还必须支持Locale
,所以使用Locale.getAvailableLocales()
来确定这一点。区域设置是一种语言,它可能有关联的国家和变体。
若要获取支持的区域设置的完整列表,请使用:
TextToSpeech tts = new TextToSpeech(context, listener);
for (Locale locale : Locale.getAvailableLocales()) {
if (tts.isLanguageSupported(locale)) {
// spoken language supported
}
}
最后,对于您的示例,您需要按语言(即Locale.getLanguage()
)过滤这个列表,以确定哪个是英语(在您的例子中)。
https://stackoverflow.com/questions/23300663
复制相似问题