Chinaunix首页 | 论坛 | 博客
  • 博客访问: 131622
  • 博文数量: 98
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 1017
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-11 13:22
文章分类

全部博文(98)

文章存档

2015年(25)

2014年(42)

2013年(31)

我的朋友

分类: Android平台

2015-02-09 22:09:16

Android的自动朗读支持主要是通过TextToSpeech来完成,该类提供了如下一个构造器
TextToSpeech(Context context,TextToSpeech.OnInitListener listener)
当创建TextToSpeech对象时,必须先提供一个OnInitListener监听器——该监听器负责监听TextToSpeech的初始化结果。


TextToSpeech最常用的两个方法如下:
1、speak(String text,int queueMode,HashMap params)
2、synthesizeToFile(String text,HashMap params,String filename)
上面两个方法都用于把text文字内容转换为音频,区别只是speak方法是播放转换的音频,而synthesizeToFile是把转换得到的音频保存成声音文件。
上面两个方法中的params都用于指定声音转换时的参数,speak()方法中的queueMode参数指定TTS的发音队列模式,该参数支持如下两个常量。
1、TextToSpeech.QUEUE_FLUSH:如果指定该模式,当TTS调用speak方法时,它会中断当前实例正在运行的任务(也可以理解为清除当前语音任务,转而执行新的语音任务)
2、TextToSpeech.QUEUE_ADD:如果指定为该模式,当TTS调用speak方法时,会把新的发音任务添加到当前发音任务列队之后——也就是等任务队列中的发音任务执行完成后在来执行speak()方法指定的发音任务。


当程序用完了TextToSpeech对象之后,可以在Activity的OnDestroy()方法中调用它的shutdown()来关闭TextToSpeech,释放它所占用的资源。


使用TextToSpeech的步骤如下:
1、创建TextToSpeech对象,创建时传入OnInitListener监听器监听创建是否成功。
2、设置TextToSpeech所使用语言、国家选项,通过返回值判断TTS是否支持该语言、国家选项。
3、调用speak()或synthesizeToFile方法。
4、关闭TTS,回收资源。
阅读(697) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~