speechSynthesis 播放结束事件
1speechSynthesis 播放结束事件
speechSynthesis有两个相关的事件可以用来检测播放是否结束:`onend`和`onboundary`。

`onend`事件会在整个文本被读出完毕后触发,示例如下:

```
const speech = new SpeechSynthesisUtterance('Hello world');
speech.onend = () => {
console.log('播放结束');
};
speechSynthesis.speak(speech);
```

`onboundary`事件则是在每次切换到新的语音片段时触发,如果用`SpeechSynthesisUtterance`对象的`boundary`属性设定了语音的分割点,则可以利用这个事件来实现更加精细的控制。示例如下:

```
const speech = new SpeechSynthesisUtterance("Hello, how are you?");
speech.onboundary = (event) => {
console.log(`播放到${event.charIndex + 1}字符`);
};
speechSynthesis.speak(speech);
```

在本示例中,`onboundary`事件会在每次切换到一个新的单词时触发,输出播放到哪个字符。
本页由《梦行文档》生成

 

name完成
30