我正在尝试向Javascript中的语音合成对象添加自定义事件。
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);
当我运行这段代码时,什么都不会发生,我也不确定我的方向是否正确。
我试图创建一个比“onboundary”事件更细粒度的事件,它只测量单词或句子的结尾,并给出字符索引。
我想测量语音合成API中每一个字符的结尾-这实际上可能不是正确的方法-但我对Javascript事件系统的理解还不完整。
我如何添加一个定制事件来激发语音合成的charIndex值的每次更改?
https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisEvent/charIndex