我想做一个输入文字辅助发音的app,当用户输入单个文字或词组时,同步读出用户输入的字,如:用户输入“白”、“毛”、“浮”、“绿”、“水”时,我使用下面代码模拟:
speechSynthesizer.speak("白");
speechSynthesizer.speak("毛");
speechSynthesizer.speak("浮");
speechSynthesizer.speak("绿");
speechSynthesizer.speak("水");
TTS引擎在读出每一个字时都拖得很长,即使设置最快速度也没有明显效果。请问能否设置TTS引擎在读单个字音时发短读音?或者有没有办法异步向文字队列中添加文字,由TTS引擎在后台读出来?
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
目前没有这类设置,可以获得音频数据后,剪切前后静音播放
就像老师在考小学生听写时,把每一个字字正腔圆地读出来,是每个字的持续时间拉得很长,并不是字前或字后有空白时间。比如
speechSynthesizer.speak("朗"); speechSynthesizer.speak("读"); speechSynthesizer.speak("者");
与
speechSynthesizer.speak("朗读者");
消耗的时长是有很大差异的。
感觉异步加文字这个操作.需要你自己实现啊.然后再放speak去合成播放
读出每一个字时都拖得很长,是指什么很长?是输入之后到播报的时间吗?你的预期是多少?