【如何使用javascript向你的网页添加语音命令】你是否曾经在人生的某个阶段向计算机下达命令并期望得到答案? Tony Stark与Jarvis交谈的方式确实很流畅, 可惜我们在本文中所能实现的目的, 并且该库是有限的, 并且在与计算机交谈时, 你几乎必须手动设置几乎所有内容, 以产生流畅的感觉。 Javascript和webkitSpeechRecognition。
文章图片
添加命令。阅读文档并了解此处命令的工作方式非常重要, artyom允许你添加智能命令和普通命令。
当用户讲话并且识别的文本与命令的某些索引(包含在数组中)匹配时, 将触发普通命令, 例如:
// A normal commandartyom.addCommands({
indexes:["Hello", "Hey", "Hurra"],
action: function(i){
// i = index of the recognized option
console.log("Something matches");
}});
智能命令允许检索命令的某些口头文本, 对于获取变量操作的名称非常有用, 例如:
artyom.addCommands({
smart:true, // We need to say that this command is smart !
indexes:["How many people live in *"], // * = the spoken text after How many people live in is recognized
action:function(i, wildcard){
switch(wildcard){
case "berlin":
alert("Why should i know something like this ?");
break;
case "paris":
alert("I don't know");
break;
default:
alert("I don't know what city is " + * + ". try to increase the switch cases !");
break;
}
}});
验证你的命令是否使用artyom.simulateInstruction起作用, 此功能可让你模拟语音命令并显示用户说话时的工作方式, 例如(使用先前的命令):
artyom.simulateInstruction("How many people live in Paris");
// alert("I don't know ._.");
启动artyom, initialize函数将为你解决问题。你只需要正确设置它, 一切就可以正常工作, 你需要提供的基本选项是:
- lang:受支持的artyom语言的代码(请参见此处的列表)
- 连续:布尔值, 如果你使用的是https连接, 则可以设置为true, 否则始终设置为false(因为这将激活1命令模式)
- listen:Boolean, 如果设置为true, 则artyom将开始监听, 否则仅保存以前的设置。
- debug:布尔值, 如果设置为true, 则所有可识别的文本和许多信息将显示在控制台中
artyom.initialize({
lang:"en-GB", // More languages are documented in the library
continuous:false, //if you have https connection, you can activate continuous mode
debug:true, //Show everything in the console
listen:true // Start listening when this function is triggered});
// Artyom has been started ;
)
如果要停止关节抽搐, 请使用致命功能。 artyom实例将立即停止。
artyom.fatality();
Artyom是Google Chrome的SpeechRecognition和speechSynthesis api的强大包装, 这意味着artyom具有许多很棒的功能, 这些功能可能对个人语音命令项目有用。
- 阅读Artyom.js的官方文档
- Artyom.js可以使你的浏览器与artyom.say指令轻松对话
- 需要在本地或远程服务器(http或https)中使用Artyom, 否则出于安全原因, 你不能使用webkitSpeechRecognition API
- Artyom需要https协议才能在连续模式下工作(永久语音助手)
推荐阅读
- Console.table你可能不知道的Chrome JavaScript调试控制台的属性
- 如何在JavaScript中将Uint8Array转换为字符串
- 如何使用JavaScript正确反转字符串
- 如何使用CSS在JavaScript控制台上自定义调试
- 什么是去抖动方法以及如何在JavaScript中使用它
- JS框架与VanillaJS(使用还是不使用框架())
- javascript中变量声明中LET和VAR有什么区别
- 我的软考历程网络规划师
- 软考过后看软考