Javascript 安卓手机中的Ionic应用程序无法识别语音
我想按照教程设计一个ionic应用程序来监听语音命令 但是如果在我的电脑上使用Javascript 安卓手机中的Ionic应用程序无法识别语音,javascript,android,cordova,ionic-framework,speech-recognition,Javascript,Android,Cordova,Ionic Framework,Speech Recognition,我想按照教程设计一个ionic应用程序来监听语音命令 但是如果在我的电脑上使用var recognition=new webkitSpeechRecognition(),应用程序似乎可以识别麦克风上的语音命令//到计算机命令。但看到这一点,我将命令替换为 var recognition=newspeechrecognition();//到设备 但这在我的android设备上似乎不起作用。。 有没有人和我面对过同样的问题? 请分享您的想法和评论…谢谢超时解决方案不适合我。然而,我确实注意到,如果我
var recognition=new webkitSpeechRecognition(),应用程序似乎可以识别麦克风上的语音命令//到计算机
命令。但看到这一点,我将命令替换为
var recognition=newspeechrecognition();//到设备
但这在我的android设备上似乎不起作用。。
有没有人和我面对过同样的问题?
请分享您的想法和评论…谢谢超时解决方案不适合我。然而,我确实注意到,如果我在哔的一声后立即说话,我几乎得到100%的结果。如果找不到单词,我会向用户添加一个提示 以下是一个基于我的方法的示例:
var recording = false;
var spokenInput = '';
function startRecognition() {
if (!recording) {
recording = true;
spokenInput = '';
var recognition = new SpeechRecognition();
recognition.onresult = function(event) {
if (event.results.length > 0) {
spokenInput = event.results[0][0].transcript;
}
};
recognition.onend = function() {
recording = false;
if (spokenInput) {
alert(spokenInput);
} else {
alert('For best results, try speaking immediately after the beep!');
}
};
setTimeout(function() {
recognition.stop();
}, 6000); // Force stop after 6 seconds
recognition.start();
}
}
终于可以破解了。诀窍是添加新的 工作守则如下: index.html
<!DOCTYPE html>
<html>
<head>
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
<link rel="stylesheet" type="text/css" href="css/index.css">
<title>Speech Recognition</title>
</head>
<body>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<form>
Click to speak <input type="button" value="speak" name="Download" id="speak" /> <br>
<input type="text" id="q" name="q" size=60>
</form>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/app.js"></script>
</body>
</html>
有人把它用在安卓棉花糖上了吗?我也遇到了同样的问题,但没有使用Ionic Though,我已经发布了我在Android 6设备上测试的代码。添加cordova媒体插件后试一试。添加媒体插件对我不起作用!还有其他解决方案吗?我仍然无法通过电话记录我的声音。我认为这是var recognition=new SpeechRecognition()的问题@我忘了添加start方法。固定的。
$(document).ready(function() {
document.addEventListener("deviceready", onDeviceReady, false);
});
var recognition;
function onDeviceReady() {
$('#speak').click( function() {
recognition = new SpeechRecognition();
recognition.onresult = function(event) {
if (event.results.length > 0) {
console.log(event.results[0][0].transcript);
q.value = event.results[0][0].transcript;
}
};
recognition.start();
});
}