Android 实现自动朗读(TTS)
2010-03-25 17:02:00 来源:WEB开发网TextToSpeech简称 TTS,是Android 1.6版本中比较重要的新功能。将所指定的文本转成不同语言音频输出。它可以方便的嵌入到游戏或者应用程序中,增强用户体验。
在讲解TTS API和将这项功能应用到你的实际项目中的方法之前,先对这套TTS引擎有个初步的了解。
对TTS资源的大体了解:
TTS engine依托于当前Android Platform所支持的几种主要的语言:English、French、German、Italian和Spanish五大语言(暂时没有我们伟大的中文,至少Google的科学家们还没有把中文玩到炉火纯青的地步,先易后难也是理所当然。)TTS可以将文本随意的转换成以上任意五种语言的语音输出。与此同时,对于个别的语言版本将取决于不同的时区,例如:对于English,在TTS中可以分别输出美式和英式两种不同的版本(由此看出Google的做事风格真够细致,而正因为如此估计Google不加入中文的另外一种理由是中文的方言太多了)。
能支持如此庞大的数据量,TTS 引擎对于资源的优化采取预加载的方法。根据一系列的参数信息(参数的用法将在后边有详细的介绍)从库中提取相应的资源,并加载到当前系统中。
尽管当前大部分加载有Android操作系统的设备都通过这套引擎来提供TTS功能,但由于一些设备的存储空间非常有限而影响到TTS无法最大限度的发挥功能,算是当前的一个瓶颈。为此,开发引入了检测模块,让利用这项技术的应用程序或者游戏针对于不同的设备可以有相应的优化调整,从而避免由于此项功能的限制,影响到整个应用程序的使用。比较稳妥的做法是让用户自行选择是否有足够的空间或者需求来加载此项资源,下边给出一个标准的检测方法:
Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_C HECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);
如果当前系统允许创建一个 “android.speech.tts.TextToSpeech” 的彩虹简谱字库 下载Object, 说明已经提供TTS功能的支持,将检测返回结果中给出“ CHECK_VOICE_DATA_PASS ” 的标记。如果系统不支持这项功能,那么用户可以选择是否加载这项功能,从而让设备支持输出多国语言的语音功能“Multi-lingual Talking”。“ACTION_INSTALL_TTS_DATA” intent将用户引入Android market中的TTS下载界面。下载完成后将自动完成安装,下边是实现这一过程的完整代码 (androidres) :
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
- ››android bitmap与base64字符串的互相转换
更多精彩
赞助商链接