安卓 TTS 添加语言

6

我想开发一个使用TTS技术支持多种语言的应用程序。问题是,只有少数语言的设备自带特定的TTS引擎,这取决于国家(我说的是PICO)。有没有办法在我的apk中嵌入TTS引擎或在网上找到缺失的PICO文件并将它们放入apk中...或者其他任何解决方案来支持默认情况下不存在的语言?

1个回答

4
请阅读此文章:http://android-developers.blogspot.com/2009/09/introduction-to-text-to-speech-in.html 有一个意图(操作 - ACTION_INSTALL_TTS_DATA),它会自动下载所需的语言。
此外,我相信你可以做两件事:
a) 基于http://developer.android.com/reference/android/speech/tts/TextToSpeechService.html实现您自己的服务。
b) 使用API加载一些自定义文件- addEarcon(String earcon, String filename) (http://developer.android.com/reference/android/speech/tts/TextToSpeech.html)。

1
谢谢您的建议。但我不知道如何运用到我的需求中。如果我勾选ACTION_INSTALL_TTS_DATA,我猜这个应用会下载默认的语言环境,但我不知道如何指定……例如,在葡萄牙设备上想要下载捷克语。 - Alberto
我不确定 ACTION_INSTALL_TTS_DATA 的工作原理。我有印象它会下载多种语言。你应该尝试一下。之后,你可以使用 API 指定你想要使用的语言:http://developer.android.com/reference/android/speech/tts/TextToSpeech.html#setLanguage(java.util.Locale) - Victor Ronin
我怀疑没有办法获得额外的语言。根据我的所作所为,通过强制安装,唯一免费的语言是英语、法语、西班牙语、德语和意大利语。 - Alberto
尝试查看TextToSpeechService。我没有找到太多关于它的信息,但它有接口onIsLanguageAvailable(String, String, String)。我猜它是用来扩展TTS的。顺便说一下,这里是一些TextToSpeechService实现的链接:http://android.cocoaone.com/resources/samples/TtsEngine/src/com/example/android/ttsengine/RobotSpeakTtsService.html - Victor Ronin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接