- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试构建一个函数,以在彼此之间定义的延迟读取数字。
{
...
play : function (digits, delay = 500) {
if (digits && digits.length > 0) {
responsiveVoice.speak(digits[0], "Czech Female", {
rate: 0.7,
onend: () => setTimeout(() => {
this.play(digits.splice(1), delay);
}, delay)
});
}
}
digits
是一个数字数组,delay
数字之间的延迟(以毫秒为单位)。
该函数在一段时间内运行良好,但随机失败并在控制台中出现以下错误:
Access to XMLHttpRequest at 'https://texttospeech.responsivevoice.org/v1/text:synthesize?text=0&lang=cs&engine=g1&name=&pitch=0.5&rate=0.35&volume=1&key=XXXXXXXX&gender=female' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.ResponsiveVoice audio could not be loaded. There is an issue connecting your browser to the API endpoint.GET https://texttospeech.responsivevoice.org/v1/text:synthesize?text=0&lang=cs&engine=g1&name=&pitch=0.5&rate=0.35&volume=1&key=XXXXXXXX&gender=female net::ERR_FAILED
谁能告诉我哪里出了问题?
最佳答案
当涉及字符 0
时,您使用的库似乎表现不佳(至少)。我测试了您的代码,它适用于任何其他输入。
不知何故,当向该库输入0
时,它会将请求作为XMLHttpRequest
发送到API。而不是 HTMLAudioElement
(用于每次工作演讲)。
XMLHttpRequest
在跨域请求方面有一些限制(更多信息你可以阅读 CORS ),API 似乎不支持 XMLHttpRequest
调用。
这是库和 API 之间的不一致,我怀疑库中存在与 truthy/falsy 检查相关的错误。
您应该联系他们的支持并报告此错误。
编辑:
正如评论中所写,似乎有一种解决方法是在数字前添加一个空格。
关于javascript - ResponsiveVoice 被 CORS 屏蔽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63219458/
当我点击“播放”按钮时,这个简单的代码工作正常: 但是,当我试图将它放入一个在加载时调用的函数中时,它不起作用:
关于http://responsivevoice.org的信息不多关于 isPlaying()。 这是我尝试过的方法,但没有用。我没有得到 console.log()。 setInterval(fun
有人曾经在 Windows 10 中使用 Google Chrome 浏览器在没有互联网连接的情况下尝试过responsivevoice.js吗? 我尝试在 OS X (Macbook) 中,resp
这工作正常,它会在点击时朗读文本区域,但我如何才能将其更改为朗读 onload? HHHH Playing: ? 文本区域现在只显示四个字母。 我想这是关键部分,但无法将其放入任何正确执行
我尝试构建一个函数,以在彼此之间定义的延迟读取数字。 { ... play : function (digits, delay = 500) { if (digits && digits.leng
我想用相应的声音突出显示特定的段落/列表。 responsivevoice.js有没有回调。我得到了 onend 作为回调函数。但它不起作用。 每当我使用 console 而不是 highlight
我正在与 ResponsiveVoice 合作文本到语音库。 一切都工作得很好,除了 API 中似乎无法检测语音结束。 在 responsiveVoice 对象上,我可以看到 OnFinishedPl
为什么当使用 phonegap 将 webapp 编译成 android 应用时 TTS 不工作? 我正在尝试使用 ResponsiveVoice.js 并通过 phonegap ( https://
关于 ResponsiveVoice.JS website在怪癖部分下,它指出: iOS TTS can’t be triggered without a direct user interactio
我正在使用 responsivevoice.js在线收听文章的JavaScript库。这是我发现的最好的免费文本转语音,比我试过的许多付费的要好,但我也需要下载音频,但我不知道如何下载。关于我该怎么做
目前我正在做排队系统,并且正在研究使用响应式语音的语音播报。我把它放在 setInterval 上,但问题是它正在循环并且声音永远不会停止。 $( document ).ready(func
我是一名优秀的程序员,十分优秀!