JavaScript 中有语音或语音就绪事件吗? [复制]

2024-01-12

我在 Google Chrome 上尝试了以下操作。它会打印出来0声音,然后再次打印0我的电脑上有声音,但如果我重新加载页面以重新开始,并将最后一行更改为setTimeout(foo, 1000),那么第一行会打印出来0和第二行,87.

该数字甚至可以更改为66 or 33它有效,但我不确定它是否取决于计算机速度和网络速度(用于获取语音数据。(可能是内部网络流量,因为我在调试器的网络选项卡中没有看到任何流量)) 。

有没有更可靠的方法获得ready类似于 DOMReady 事件的事件或调用回调的某种方式,以便它更可靠? (而不是使用setTimeout推迟一段未知的时间并希望得到最好的结果)。

function foo() {
  msg = new SpeechSynthesisUtterance(),
    voices = window.speechSynthesis.getVoices();

  console.log("How many voices", voices.length);

  msg.text = "Hello World";
  speechSynthesis.speak(msg);
}

foo();
setTimeout(foo, 0);   // just try again in the next event cycle

The voiceschanged event https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/voiceschanged_event可能会有所帮助:

The voiceschanged当以下列表出现时,将触发 Web Speech API 的事件SpeechSynthesisVoice将返回的对象SpeechSynthesis.getVoices()方法已更改(当voiceschanged事件触发。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 中有语音或语音就绪事件吗? [复制] 的相关文章

  • 在 JavaScript 中将函数映射到生成器上

    我有一个名为generateNumbers在 JavaScript 和另一个生成器中generateLargerNumbers它采用由生成的每个值generateNumbers并应用一个函数addOne对其而言 如下 function ad
  • 使用正则表达式验证字符串是否安全

    我有一个网站 用户可以在其中选择用户名 目前 他们可以输入几乎任何字符 包括 ETC 我知道我可以使用正则表达式 这可能就是我的选择 我将使用否定集 我认为这是正确的工具 如下所示 那么 我怎样才能知道要放入该集合中的所有非法字符呢 我可以
  • 在函数调用时加载外部 Javascript

    我想知道如何从函数将外部 Javascript 加载到我的文档中 这是一种方法 function loadDaFun var script document createElement script script src path to y
  • YouTube - 右键单击​​时不显示上下文菜单

    想法 通过使用右键拖放到视频播放器上来查找 YouTube 视频 例如 每 2 屏幕宽度 1 秒 因此 在 1920x1080 的屏幕上 如果我按下鼠标右键 将其向左拖动 384 像素 20 然后松开 视频应该快退 10 秒 我有一个 Gr
  • 添加数组的总和。显示1个输出

    更新 这个问题的答案如下 感谢在不同线程上进行的 dougtesting 将数组相加 显示总和 https stackoverflow com questions 45724641 add array together display su
  • HTML5 Audio Element 无法在 IOS 11 设备上的 safari 中播放 mp3 直播

    我是一家广播公司的网络开发人员 自 iOS 11 发布以来 我们收到了一些用户投诉 称我们的音频直播流无法再在 IOS 11 设备上播放 为了将流嵌入我们的网站 我们使用 HTML5 AudioElement 在 iOS 11 的 iPho
  • 如何在 vuejs 中防止/停止点击传播

    我有一个递归列表 树 每个元素都有一个 click sayHello el id 现在的问题是 因为它是一个嵌套列表 例如 list element 0 01 list el 1 01 list el 2 01 list el 1 02 l
  • 代理阻止网络套接字?如何绕行

    我有一个用 Python 编写的正在运行的 websocket 服务器 来自https github com opiate SimpleWebSocketServer https github com opiate SimpleWebSoc
  • 如何在 jQgrid 中隐藏列但在添加/编辑面板中显示此列

    我想要一种我使用的控制形式 但字段数量太高了 如何显示网格 但只有表单添加 编辑弹出面板中的某些字段显示所有字段 以下是您可以执行此操作的方法 colModel name email label E mail editable true h
  • 在 forEach() 中使用 `this` [重复]

    这个问题在这里已经有答案了 免责声明 我正在学习 JavaScript 我有一个像这样的对象构造函数 var Palette function this colors red green blue this getColorCombinat
  • 如何按日期升序对对象进行排序?

    如果我有一个对象列表 var objectList LIST OF OBJECT each object列表中包含三个属性 name date gender 如何按 对列表中的对象进行排序date 属性升序 the date 属性包含字符串
  • 将 JSON 字符串传递给 Django 模板

    我一直在用头撞墙 试图找出为什么我无法将从 Django 模型生成的 JSON 字符串传递到模板的 javascript 静态文件中 事实证明 问题不在模型级别 使用serializers serialize 在脚本本身中放入相同的字符串将
  • jQuery 删除函数真的删除 Dom 元素吗?

    我真的想知道 jQuery 是否remove http api jquery com remove 函数确实从 DOM 中删除元素 首先 我看了here https stackoverflow com questions 2185760 j
  • 需要将焦点放在react中的div上

    我有一个之前用 H1 标签包裹的文本 页面加载后 我需要专注于该文本 为了方便起见 我将它包装在 div 中 render const translate billing primaryContactSelection true this
  • LINQ SingleOrDefault() 等效项

    在 Typescript 中 我经常使用这种模式 class Vegetable constructor public id number public name string var vegetable array new Array
  • Chrome 和 IE 上的滚动/延迟事件

    我试图让用户始终看到一个内容块 即使他向下滚动页面也是如此 他还应该能够上下滚动内容块 这是一个精简版本的小提琴 向您展示我的意思 http jsfiddle net 9ehfV 2 http jsfiddle net 9ehfV 2 人们
  • 如何在 ECMAScript 6 中导入 JSON 文件?

    如何访问 ECMAScript 6 中的 JSON 文件 以下不起作用 import config from config json 如果我尝试导入 JavaScript 文件 这可以正常工作 https www stefanjudis c
  • 如何选中表格中输入文本焦点上的复选框

    我试图在输入文本焦点上检查表 DOM 中的复选框 但无法访问复选框元素 但我的焦点正在工作 这是我的 jsfiddle 链接https jsfiddle net 9qha9vft https jsfiddle net 9qha9vft 这是
  • 获取css规则、chrome扩展

    我正在开发 Chrome 扩展程序 它需要访问document styleSheets cssRules 它在某些网站上运行良好 例如w3school 但其他人则不然 比如堆栈溢出 我收到错误 Failed to read the cssR
  • 使用 Javascript 删除字符串的最后一个字符

    我有一个DIV与一些字符 如何在每次单击时删除文本中的最后一个字符DIV itself 删除第一个字符 div on click function this text function index text return text repl

随机推荐

  • Apache 给出 403 禁止错误

    好的 我之前已经设置了两个虚拟主机 它们运行得很好 它们都包含简单的网络项目并且可以很好地工作http project1 and http project2在浏览器中 不管怎样 我是来添加另一个虚拟主机的 我使用 127 0 0 1 pro
  • 创建 Galaxy S5 模拟器

    据gsmarena com网站称 Galaxy S4和Galaxy S5的规格几乎相同 当然 那些关心我们想要创建 S5 模拟器的人 是否建议使用现有的 S4 模拟器 如果没有 应该更改什么才能获得 Galaxy S5 模拟器 我当前的 S
  • 在 Entity Framework 4.3 中增量播种数据的最佳方法

    我一直在现有数据库上使用 Entity Framework 4 3 并且我有几个想要满足的场景 首先 如果我删除数据库 我希望 EF 从头开始 重新创建 我已成功使用 CreateDatabaseIfNotExists 数据库初始化程序来实
  • 为什么字符串是引用类型,但行为与其他引用类型不同?

    我们知道字符串是引用类型 所以我们有 string s God is great 但同样 如果我声明类 Employee 是一个引用类型 那么为什么下面的代码不起作用 Employee e Saurabh 2 我们如何实际确定一个类型是引用
  • Laravel 8 中未定义操作 Controller@store 的问题

    我仍在探索 Laravel 8 但我的控制器的 store 方法 未定义 有问题 InvalidArgumentException 操作 PostsController store 未定义 查看 D Server htdocs app re
  • jitpack.io - 无法解决

    我正在尝试导入一个library https github com deano2390 MaterialShowcaseView using jitpack io https jitpack io 这是我的顶级build gradle bu
  • 谷歌身份验证:OAuth2 不断返回“invalid_grant”

    我开始在我的新应用程序上配置谷歌日历 我几乎复制了谷歌开发人员显示的身份验证代码 https developers google com google apps calendar instantiate https developers g
  • Emacs 在 C 中的宏后缩进

    define INIT MACRO create some enviroment void function INIT MACRO extra indented normal indented 当要求自动缩进时 如何让emacs正确处理上述
  • 使用 AWS SDK 以 IAM 用户身份登录

    谁能帮助我了解如何使用 AWS SDK 以 IAM 用户身份登录 我正在使用适用于 Java 的 AWS 开发工具包 并且一直在寻找合适的 API 来以 IAM 用户身份登录 但我无法做到这一点 我能够传递访问密钥和密钥以使用 SDK 登录
  • 如何从 Firebase Firestore set() 调用返回承诺?

    这是我的问题的后续https stackoverflow com questions 54100270 google translate api and firebase firestore are killing each other 道
  • Spring Boot 2.x 的性能问题?

    我最近将Web应用程序中使用的Spring Boot版本从1 5版本更新到2 1版本 当我对其进行负载测试时 我的运行时间从 25 分钟缩短到 35 分钟 我知道这是一个广泛的问题 但是有谁知道为什么应用程序在升级 Spring Boot
  • 在 javascript 中填写表单的通用方法

    我正在寻找一种真正通用的方法来使用 javascript 基于参数字符串 填写 表单 例如 如果我有这个表格
  • R 通过 Hoovermode 绘图显示 x 轴值

    按照此question https stackoverflow com questions 70576618 r plotly bar chart positive negative values different color secon
  • Qt update() 不起作用

    我有一个问题 update 函数QGraphicsItem不起作用 我想做的是 当我移动圆圈时 其他QGraphicsItem 同时 roundrect 改变颜色 这是一个例子 我想做的事情 圆 cpp void CircleItem mo
  • 为什么我的 Google 网络字体是像素化的?

    我正在尝试在一个简单的网站中使用谷歌字体 我正在使用的标签是 CSS 是 body padding 0 text align center line height 180 background 1a2426 color f7f7f7 fon
  • EF 6 代码优先存储过程 - 只读

    我搜索了一些帖子 但都没有找到 我首先使用 EF6 代码尝试从数据库中已设置的存储过程获取结果 我的应用程序很简单 它从两个不同的服务器获取数据 执行一些业务逻辑 然后向用户显示 我可以使用 edmxfile Fine 它将函数映射到 xm
  • ImportError:无法从“google.cloud”(未知位置)导入名称“pubsub_v1”

    我正在尝试将 pubsub v1 导入云函数中 但是当我尝试将其部署到GCP上时 出现了如标题所示的问题 requirements txt 文件与 main py 文件位于同一目录中 这是requirements txt中的内容 googl
  • Excel:有没有一个函数可以返回满足匹配条件的范围? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 给定一个值与后续行 同一列上 进行比较 并返回直到该值第一次更改的行的范围 Example A 1 cat 2 cat 3 cat 4 dog 5 c
  • 具有 CuDNNLSTM 层的 Keras 模型无法在生产服务器上运行

    我使用 AWS p3 实例通过 GPU 加速训练以下模型 x CuDNNLSTM 128 return sequences True inputs x Dropout 0 2 x x CuDNNLSTM 128 return sequenc
  • JavaScript 中有语音或语音就绪事件吗? [复制]

    这个问题在这里已经有答案了 我在 Google Chrome 上尝试了以下操作 它会打印出来0声音 然后再次打印0我的电脑上有声音 但如果我重新加载页面以重新开始 并将最后一行更改为setTimeout foo 1000 那么第一行会打印出