Android 实现自动朗读(TTS)
2010-03-25 17:02:00 来源:WEB开发网核心提示:HashMap myHashRender = new HashMap();String wakeUpText = "Are you up yet?";String destFileName = "/sdcard/myAppCache/wakeUp.wav";myHashRende
HashMap myHashRender = new HashMap();
String wakeUpText = "Are you up yet?";
String destFileName = "/sdcard/myAppCache/wakeUp.wav";
myHashRender.put(TextToSpeech.Engine.KEY_PARAM_UTT ERANCE_ID, wakeUpText);
mTts.synthesizeToFile(wakuUpText, myHashRender, destFileName);
当完成以上操作之后会收到系统的完成通知,同时可以像其它音频资源一样,通过 android.media.MediaPlayer方法来播放。但这有悖于TextToSpeech的应用流程,可以将刚刚输出的语音资源通过 addSpeech()的方法将其语音和文字描述一同存储于TTS库中。
mTts.addSpeech(wakeUpText, destFileName);
在当前的TTS Instance中,任何利用Speak()方法执行相同内容的调用都将复用刚刚所生成的音频文件。如果资源丢失或者SDCard等存储设备移除,那么系统将再次通过TTS Engine合成所指定的语音内容。
mTts.speak(wakeUpText, TextToSpeech.QUEUE_ADD, myHashAlarm);
回收TTS:
当确定应用程序不再需要TTS的相关功能后,可以在Activity的OnDestroy()方法中调用shutDown()释放当前TTS 实体所占用的资源。
更多精彩
赞助商链接