网络语音识别自动断开

问题描述

因此,我有一个项目,需要制作一个基于Web的虚拟助手。 问题是,如果Web语音识别Api在5秒钟之内没有听到任何声音,它将自动断开麦克风的连接(因此我需要重新打开它)。 我的问题是如何使麦克风保持活动状态,以便当我说唤醒字时,它将下一个识别结果用作命令。 *额外说明: -麦克风应该一直在听,这样当我说唤醒词时,它就可以听到。 -如果我约5秒钟不讲话,麦克风将断开连接,因此我需要手动将其重新打开(如何摆脱这种自动断开连接?) 谢谢!

解决方法

根据您的浏览器以及是否有任何选项卡试图访问您的麦克风,将SpeechRecognition对象设置为Continuous即可。

使用下面的代码作为参考。 window.SpeechRecognition只是设置语音识别。

window.SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;

const recognition = new SpeechRecognition();
recognition.continuous = true;

您还可以添加事件侦听器,以在您的识别断开连接时开始备份网络语音api。

recognition.addEventListener('end',() => {
    recognition.start();
  });

article,from our code world,on the speech api还将存储连续的口头单词。

这在Chrome浏览器上对我有用。

如果将识别设置为连续不起作用,则可能需要对计算机上的另一项服务进行故障排除,并从浏览器标签中获取麦克风。