javascript - SpeechSynthesisUtterance onboundary 事件未正确触发
问题描述
我正在使用 SpeechSynthesisUtterance onboundary 事件未正确触发。它有时在句子的中间停止。
有人遇到过这种情况吗?请帮忙。
var utterance = new SpeechSynthesisUtterance();
utterance.lang = 'en-UK';
utterance.rate = 1;
utterance.onboundary = function(event){
console.log(event);
};
解决方案
似乎是垃圾收集的问题(https://bugs.chromium.org/p/chromium/issues/detail?id=509488#c11)如果您将话语存储在具有全局上下文的变量中,它可以工作:
window.utterances = [];
var utterance = new SpeechSynthesisUtterance( 'hello' );
utterances.push( utterance );
speechSynthesis.speak( utterance );
推荐阅读
- c++ - 主函数中的 C++ 私有变量访问
- javascript - 如果使用 JavaScript 插入 SVG,为什么从 SVG 链接的 CSS 不会加载?
- java - 蛇游戏中的Java ArrayIndexOutOfBoundException错误
- html - 如何垂直对齐 img 旁边顶部导航栏中的“电子邮件促销”文本以及其他文本链接?
- sas - SAS 导入不带标题的 XLS 文件
- c# - 使用 c# 应用程序连接远程 phpmyadmin 服务器
- c - 在 C 中将 char 数组作为参数传递会变成指针
- javascript - 访问firebase数据库中的孩子
- php - PHP社交网络块功能
- python - 在 Databricks 中设置 SQL 会话会出错