我正在尝试向Java语言中的语音合成对象添加自定义事件。
let msg = new SpeechSynthesisUtterance();
msg.voiceURI = 'native';
msg.volume = 1;
msg.rate = .7;
msg.pitch = 1;
msg.text = '恭喜发财';
msg.lang = 'zh-CN';
var event = new Event('build');
msg.addEventListener('build', function (e) { console.log("custom event success"); }, false);
msg.dispatchEvent(event);
当我运行这段代码时什么也没发生-我不确定我的方向是否正确。
我正在尝试创建一个比“边界”事件更精细的事件-仅测量单词或句子的结尾并给出字符索引。
我想测量以语音合成API结尾的每个字符-实际上这可能不是正确的方法-但是我对Javascript事件系统的理解并不完整。
我如何添加一个自定义事件,该事件会在语音合成的charIndex值的每次更改时触发?
https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisEvent/charIndex
我可以在边界上获得此值,但是它不能提供我所需的粒度。