Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何解决设备与用户之间的通信问题_Javascript_Html - Fatal编程技术网

Javascript 如何解决设备与用户之间的通信问题

Javascript 如何解决设备与用户之间的通信问题,javascript,html,Javascript,Html,我想在设备和用户之间进行通信。就像设备会问问题“你好吗”,如果用户回答“我很好”,设备会提醒“很好”,同时设备会问第二个问题“你今天过得怎么样”,用户会回答“很好”。我已经尝试过,几乎完成了工作,但我面临的一个小问题是,该设备多次重复第二个问题,并多次回复“OK”警报。 这是我的密码 var text='你好吗?'; var问题2='你今天过得怎么样?'; var反应; //问问题 询问(文本、函数(错误、结果){ 如果(错误) { 说话(‘听不见’); document.getElement

我想在设备和用户之间进行通信。就像设备会问问题“你好吗”,如果用户回答“我很好”,设备会提醒“很好”,同时设备会问第二个问题“你今天过得怎么样”,用户会回答“很好”。我已经尝试过,几乎完成了工作,但我面临的一个小问题是,该设备多次重复第二个问题,并多次回复“OK”警报。 这是我的密码

var text='你好吗?';
var问题2='你今天过得怎么样?';
var反应;
//问问题
询问(文本、函数(错误、结果){
如果(错误)
{
说话(‘听不见’);
document.getElementById('result')。innerHTML='无法侦听';
} 
其他的
{
var answer=结果记录;
如果(答案=‘好’)
{ 
警惕(‘好’);
///函数调用
ask2(问题2,函数(错误1,结果1)
{   
如果(错误1)
{
speak2('无法倾听内心');
} 
其他的
{
var answer1=结果1.转录本;
如果(回答1=‘好’)
{
警报(“正常”);
} 
其他的
{
警惕(“OHoo”);
}
}
})
}
其他的
{ 
回答=‘哦!’;
发言(回应);
document.getElementById('result').innerHTML=response;
}
}
})
//问一个问题并得到答案
函数询问(文本、回调){
//提问
说话(文本、函数){
//得到答案
var recognition=new-webkitSpeechRecognition();
识别。连续=正确;
recognition.interimResults=true;
recognition.onend=函数(e){
如果(回调){
回调(“无结果”);
}
};
recognition.onresult=函数(e){
//取消ONED处理程序
recognition.onend=null;
如果(回调){
回调(null{
笔录:e.results[0][0]。笔录,
置信度:e.结果[0][0]。置信度
});
}
}
//开始听
识别。开始();
});
}
//留言
函数speak(文本、回调){
var u=新的SpeechSynthesistTerance();
u、 文本=文本;
u、 lang='en-US';
u、 onend=函数(){
如果(回调){
回调();
}
};
u、 onerror=函数(e){
如果(回调){
撤回(e);
}
};
演讲综合。说(u);
}
//说一个问题2
函数speak2(问题2,回调){
var u2=新的SpeechSynthesistTerance();
u2.文本=问题2;
u2.lang='en-US';
u2.onend=函数(){
如果(回调){
回调();
}
};
u2.onerror=函数(e){
如果(回调){
撤回(e);
}
};
演讲综合(u2);
}
函数ask2(问题2,回调){
//问题2:你吃了什么;
//提问
speak2(问题2,函数(){
var recognition=new-webkitSpeechRecognition();
识别。连续=正确;
recognition.interimResults=true;
recognition.onend=函数(e){
如果(回调){
回调(“无结果”);
}
};
//等待(2000年);
recognition.onresult=函数(e){
//取消ONED处理程序
recognition.onend=null;
如果(回调){
回调(null{
笔录:e.results[0][0]。笔录,
置信度:e.结果[0][0]。置信度
});
}
}
识别。开始();
});
}

数学测验

如果您可以在测试环境(如jsfiddle.net)中重现问题,并在此处发布最基本的相关代码,那就太好了。是的,我已经在jsfiddle.netWell中编写了我的代码。您能为我们提供链接以便我们可以测试它吗?这是用于识别的内置方法,这就是我刚刚在speak()和speak2()中创建对象的原因功能。