- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
迫不及待想尝试 Web Speech API .我完全从文章中复制了代码,我在你说话的地方遇到了问题,但在你再次说话之前没有任何反应。
[ fiddle :http://jsfiddle.net/w75v2tm5/ ]
JS:
if (!('webkitSpeechRecognition' in window)) {
//handle error stuff here...
} else {
var recognition = new webkitSpeechRecognition();
recognition.continuous = true;
recognition.interimResults = false;
recognition.start();
var final_transcript = '';
recognition.onresult = function (event) {
var interim_transcript = '';
if (typeof (event.results) == 'undefined') {
recognition.onend = null;
recognition.stop();
upgrade();
return;
}
for (var i = event.resultIndex; i < event.results.length; ++i) {
if (event.results[i].isFinal) {
final_transcript += event.results[i][0].transcript;
} else {
interim_transcript += event.results[i][0].transcript;
}
}
document.getElementsByTagName('div')[0].innerText = final_transcript;
};
}
例如,如果我要说“Hello world”,我设置用于显示结果的
变量“final_transcript”保存的是先前的结果,而不是我刚才所说的。仅相差 1。
给你一个更好的主意...
我:“ Hello World ”
final_transcript = '';
[等等...]
我:“测试”
final_transcript = ' Hello World '
这还在继续。代码无法按照我所说的那样转录我所说的内容。很奇怪。
关于为什么会这样有什么想法吗?
最佳答案
有某种内置的超时,即使没有更多的输入(似乎大约 5-10 秒),您也会在超时之后得到结果。
在这种情况下,您将获得最终的 onresult
事件,以及 onend
事件。您必须调用 recognition.start()
如果您希望继续接受输入,请再次输入。
另外,如果你设置
recognition.interimResults = true;
你会得到onresult
具有非最终结果的事件,您可以在获得最终结果之前决定是否要显示它们。
另一个选项是关闭连续
recognition.continuous = false;
您将在输入(音频)停止后不久得到结果。您还将获得 onend
事件。
如果您想继续识别,您将不得不再次调用
recognition.start();
在onend
事件处理程序。
在非 HTTPS 页面上,这将导致权限栏再次弹出。
参见 example
关于javascript - webkitSpeechRecognition 收集结果时落后 "lagging",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25225119/
let config = [{ name: 1, state: 1, output: 'Y', }, { name: 2, state: 1, outp
我在使用 C# 统一编程时遇到了一些问题。我试图在开始游戏时请求一个插页式广告,这样我就可以在玩家死亡 5 次时显示它。问题是,当我遇到第 5 次死亡时,广告将不会显示。当我尝试在关卡开始时请求广告时
我有 JPanel,从中打开一个扩展 AbstractAIFDialog 的搜索条件对话框。它由搜索条件文本字段、结果 TableView 和搜索按钮组成。单击“搜索”后,在此对话框中,我需要显示进度
所以,我的蛇做了连续的运动,但如果我按任意键,它就会及时倒退并前后滞后。这是视频:https://youtu.be/KCesu5bGiS8 我的猜测是更快地更新按键输入,但是当我这样做时,所有内容都会
我正在尝试获得 TODAY THE CURRENT 的所有选票,并且我几乎已经通过以下 mysql 查询实现了这一点,但是有一个问题。 这段代码让我获得了今天的选票: SELECT COUNT(*)
我正在使用 RS256 算法生成 Azure AD token 。 当我解码 https://jwt.io/ 中的 token 时发出的时间比请求时间晚了 5 分钟。 请求的时间:美国标准时间晚上 9
当我查询 NOW() 时,mysql 返回的时间与服务器上的当前时间相差大约 -30 秒。有任何想法吗?我尝试查看配置文件,但一无所获。我正在运行 5.1.37 版本 SELECT NOW() 最佳答
我正在做一个开源项目。我首先 fork 这个项目,将它克隆到我的机器上,然后直接在 master 分支上进行了更改。我提交了这些更改并将其推到我的 fork 上。然后我打开了该更改的 pull 请求。
所以我用了大约 20 分钟写出了这个程序,并花了最后 40 分钟绞尽脑汁地想为什么它返回 21131 而不是 21124,这似乎是正确的答案。我知道代码没有问题(很可能),因为它适用于我测试的每个数字
我在使用 QueryDsl 日期算法时遇到问题。它对我不起作用,会引发以下错误: Caused by: org.postgresql.util.PSQLException: ERROR: functi
嗨,我正在玩 Angular ui 时间选择器 http://angular-ui.github.io/bootstrap/ 当我使用它时,我的日期晚了 1 小时,我该如何更改它以及为什么? JS
我是一名优秀的程序员,十分优秀!