在Android应用中,有时候需要朗读一些文本内容,今天介绍一下Android系统自带的朗读TextToSpeech(TTS)。自动朗读支持可以对指定文本内容进行朗读,还可以把文本对应的音频录制成音频文件。Android的自动朗读支持主要通过TextToSpeech来完成,该类提供了如下构造器:
TextToSpeech(Context context, TextToSpeech.OnInitListener listener)
当创建TextToSpeech对象时,必须先提供一个OnInitListener监听器---该监听器负责监听TextToSpeech的初始化结果。
一旦获得了TextToSpeech对象后,接下来可调用TextToSpeech的setLanguage(Locale loc)方法设置发声引擎应使用的语言、国家选项。
如果调用setLanguage(Locale loc)的返回值是"TextToSpeech.LANG_COUNTRY_AVAILABLE"说明当前TTS系统可以支持所设置的语言、国家。
TTS有两个方法来朗读:
speak(String text,int queueMode,HashMap params)、synthesizeToFile(String text,HashMap params,String fileName);
speak和synthesizeToFile的区别是一个后者可以把音频保存下来。
params参数:TextToSpeech.QUEUE_ADD,TextToSpeech.QUEUE_FLSH