当前位置:网站首页 > 技术博客 > 正文

原生js实现promise.all



语音识别涉及三个过程:首先,需要设备的麦克风接收这段语音;其次,语音识别服务器会根据一系列语法 (基本上,语法是你希望在具体的应用中能够识别出来的词汇) 来检查这段语音;最后,当一个单词或者短语被成功识别后,结果会以文本字符串的形式返回 (结果可以有多个),以及更多的行为可以设置被触发。

您如果想直接尝试的话可以先复制下面代码运气起来试试效果。

操作方法:将代码运行在浏览器,点击屏幕,允许麦克风权限,然后出说其中一种颜色。

结果1:识别成功,但是没听清楚您说的什么,页面不会有任何变化。

结果2:识别成功,页面背景切换为您说的那种颜色。

结果3:识别失败,失败原因将在页面底部展示。

 
 

一、一直都提示没有麦克风权限

e9919631827f40399bc4129e1a3e4672.png

可能原因:

1、您没有开启当前页面的麦克风功能。

2、您的电脑或者手机没有麦克风功能。

解决方法:

1、您可以重新打开该页面,然后开启当前页面的麦克风权限。

2、佩戴耳机,利用耳机的麦克风功能

 

二、页面上只有文字显示,页面效果与示例图不一样

可能原因:

1、您使用的浏览器不支持语音识别。

2、代码有误。

解决方法:

1、pc端使用Chrome、Edge、Safari浏览器。手机端使用Safari、Samsung等浏览器或者在微信内部利用WebView打开链接进行访问。

2、检查代码。

三、建议使用Edge浏览器,成功率90%以上

判断浏览器支不支持

 
 

将代码定义希望应用能够识别的语法。语法放在下面定义的变量中:

 
 

使用 
SpeechRecognition() 构造函数,定义一个 speech recognition 实例,控制对于这个应用的识别。还需要使用 SpeechGrammarList() 构造函数,创立一个 speech grammer list 对象

 
 

使用 SpeechGrammarList.addFromString() 把语法添加到列表 (list),这个方法接收两个参数,第一个是我们想要添加的包含语法内容的字符串,第二个是对添加的这条语法的权重 (权重值范围是 0~1),权重其实是相对于其他语法,这一条语法的重要程度。添加到列表的语法就是可用的,并且是一个
 SpeechGrammar 实例。

 
 

然后通过设置 
SpeechRecognition.grammars 属性值,把我们的  SpeechGrammarList添加到 speech recognition 实例。在继续往前走之前,我们还需要设置 recognition 实例其他的一些属性:

  • SpeechRecognition.lang :设置识别的是什么语言。
  • SpeechRecognition.interimResults :定义 speech recognition 系统要不要返回临时结果 (interim results),还是只返回最终结果。
  • SpeechRecognition.maxAlternatives :定义每次结果返回的可能匹配值的数量。这有时有用,比如要的结果不明确,你想要用一个列表展示所有可能值,让用户自己从中选择一个正确的。
 
 

开始语音识别

 
 

接收、处理结果

一旦语音识别开始,有许多 event handlers 可以用于做结果返回的后续操作,除了识别的结果外还有些零碎的相关信息可供操作,这在收到一个成功的结果时候触发。

 
 

停止语音识别服务

一旦一个单词被识别就不能再说咯 (必须再点击屏幕再次开启语音识别)

 
 

处理未能识别的语音

你说的内容不在定义的语法中所以识别不了

 
 

处理 error

识别出现问题

 

 

 

 

 

版权声明


相关文章:

  • 数据结构中括号匹配的算法2024-12-27 08:01:03
  • js常用数据类型2024-12-27 08:01:03
  • python pywin322024-12-27 08:01:03
  • clash怎么开全局代理安卓2024-12-27 08:01:03
  • idea maven 本地仓库2024-12-27 08:01:03
  • js中怎么取数组里面的数据2024-12-27 08:01:03
  • 字典树 leetcode2024-12-27 08:01:03
  • 给软件分组名称大全2024-12-27 08:01:03
  • 进程和线程的区别和作用2024-12-27 08:01:03
  • sscom v5.13.1串口调试使用视频2024-12-27 08:01:03