一. 简单介绍
在上一篇里
http://blog.csdn.net/ichliebephone/archive/2010/08/10/5802739.aspx
我们讲到了TTS 最主要的一个API :
public int speak ( String text, int queueMode, HashMap < String , String > params)
其中我们介绍了前两个参数,第三个参数设置了null ,并没有具体介绍。
而且我们在介绍Android TTS 提供的功能时,说到TTS 提供了两个接口,第一个初始化接口OnInitListener 我们已经使用过了,而第二个接口OnUtteranceCompletedListener 我们还没有使用到。
首先我们就来简单介绍一下这个接口的使用方式。TTS 引擎进行语音合成的每个语音片段叫做"utterance ", 而且在送给speak 函数进行语音合成时,可以为这次的语音片段"utterance " 设置一个ID 。OnUtteranceCompletedListener 这个接口里定义了一个回调函数,当设置了ID 的语音片段"utterance " 语音合成结束后就会调用这个回调函数。然后我们就可以在这回调函数里进行我们需要的操作,比如在某个特定ID 的语音片段结束后播放音乐,或者跟踪记录哪些文本内容已经被朗读等。
下面利用这个接口的功能完成一个Demo 例子,朗读一段爱的表白,并且在程序退出后可以记住这次表白到哪了,下次在她再次打开程序时,就可以继续这爱的表白。
二. 实例分析
我们希望做的效果如下:
图1 实现效果图
在界面上体现不出这个Demo 的特点,除了一长串英文的爱的表白外,还有一个Speak 按钮。但当点