百度語音識別cordova插件(更新至bdasr_V3_20190515_c9eed5d.jar)

前言

  • 這是一個(gè)百度語音識別的cordova插件。為什么使用百度語音識別,因?yàn)槭敲赓M(fèi)的,識別的準(zhǔn)確度也還挺不錯(cuò)的。
  • 這個(gè)插件只包含語音識別功能,不包含其他的比如喚醒、長語音功能。
  • 百度語音開發(fā)文檔 http://ai.baidu.com/docs#/ASR-API/top

支持平臺

  1. Android(bdasr_V3_20190515_c9eed5d.jar)
  2. iOS

安裝

在線npm安裝

本地安裝

github文件超過100M之后只能使用LFS才能上傳,但是同時(shí)也有帶寬限制。為了避免各種限制,所以只能辛苦各位自行下載libBaiduSpeech.a,并放到插件的src/ios/BDSClientLib目錄中。

  • 第一步,將插件下載到本地
  • 第二步,下載iOS SDK中缺少的libBaiduSpeech.a
  • 第三步,添加libBaiduSpeech.a到src/ios/BDSClientLib
  • 第四步,安裝插件
cordova plugin add /your localpath --variable APIKEY=your apikey --variable SECRETKEY=your secretkey --variable APPID=your appid

在線npm安裝(推薦)

在線npm安裝不受任何限制,可直接安裝。

cordova plugin add cordova-plugin-bdasr --variable APIKEY=your apikey --variable SECRETKEY=your secretkey --variable APPID=your appid

API使用

開啟語音識別

startSpeechRecognize

代碼示例

cordova.plugins.bdasr.startSpeechRecognize();

關(guān)閉語音識別

closeSpeechRecognize

代碼示例

cordova.plugins.bdasr.closeSpeechRecognize();

取消語音識別

cancelSpeechRecognize

代碼示例

cordova.plugins.bdasr.cancelSpeechRecognize();

事件監(jiān)聽

addEventListener

代碼示例

// 語音識別事件監(jiān)聽
cordova.plugins.bdasr.addEventListener(function (res) {
  // res參數(shù)都帶有一個(gè)type
  if (!res) {
    return;
  }

  switch (res.type) {
    case "asrReady": {
      // 識別工作開始,開始采集及處理數(shù)據(jù)
      $scope.$apply(function () {
        // TODO
      });
      break;
    }

    case "asrBegin": {
      // 檢測到用戶開始說話
      $scope.$apply(function () {
        // TODO
      });
      break;
    }

    case "asrEnd": {
      // 本地聲音采集結(jié)束,等待識別結(jié)果返回并結(jié)束錄音
      $scope.$apply(function () {
      // TODO
      });
      break;
    }

    case "asrText": {
      // 語音識別結(jié)果
      $scope.$apply(function () {
        var message = angular.fromJson(res.message);
        var results = message["results_recognition"];
      });
      break;
    }

    case "asrFinish": {
      // 語音識別功能完成
      $scope.$apply(function () {
        // TODO
      });
      break;
    }

    case "asrCancel": {
      // 語音識別取消
      $scope.$apply(function () {
        // TODO
      });
      break;
    }

    default:
      break;
  }

}, function (err) {
   alert("語音識別錯(cuò)誤");
});

寫在最后

因?yàn)閷ndroid開發(fā)并不是很熟悉,所以特此記錄在開發(fā)插件的android端時(shí)遇到的一些問題

  1. 加載so庫,對應(yīng)不同的平臺,需要添加不同平臺的.so文件
<source-file src="src/android/libs/armeabi/libBaiduSpeechSDK.so" target-dir="libs/armeabi"/>
<source-file src="src/android/libs/armeabi/libvad.dnn.so" target-dir="libs/armeabi"/>

<source-file src="src/android/libs/x86_64/libBaiduSpeechSDK.so" target-dir="libs/x86_64"/>
<source-file src="src/android/libs/x86_64/libvad.dnn.so" target-dir="libs/x86_64"/>

<source-file src="src/android/libs/x86/libBaiduSpeechSDK.so" target-dir="libs/x86"/>
<source-file src="src/android/libs/x86/libvad.dnn.so" target-dir="libs/x86"/>

<source-file src="src/android/libs/arm64-v8a/libBaiduSpeechSDK.so" target-dir="libs/arm64-v8a"/>
<source-file src="src/android/libs/arm64-v8a/libvad.dnn.so" target-dir="libs/arm64-v8a"/>

<source-file src="src/android/libs/armeabi-v7a/libBaiduSpeechSDK.so" target-dir="libs/armeabi-v7a"/>
<source-file src="src/android/libs/armeabi-v7a/libvad.dnn.so" target-dir="libs/armeabi-v7a"/>
  1. PermissionHelper.requestPermission()方法封裝了動態(tài)獲取權(quán)限的代碼
    動態(tài)獲取權(quán)限的回調(diào)方法:
public void onRequestPermissionResult(int requestCode, String[] permissions, int[] grantResults) throws JSONException {})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、獲取當(dāng)前應(yīng)用的版本號 cordova plugin add cordova-plugin-app-versio...
    XuTong閱讀 2,473評論 2 11
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,175評論 25 708
  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,889評論 2 45
  • 這幾天我一直都在猶豫不決。 公司上周又有一個(gè)新同事未做難兩個(gè)月就走了,這周又有一個(gè)新同事請了一個(gè)星期的假,老員工的...
    享隨筆閱讀 283評論 0 0
  • 電影值得回味,徐靜蕾,姜文演出了別樣滋味。
    饕餮8521閱讀 144評論 0 0

友情鏈接更多精彩內(nèi)容