TextToSpeech简称 TTS,是Android 1.6版本中比较重要的新功能。将所指定的文本转成不同语言音频输出。它可以方便的嵌入到游戏或者应用程序中,增强用户体验。
也即“从文本到语音”,是人机对话的一部分,让机器能够说话。
它是同时运用语言学和心理学的杰出之作,在内置芯片的支持之下,通过神经网络的设计,把文字智能地转化为自然语音流。TTS技术对文本文件进行实时转换,转换时间之短可以秒计算。在其特有智能语音控制器作用下,文本输出的语音音律流畅,使得听者在听取信息时感觉自然,毫无机器语音输出的冷漠与生涩感。TTS语音合成技术即将覆盖国标一、二级汉字,具有英文接口,自动识别中、英文,支持中英文混读。所有声音采用真人普通话为标准发音,实现了120-150个汉字/秒的快速语音合成,朗读速度达3-4个汉字/秒,使用户可以听到清晰悦耳的音质和连贯流畅的语调。现在有少部分MP3随身听具有了TTS功能。
使用
tts.speak("您有新的订单,请注意查看", TextToSpeech.QUEUE_FLUSH, null);
介绍一下第二个参数的意思,其余很简单
/**
* 第二个参数queueMode用于指定发音队列模式,两种模式选择
* (1)TextToSpeech.QUEUE_FLUSH:该模式下在有新任务时候会清除当前语音任务,执行新的语音任务
* (2)TextToSpeech.QUEUE_ADD:该模式下会把新的语音任务放到语音任务之后,
* 等前面的语音任务执行完了才会执行新的语音任务
注意内存泄露问题
在activity或者是fragment的情况下,我们要在ondestory()中关闭,释放资源
if (tts != null) {
tts.stop();
tts.shutdown();
//不管是不是在阅读,都打断
//关闭,释放资源
tts = null;
}











网友评论