ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] 将文字信息转化为可听的声音信息,让机器像人一样开口说话。 ## 合成播放 ~~~ //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为null public 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.创建SpeechSynthesizer对象 SpeechSynthesizer mTts= SpeechSynthesizer.createSynthesizer( ); //2.合成参数设置,详见《MSC Reference Manual》SpeechSynthesizer 类 mTts.setParameter(SpeechConstant.VOICE_NAME, "xiaoyan");//设置发音人 mTts.setParameter(SpeechConstant.SPEED, "50");//设置语速,范围0~100 mTts.setParameter(SpeechConstant.PITCH, "50");//设置语调,范围0~100 mTts.setParameter(SpeechConstant.VOLUME, "50");//设置音量,范围0~100 //3.开始合成 //设置合成音频保存位置(可自定义保存位置),默认保存在“./tts_test.pcm” mTts.synthesizeToUri("语音合成测试程序", "./tts_test.pcm",synthesizeToUriListener); //合成监听器 SynthesizeToUriListener synthesizeToUriListener = new SynthesizeToUriListener() { //progress为合成进度0~100 public void onBufferProgress(int progress) {} //会话合成完成回调接口 //uri为合成保存地址,error为错误信息,为null时表示合成会话成功 public void onSynthesizeCompleted(String uri, SpeechError error) {} }; ~~~