javascript-离子应用无法识别android mobile中的语音
作者:互联网
我想通过遵循教程here设计一个可监听语音命令的离子应用程序
但是,如果在我的计算机上使用var Identification = new webkitSpeechRecognition();进行了测试,则该应用似乎可以识别麦克风上的语音命令. //到计算机命令.但是看到此post,我将命令替换为
var识别=新的SpeechRecognition(); //到设备
但这似乎无法在我的Android设备上工作.
有人遇到过与SpeechRecognitionPlugin相同的问题吗?
请分享您的想法和评论…谢谢
解决方法:
终于能够破解了.诀窍是添加cordova media plugin.
工作代码如下:
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>
app.js
$(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();
});
}
标签:ionic-framework,cordova,speech-recognition,javascript,android 来源: https://codeday.me/bug/20191118/2029972.html