百度語音識別cordova外掛
前言
- 這是一個百度語音識別的cordova外掛。為什麼使用百度語音識別,因為是免費的,識別的準確度也還挺不錯的。
- 這個外掛只包含語音識別功能,不包含其他的比如喚醒、長語音功能。
- 百度語音開發文件 http://ai.baidu.com/docs#/ASR-API/top
支援平臺
- Android
- iOS
安裝
線上npm安裝
cordova plugin add cordova-plugin-bdasr --variable APIKEY=[your apikey] --variable SECRETKEY=[your secretkey] --variable APPID=[your appid]
線上url安裝
cordova plugin add https://github.com/hhjjj1010/cordova-plugin-bdasr.git --variable APIKEY=[your apikey] --variable SECRETKEY=[your secretkey] --variable APPID=[your appid]
本地安裝
cordova plugin add /your localpath --variable APIKEY=[your apikey] --variable SECRETKEY=[your secretkey] --variable APPID=[your appid]
API使用
// 開啟語音識別
cordova.plugins.bdasr.startSpeechRecognize();
// 語音識別事件監聽
cordova.plugins.bdasr.addEventListener(function (res) {
// res引數都帶有一個type
if (!res) {
return;
}
switch (res.type) {
case "asrReady": {
// 識別工作開始,開始採集及處理資料
$scope.$apply(function () {
// TODO
});
break;
}
case "asrBegin": {
// 檢測到使用者開始說話
$scope.$apply(function () {
// TODO
});
break;
}
case "asrEnd": {
// 本地聲音採集結束,等待識別結果返回並結束錄音
$scope.$apply(function () {
// TODO
});
break;
}
case "asrText": {
// 語音識別結果
$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("語音識別錯誤");
});
// 主動結束語音識別
cordova.plugins.bdasr.closeSpeechRecognize();
// 主動取消語音識別
cordova.plugins.bdasr.cancelSpeechRecognize();
寫在最後
因為對android開發並不是很熟悉,所以特此記錄在開發外掛的android端時遇到的一些問題
-
載入so庫,對應不同的平臺,需要新增不同平臺的.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"/>
PermissionHelper.requestPermission()方法封裝了動態獲取許可權的程式碼
動態獲取許可權的回撥方法:public void onRequestPermissionResult(int requestCode, String[] permissions, int[] grantResults) throws JSONException {})
相關文章
- 科大訊飛cordova語音外掛填坑及api介紹API
- 百度API---語音識別API
- 安裝百度語音識別sdk
- 如何建立Cordova外掛
- Cordova開發app——使用外掛錄音並上傳伺服器APP伺服器
- python使用百度語音識別API注意事項PythonAPI
- 用python呼叫百度語音識別api批量處理本地語音檔案PythonAPI
- Cordova學習--iOS自定義外掛iOS
- JavaScript的語音識別JavaScript
- 語音識別技術
- 快速自定義Cordova外掛(-配置檔案)
- Chrome外掛:雲音樂聽歌識曲Chrome
- Python 百度語音識別與合成REST API及ffmpeg使用PythonRESTAPI
- C# 10分鐘完成百度語音技術(語音識別與合成)——入門篇C#
- 給Ionic寫一個cordova(PhoneGap)外掛
- 樹莓派語音互動--語音輸入識別樹莓派
- 【Recorder.js+百度語音識別】全棧方案技術細節JS全棧
- 微信小程式:nodejs+百度語音識別開發實踐微信小程式NodeJS
- [外掛擴充套件]百度分享外掛套件
- 人工智慧 (08) 語音識別人工智慧
- Swift-語音識別、翻譯Swift
- 語音識別----音高的處理
- 語音識別開源專案
- 語音識別方向的資料
- laravel通過classmap整合第三方包百度語音識別LaravelSSM
- [外掛擴充套件]百度統計外掛套件
- 【JAVA】使用百度語音識別 Rest API,遇到識別結果顯示亂碼的問題和解決JavaRESTAPI
- 人工智慧之語音識別(ASR)人工智慧
- [譯] 使用 WFST 進行語音識別
- Python語音識別終極指南Python
- Windows XP語音識別技術(轉)Windows
- ionic中使用熱更新外掛cordova-hot-code-push
- 智慧音訊混音外掛音訊
- 怎麼關閉win10語音識別 win10如何關閉電腦的語音識別Win10
- 音樂播放器WordPress外掛 WP-Player (支援網易雲音樂, 蝦米音樂, QQ音樂, 百度音播放器
- 語音識別進入IVR系統 (轉)VR
- Linux的語音識別軟體(轉)Linux
- Win10系統如何啟動語音識別 win10啟動語音識別的兩種方法Win10