作者:手机用户2602899031 | 来源:互联网 | 2023-05-28 13:05
据我所知,在Mac或iOS中,在Safari中均不会触发voiceschanged事件。同样奇怪的是,它似乎也没有在iOS上的Chrome中启动,但是我假设iOS上的Chrome使用与Safari相同的Javascript引擎。
这是我用来验证的一个演示:http : //jsbin.com/gosaqihi/9/edit?js,控制台(摘自“ 获取语音中的语音列表”,Chrome合成(Web Speech API))
我也尝试过使用addEventListener:
speechSynthesis.addEventListener("voiceschanged", function () {
var voices = speechSynthesis.getVoices(),
keys = Object.keys(voices[0]),
i, j;
document.write(" ");
for ( i = 0; i " + keys[i] + "");
}
document.write(" ");
for ( i = 0; i ");
for ( j = 0; j " + voices[i][keys[j]] + "");
}
document.write("");
}
document.write("");
}, false);
两种方法(onvoiceschanged,addEventListener)在Windows,Android和Mac的Chrome浏览器中都可以正常运行,但在iOS的Chrome和Mac和iOS的Safari浏览器中无法运行。据我所知,Safari根本不会触发变声事件。
复杂的事情,我实际上没有任何苹果设备,因此我不得不通过让朋友尝试一下来弄清楚。
我需要在Safari中做一些特别的事情来获取声音列表吗?还是仅仅(尚未)完全实现语音合成API?
1> Sarah Elan..: 显然,到目前为止,Safari仅部分支持Web Speech API。
你可以为你的代码在不同的环境中工作,做的是检测是否onvoiceschanged
存在speechSynthesis
。如果没有,您可以直接通话speechSynthesis.getVoices()
而无需收听onvoiceschanged
。
function doVoices() {
var voices = speechSynthesis.getVoices(),
// ...
}
if ('onvoiceschanged' in speechSynthesis) {
speechSynthesis.Onvoiceschanged= doVoices;
} else {
doVoices();
}
推荐阅读
所谓web,纵然你我素未谋面,便知志趣相投;深居简出,亦知天下之大。01—为何阻拦要求如今的web运用,大都是经由过程要求(http)去猎取资本,拿到资本后再显现给用户,一个页面中 ...
[详细]
蜡笔小新 2023-10-12 12:48:46
本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ...
[详细]
蜡笔小新 2023-12-14 13:56:20
本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ...
[详细]
蜡笔小新 2023-12-14 12:01:13
本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ...
[详细]
蜡笔小新 2023-12-14 10:29:45
本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ...
[详细]
蜡笔小新 2023-12-13 17:08:24
一、pyecharts介绍ECharts,一个使用JavaScript实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部 ...
[详细]
蜡笔小新 2023-10-16 08:29:03
The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ...
[详细]
蜡笔小新 2023-12-14 19:58:05
我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ...
[详细]
蜡笔小新 2023-12-14 10:20:38
本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ...
[详细]
蜡笔小新 2023-12-13 22:09:56
本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ...
[详细]
蜡笔小新 2023-12-13 20:01:16
http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ...
[详细]
蜡笔小新 2023-12-13 19:20:03
本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ...
[详细]
蜡笔小新 2023-12-13 17:39:50
1.webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用(1) ...
[详细]
蜡笔小新 2023-10-17 11:02:41
META相关1.添加到主屏后的标题(IOS)<metaname"apple-mobile-web-app-title& ...
[详细]
蜡笔小新 2023-10-13 15:19:46
后端开发|php教程php,javascript,html5后端开发-php教程现在正在开发移动端webapp,遇到了比较麻烦的问题:用户输入帐号密码登陆后,自动跳转到首页,,QQ ...
[详细]
蜡笔小新 2023-10-13 09:55:00
手机用户2602899031
这个家伙很懒,什么也没留下!