将文字信息转化为可听的声音信息,让机器像人一样开口说话。
1.1. 合成播放
//1.创建SpeechSynthesizer对象SpeechSynthesizer mTts= SpeechSynthesizer.createSynthesizer( );//2.合成参数设置,详见《MSC Reference Manual》SpeechSynthesizer 类mTts.setParameter(SpeechConstant.VOICE_NAME, "xiaoyan");//设置发音人mTts.setParameter(SpeechConstant.SPEED, "50");//设置语速mTts.setParameter(SpeechConstant.VOLUME, "80");//设置音量,范围0~100//设置合成音频保存位置(可自定义保存位置),保存在“./tts_test.pcm”//如果不需要保存合成音频,注释该行代码mTts.setParameter(SpeechConstant.TTS_AUDIO_PATH, "./tts_test.pcm");//3.开始合成mTts.startSpeaking("语音合成测试程序", mSynListener);//合成监听器private SynthesizerListener mSynListener = new SynthesizerListener(){//会话结束回调接口,没有错误时,error为nullpublic void onCompleted(SpeechError error) {}//缓冲进度回调//percent为缓冲进度0~100,beginPos为缓冲音频在文本中开始位置,endPos表示缓冲音频在文本中结束位置,info为附加信息。public void onBufferProgress(int percent, int beginPos, int endPos, String info) {}//开始播放public void onSpeakBegin() {}//暂停播放public void onSpeakPaused() {}//播放进度回调//percent为播放进度0~100,beginPos为播放音频在文本中开始位置,endPos表示播放音频在文本中结束位置.public void onSpeakProgress(int percent, int beginPos, int endPos) {}//恢复播放回调接口public void onSpeakResumed() {}};
1.2. 合成到文件
//1.创建SpeechSynthesizer对象SpeechSynthesizer mTts= SpeechSynthesizer.createSynthesizer( );//2.合成参数设置,详见《MSC Reference Manual》SpeechSynthesizer 类mTts.setParameter(SpeechConstant.VOICE_NAME, "xiaoyan");//设置发音人mTts.setParameter(SpeechConstant.SPEED, "50");//设置语速,范围0~100mTts.setParameter(SpeechConstant.PITCH, "50");//设置语调,范围0~100mTts.setParameter(SpeechConstant.VOLUME, "50");//设置音量,范围0~100//3.开始合成//设置合成音频保存位置(可自定义保存位置),默认保存在“./tts_test.pcm”mTts.synthesizeToUri("语音合成测试程序", "./tts_test.pcm",synthesizeToUriListener);//合成监听器SynthesizeToUriListener synthesizeToUriListener = new SynthesizeToUriListener() {//progress为合成进度0~100public void onBufferProgress(int progress) {}//会话合成完成回调接口//uri为合成保存地址,error为错误信息,为null时表示合成会话成功public void onSynthesizeCompleted(String uri, SpeechError error) {}};