SpeechSynthesisEvent - 包含语音服务中 SpeechSynthesisUtterance 对象的信息
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
SpeechSynthesisEvent
是 Web Speech API 的接口,包含有关语音服务中已处理的 SpeechSynthesisUtterance
对象当前状态的信息。
属性
SpeechSynthesisEvent
接口还从其父接口 Event
继承了属性。
SpeechSynthesisEvent.charIndex
只读
返回触发事件时正在说出的 SpeechSynthesisUtterance.text
中字符的索引位置。
SpeechSynthesisEvent.elapsedTime
只读
返回从 SpeechSynthesisUtterance.text
开始说出触发事件的时间起经过的毫秒数。
SpeechSynthesisEvent.name
只读
返回与说出 SpeechSynthesisUtterance.text
时发生的某些事件类型相关的名称:如果是 mark
事件,则为 SSML 标记的名称;如果是 boundary
事件,则为边界的类型。
SpeechSynthesisEvent.utterance
只读
返回触发事件的 SpeechSynthesisUtterance
实例。
方法
SpeechSynthesisEvent
接口还从其父接口 Event
继承了方法。
更多实例
utterThis.onpause = function(event) {
var char = event.utterance.text.charAt(event.charIndex);
console.log('语音在 "' + event.utterance.text + '" 的第 ' + event.charIndex + ' 个字符处暂停,字符是 "' + char + '"。');
}
utterThis.onboundary = function(event) {
console.log(event.name + '在 ' + event.elapsedTime + ' 毫秒之后到达边界。');
}
规范
规范 | 状态 | 备注 |
---|---|---|
Web Speech API SpeechSynthesisEvent 的定义 |
草稿 | - |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 33 | ≤18 | 49 | 不支持 | 21 | 7 |
charIndex | 33 | 14 | 49 | 不支持 | 21 | 7 |
elapsedTime | 33 | 14 | 49 | 不支持 | 21 | 7 |
name | 33 | 14 | 49 | 不支持 | 21 | 7 |
utterance | 33 | 14 | 49 | 不支持 | 21 | 7 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 不支持 | 33 | 未知 | 62 61 — 62 | 未知 | 不支持 | 7 |
charIndex | 不支持 | 33 | 未知 | 62 61 — 62 | 未知 | 不支持 | 7 |
elapsedTime | 不支持 | 33 | 未知 | 62 61 — 62 | 未知 | 不支持 | 7 |
name | 不支持 | 33 | 未知 | 62 61 — 62 | 未知 | 不支持 | 7 |
utterance | 不支持 | 33 | 未知 | 62 61 — 62 | 未知 | 不支持 | 7 |