编程语言
首页 > 编程语言> > javascript-离子应用无法识别android mobile中的语音

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