是否可以在cordova app中使用annyang进行语音识别?

时间:2015-04-04 19:21:28

标签: javascript cordova annyang

我正在尝试使用annyang在我的cordova应用程序中进行语音识别。我正在关注Talater'sAlex's示例,但我无法让它发挥作用。

我注意到它没有让我使用麦克风获得许可。

我在笔记本电脑的Chrome中测试代码,而不是在设备中。

我的代码是:

<html>
<head>
    <meta charset="utf-8" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="msapplication-tap-highlight" content="no" />
    <!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 -->
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
    <link rel="stylesheet" type="text/css" href="css/index.css" />
    <title>Hello World</title>
    <!-- <script src="js/speakClient.js"></script> -->
    <script src="http://cdnjs.cloudflare.com/ajax/libs/annyang/1.6.0/annyang.min.js"></script>
    <script src="js/annyang.min.js"></script>
</head>
<body>
    <div class="app">
        <h1>Apache Cordova</h1>
    </div>
</body>
<script type="text/javascript" src="js/annyang.js"></script>

这是我的javascript代码:

// Language select
annyang.setLanguage('es-ES');

if (annyang) {

  var sayThis = function(repeat) {
    alert(repeat);
  }

  // Let's define a command.
  var commands = {
    '*repeat': sayThis
  };
  // Debug info for the console
  annyang.debug();

  // Initialize annyang with our commands
  annyang.init(commands);

  // Start listening.
  annyang.start();
}
else {
  alert("No annyang");
}

请告诉我,如果我遗失了某些东西(如果不能使它在cordova应用程序中运行,我怎样才能在智能手机应用程序中使用语音识别?)

1 个答案:

答案 0 :(得分:3)

我能够让annyang.js在Android设备上的Ionic(Cordova)应用程序中工作。它太棒了。

问题是,对于Android平台,Cordova默认捆绑Android浏览器。但是,Chrome是目前唯一支持语音识别API的浏览器。 http://caniuse.com/#feat=speech-recognition

关键是通过Crosswalk捆绑 Chromium webview 。由于Chrome在iOS上不可用,因此此解决方案不适用于iOS。对于Ionic应用程序,请键入以下命令以添加Crosswalk。

新项目:

npm install ionic -g
ionic start my_app
cd my_app
ionic browser add crosswalk
ionic run android 

以前的离子项目:

npm install ionic -g
cd existing_app
ionic browser add crosswalk
ionic run android

参考:http://blog.ionic.io/crosswalk-comes-to-ionic/

然后安装&#34; cordova-media-plugin&#34;获得访问Android的RECORD_AUDIO的权限。 https://github.com/apache/cordova-plugin-media

cordova plugin add cordova-plugin-media

这就是全部。

在旁注中,您可能想要使用Angny包装的Annyang(版本1.5)进行试用:https://github.com/levithomason/angular-annyang

上述所有链接均于2015年10月22日访问