2016-07-08 38 views
0

私のモバイルアプリケーションで音声認識を追加するには、ionic 1.7.16でビルドしてください。私はAndroidとIosで動作する良いプラグインを探しています。ここでCordovaの音声認識プラグインにlangageを設定してください

私はインターネット上で見つかったプラグインの一覧と、私はそれらを使用しない理由:

  • XSpeechRecognizer:のみのAndroid
  • ため
  • annyang:イオス
  • 上では動作しませんGoogleのテキストへのスピーチ:のみのAndroid
  • ため
  • SpeechRecognizer:のみ のためのAndroid

それ本当に良い図書館であるAnnyang.jsのために特に残念です。

私はSpeechRecognitionPluginを見つけました。ただし、認識されるデフォルトの言語は英語です。私はフランス語でそれを変更したいと思います。

github:[https://github.com/macdonst/SpeechRecognitionPlugin][1]]私はlangageを変更することができると書かれています。しかし、私はどんなドキュメントも見つけられませんでした。

フランス語などのアプリを理解するためにどのようにlangageを変更するか知っていますか?

ありがとうございます。

答えて

0

実は私は、このソリューションで両方のプラットフォームのための私のイオンアプリで音声認識を追加しましたし、それは例えばイタリアでは非常によく動作します。

FIRST:

:このプラグイン https://github.com/pbakondy/cordova-plugin-speechrecognition

HTMLをインストールします

<div class="row bar-search-container"> 

      <div class="item-input-inset bar-search col-80"> 
       <label class="item-input-wrapper"> 
        <input type="search" placeholder="Cerca" data-ng-model="brand.text" data-ng-change="brand.checkSearch()"> 
       </label> 
       <span data-ng-click="brand.search()"><i class="icon ion-ios-search placeholder-icon icon-search-products"></i></span> 
      </div> 

      <div class="col microphone"> 
       <button class="mic-button {{micstate}}" data-ng-click="recordBrand()"> 
        <i class="icon ion-mic-a placeholder-icon mic"></i> 
       </button> 
      </div> 
     </div> 

マイコントローラーJS:

 var vm = this; 
    vm.micstate = "pause"; 
    vm.recordBrand = _record; 


     /* 
      * Function to Translate Voice in Text 
      */ 
      function _record() { 
       //var recognition = new webkitSpeechRecognition(); //To Computer 
       var recognition = new SpeechRecognition(); // To Device 
       if (!recognition) return; 

       recognition.lang = 'it-IT'; //<-- HERE YOU SET YOUR PREFERRED LANGUAGE!!! 


       recognition.onaudiostart = function() { 
        vm.micstate = "listening"; 
        $scope.$apply(); 
       }; 

       recognition.onaudioend = function() { 
        vm.micstate = "pause"; 
        $scope.$apply(); 
       }; 

       recognition.onresult = function (event) { 
        if (event && event.results && event.results.length > 0) { 
         vm.text = event.results[0][0].transcript; 
         // search for products 
         _search(); 
         $scope.$apply(); 
        } 
       }; 

       recognition.start(); 
      } 


    //If text search length=0 set searchFilter.words=[] 
      function _checkSearch() { 
       if (vm.text.length === 0) { 
        vm.reset = true; 
        _search(); 
       } 
      } 

      /** 
      * Function to search Brand on input on BACK END API (with pagination) 
      * @param {string} input 
      * @returns {} 
      */ 
      function _search() { 
       if (!vm.text && vm.reset === false) return; 
//here I'm doing a call to back end API with text getted from speech recognition and plus pagination 
       Brand.Get(vm.text, 0, take).$promise.then(function (resp) { 
        vm.brands = resp; 
       }); 

      } 

それはあなたを助けることを願っています! ..