可以選擇發音人,語速,音量等
另外也可以暫停或停止甚至銷燬播放對象
var main = plus.android.runtimeMainActivity();
var SpeechUtility = plus.android.importClass('com.iflytek.cloud.SpeechUtility');
SpeechUtility.createUtility(main,'appid=599c0509');
var SynthesizerPlayer = plus.android.importClass('com.iflytek.cloud.SpeechSynthesizer');
var play = SynthesizerPlayer.createSynthesizer(main, null);
//合成参数设置,详见《MSC Reference Manual》 SpeechSynthesizer 类 http://mscdoc.xfyun.cn/android/api/
play.setParameter('voice_name','xiaoyu'); //发音人 xiaoyan,xiaoyu,vixy,vixq,vixf,vixl,vixx,vils(更多发音人可参见官方手冊)
play.setParameter('speed','90'); //语速,范围 0~100
play.setParameter('volume','100'); //音量,范围 0~100
play.setParameter('pitch','50'); //语调,范围 0~100
play.setParameter('engine_type','cloud'); //云端模式
//play.setParameter("tts_audio_path",'./sdcard/iflytek.pcm'); //如果不需要保存合成音频,注释该行代码(仅支持保存为 pcm 和 wav 格式)
play.startSpeaking('许久后,我缓缓抬起头,却见吴大先生不知何时进屋了.嘿真是没感情的家伙!',null);
window.setTimeout(function(){
console.log(play.isSpeaking());
play.pauseSpeaking();
console.log(play.isSpeaking());
play.stopSpeaking();
console.log(play.isSpeaking());
play.destroy();
play=null;
},2000); //2秒之後執行
main=SpeechUtility=SynthesizerPlayer=null;
mrhua (作者)
var Sc=plus.android.importClass('com.iflytek.speech.SpeechConstant');
得到结果为空,无法设置语音语调语速,而且这个发音最后一个字非常短促,体验不好!
有什么办法解决上面的问题?
2015-06-17 20:39
W3Y
太感谢了,刚开始看评论没有去尝试这个例子,结果找了整整一天还是使用这个例子成功了。
2016-03-15 15:49
8***@qq.com
回复 W3Y:你好,请问manifest.json中的节点要怎么配,没太理解,想请你交我下吗,或者有案例吗,我的邮箱:841753635@qq.com,谢谢了
2017-05-03 16:59
距离您98米
是不是限制一天500次啊?
2018-04-03 09:26
6***@qq.com
为什么说的话,听不懂,还是说的太快了
2019-09-23 09:06