1

我正在尝试整合Annyang.jsAngular.js

我正在尝试将 Annyang.js 的结果与 DOM 绑定(Angular 样式)。一些想法可能是使用角度服务,如 $watch、$apply、$digest,或者创建指令/工厂/提供者???我不知所措。帮助将不胜感激。

到目前为止,它理解 VoiceCtrl 范围内的命令,但它不绑定到 $scope.said

Javascript:

var SpeechApp = angular.module('SpeechApp', []);

function VoiceCtrl($scope) {

  $scope.said='';

  $scope.helloWorld = function() {
    $scope.said = "Hello world!";
  }

  $scope.commands = {
    'hello (world)': $scope.helloWorld,
  };

  annyang.debug();
  annyang.init($scope.commands);
  annyang.start();
}

HTML:

<body ng-app="Voice" ng-controller="VoiceCtrl">
    <p>{{said}}</p>
</body>
4

3 回答 3

1

看起来你缺少一个scope.$apply(). 这是允许 Angular 更新所有绑定所必需的,因为 annyang.js 将在 Angular 上下文之外工作。

尝试将您的命令替换为

'Hello (world)': function() {
    $scope.$apply($scope.helloWorld);
});
于 2013-10-12T11:34:49.063 回答
0

此外,您在 JS 中调用模块“SpeechApp”,在 HTML 中调用 ng-app="Voice"。

建议使用此 HTML:

  <body ng-app="SpeechApp">
    <div ng-controller="VoiceCtrl">
      <p>Hi: {{said}}</p>
    </div>
  </body>

http://plnkr.co/edit/QIWwhS?p=preview

于 2013-10-15T20:08:39.510 回答
0

用 annyang看一下AngularJS 语音识别

于 2015-04-21T11:44:53.123 回答