问题标签 [webkitspeechrecognition]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typescript - “未捕获(承诺中):TypeError:webkitSpeechRecognition 不是构造函数
我正在尝试让 SpeechRecognition 在 Firefox 中工作,并了解这是截至 2019 年 12 月上个月的问题。
这是我从基本用法开始的代码
这是我在 Typescript 中的实现:
我不断得到的是:
错误错误:“未捕获(承诺):TypeError:webkitSpeechRecognition不是构造函数
我知道它在粗体行中,因为当我只用 SpeechRecognition 换出 webkitSpeechRecognition 时,我仍然会在不同的项目中遇到相同的错误......
错误错误:“未捕获(承诺):TypeError:SpeechRecognition不是构造函数
最后,这是我的 polyfill.ts ......
javascript - Android Chrome 中的 Web Speech API 问题
我正在尝试使用Web Speech API的SpeechRecognition接口。它在桌面版 Chrome 上运行良好,但我无法让它检测到 Android 版本上的任何音频。在我自己的代码无法运行后,我在两台不同的 Android 设备(一台运行 LineageOS Nougat,一台运行 LineageOS Pie,均使用 Chrome 79)上测试了这个演示以及另一个演示,但两个演示都无法在任一设备上运行。
我不确定这里出了什么问题……其他人可以让这些演示在 Android 上运行吗?我正在通过 https 提供我的测试页面,我可以使用navigator.mediaDevices.getUserMedia在这些设备上录制来自 microhpone 的音频,因此它似乎不是硬件、权限或安全问题。
我看到的具体症状如下:
该
start
事件在最初按预期开始识别后触发,但随后audiostart
的soundstart
、speechstart
和result
事件应该遵循它永远不会这样做。尝试调用
SpeechRecognition.stop
似乎没有任何效果——结束事件不会被触发。在停止尝试后调用SpeechRecognition.start
会引发Uncaught DOMException: Failed to execute 'start' on 'SpeechRecognition': 识别已经开始。调用
SpeechRecognition.abort
确实会触发end
事件并允许重新启动识别。
这是一些基于MDN 示例的测试代码。
任何关于问题可能是什么的想法都将不胜感激。
更新 2021-01-08:
我修改了示例代码,使其将日志消息输出到textarea
元素而不是控制台,从而消除了远程调试的需要。我还在我的域上发布了一个实时版本。然后我在 LineageOS Oreo 上使用 Chrome Canary 89 对其进行了测试,发现它仍然无法在那里工作。然而,我随后发现这个示例在运行官方版本的 Android Pie 和 Chrome 87 的 Razer 手机上运行良好!因此,我的 WebSpeech 实现似乎很好,并且 LineageOS 可能存在多个版本存在的其他问题。
这个问题已经收到了相当多的意见,所以我想其他人一定有类似的问题。对于这些人,我建议您在几个不同的设备上尝试实时测试,并在此处报告您的发现。也许我们可以缩小导致它在某些设备上失败但在其他设备上失败的条件。可能这与 LineageOS 完全无关,但完全是另一个问题。
speech-recognition - SpeechRecognition 无法识别正确的单词或字母
A、B、C、D 等出现在屏幕上,然后我希望用户说出相同的字母。但我的问题是语音识别没有捕捉到我大声说出的字母......有时它会说我说A,有时“大多数时候”,它没有......
下面的链接使用相同的代码,但由于某种原因,它不能以相同的方式识别我的单词/字母?
https://davidwalsh.name/demo/speech-recognition.php
webkitspeechrecognition - webkitSpeechRecognition 在 start() 之后立即调用 onend
一旦我调用rec.start(),它就会立即调用onstart,然后立即调用onend,永远不会进入onresult。
网页允许使用麦克风,由于是 https Using Chrome 81.0.4044.122 on osx,它被询问过一次,它被列为支持语音识别。
我知道这在浏览器中不是一个稳定的功能,但运行 annyang 演示工作,检测我的声音,我相信这是使用相同的语音识别工具包。 https://www.talater.com/annyang/
有任何想法吗?
这是我的代码
javascript - Webkit 语音识别 API:单音节
我正在尝试使用 Webkit Speech Recognition API 来识别单个音节,而不是完整的单词或句子。由于这个API需要“语法”定义,不知道有没有办法实现单音节识别。像“啊”或“bi”之类的东西。
谢谢
flutter - 如何在 Flutter Web 上进行语音识别
我正在使用颤振构建一个适用于 ios 和 android 的语音识别应用程序,但它不适用于网络。所以我决定在 web 文件夹中添加一个 app.js 文件,这样我就可以在我的 dart 文件中使用它。我能够让这个文件中的其他函数工作,但是每当我调用应该使网络语音识别工作的函数时,它就不起作用,并且我在控制台中收到一些错误消息。这是app.js
文件中的代码:
在我的main.dart
文件中,我使用了import 'dart:js' as js;
这样我可以像这样调用函数
当我像这样调用其他函数时,它可以正常工作,但是当我调用指令函数时它不起作用,并且我在控制台中收到此消息:
是否有什么问题,或者我必须有什么替代方案才能让语音识别适用于颤振网络。提前致谢!
javascript - 如何以简单的方式在 vuejs 中实现 webkitSpeechRecognition?
我能找到的最好的是这个演示,但对我来说不是很清楚。
你能分享一个非常简单的实现吗?
javascript - 如何在电子中启用语音识别?
我有一个以电子方式运行的聊天机器人,我需要在那里为文本添加语音。我使用了 window.SpeechRecognition 和 window.webkitSpeechRecognition 但现在看来 chrome 不支持电子语音识别。有没有一种方法可以让电子文本的语音成为可能。下面是我尝试过的代码。
这是我的应用程序的必备要求。任何解决方法或 API 的建议表示赞赏。
javascript - 为什么每次运行时相同的语音识别代码表现不同?
这是我的代码
这里的问题是我无法cust_response(response)
从voice_recognition.onresult
.
编辑:我已将此 voice_recognition.onresult=function(event){} 更改为 voice_recognition.addEventListener("result",(event)=>{}) ,这正在调用其中的函数。但是随着这个改变,它有时会调用 voice_recognition.addEventListener("result",(event)=>{}) 并且当我再次运行时它没有调用这个函数,甚至它没有执行 voice_recognition.addEventListener("error",(event)= >{})。为什么相同的代码有时运行而其他时间不运行?
javascript - 如何在 SpeechRecognition Web Speech API 中禁用句子级自动更正
当我说出一句话“在我附近放映宗旨电影”时,语音识别 API 会自动将我的句子更改为“在我附近放映今晚的电影”,问题是宗旨一词已更改为今晚