Cordova外掛(語音識別--科大訊飛)
cordova-plugin-IFlyspeech
科大訊飛的語音聽說讀寫的cordova外掛
最近在做一個hybrid webapp的時候需要用到語音識別的功能,網上找到科大訊飛的語音cordova外掛,因為還沒開始使用這個外掛,先總結一下在配置科大訊飛當前cordova版本過程中,碰到的問題。
網上外掛配置的教程很多,也綜合下自己的總結:
1. 外掛安裝命令:
cordova plugin add https://github.com/Edc-zhang/cordova-plugin-IFlyspeech
(注意:建議不要使用上面的命令安裝外掛,因為需要手動去改外掛裡面的appid和sdk包, 所以先手動下載zip包到本地,需要修改一些配置檔案,新增科大訊飛的appid)
2. 登入科大訊飛開放平臺:
要使用科大訊飛的cordova外掛,需要:
1、在科大訊飛開放平臺官網:http://www.xfyun.cn/ 註冊帳號登入,進入控制檯,建立新應用(注意ios、android是需要分別建立應用的,也就是分別有一個對應的appid,我這裡只是建立了一個android的應用,要在iOS中使用需要再建立一個iOS的應用)
2、新增所需要的新服務,我這裡是語音聽寫服務。
未經過稽核情況下, 每個appid每天有500次識別的限額,建議提交app給訊飛稽核,稽核通過後每天有20000次的限額,稽核基本都會通過。
3、完成以上操作後,下載ios、android不同版本的sdk到本地。
一、解壓之前在github上面下載的zip包,分別找到
ios目錄:cordova-plugin-IFlyspeech-master/src/ios
android目錄:cordova-plugin-IFlyspeech-master/src/android/libs
然後將訊飛上面下載的sdk ios路徑:lib/iflyMSC.framework
android路徑:libs分別替換到github外掛解壓的資料夾裡面
二、替換外掛資料夾裡面的appid
1、Android:修改
cordova-plugin-IFlyspeech-master/plugin.xml文 件內容,
搜尋【android:name=”IFLYTEK_APPKEY”】,
將對應的android:value=”改為申請的android版本的appid”2、Android:修改
cordova-plugin-IFlyspeech-master/src/android/res/values/strings.xml檔案內容
搜尋【app_id】將對應的值改為申請的android版本的appid3、ios:修改
cordova-plugin-IFlyspeech-master/src/ios/CDVSpeech.m檔案內容
搜尋【#define SPEECH_APP_ID】,將對應的值改為申請的ios版本的appid
完成後再執行cordova新增外掛命令即可: cordova plugin add
外掛(cordova-plugin-IFlyspeech-master)本地路徑
(注意:這裡新增本地外掛時可能會出錯,下面列舉下我新增本地外掛時碰到的問題及解決方法:)
新增本地外掛時可能出現的錯誤:
1. 新增cordova plugin add (外掛路徑的時候),出現:
Error: Invalid package.json (XXX外掛的路徑) needs a valid package.json.
這裡的意思是說,外掛目錄裡面缺少一個package.json檔案。
看了網上建立自定義外掛的方法,可以建立package.json 檔案
一、安裝plumam
npm isntall -g plugman
二、安裝完之後,就可以建立plugin
plugman create --name --plugin_id --plugin_version [--path ] [--variable NAME=VALUE]
引數說明:
pluginName: 外掛名稱,eg:toast
pluginID: 外掛id, eg: org.my.toast
version: 版本號, eg: 0.0.1
variable NAME=VALUE: 擴充套件引數,如說明或者作者
eg:
建立外掛
plugman create –name helloPlugin –plugin_id helloPlugin
–plugin_version 0.0.1
此命令會在當前目錄建立一個helloPlugin外掛
進入外掛目錄
cd helloPlugin
plugin.xml
增加Android平臺plugman platform add --platform_name android
plugin.xml
增加iOS平臺plugman platform add --platform_name ios
在有plugin.xml的目錄裡面,命令建立package.json檔案
plugman createpackage.json
(然而這裡建立的packa.json檔案並沒有解決報錯問題)
三、當你的外掛開發完成之後,新增到專案中
只需向平常新增外掛的時候一樣在控制檯跳轉到你的專案目錄中,再執行如下命令:(add 後面為外掛所在目錄)
cordova plugin add (外掛所在的目錄)
四、其他命令
刪除外掛:
cordova plugin remove XXXXX(你的plugin_id)。
______________________________________________________________________________________
最後還是在Google找到了解決方案,出現 Error: Invalid package.json (XXX外掛的路徑) needs a valid package.json.的原因是當前cordova的版本過高,是cordova7.0版本,但是該外掛需要的cordova版本是cordova6.0版本,所有需要給cordova版本降級。
npm install -g cordova@6
降級後重新新增android/iOS platform ,以及指定對應的安卓版本[email protected]
cordova platform rm android
cordova platform add [email protected]6.1.2
重新新增本地的外掛
在專案目錄下:
cordova plugin add (本地外掛的目錄)
成功新增和安裝上外掛
現在可以開始呼叫外掛進行語音識別:
//引數1: 成功回撥方法
//引數2:失敗回撥方法(ios沒有失敗回撥方法)
//引數3: 是否顯示對話方塊,預設true
//引數4:是否生成標點符號 ,預設true
xunfeiListenSpeaking.startListen(function(data){
//data即是返回的文字
},null,true,true);
相關推薦
Cordova外掛(語音識別--科大訊飛)
cordova-plugin-IFlyspeech 科大訊飛的語音聽說讀寫的cordova外掛 最近在做一個hybrid webapp的時候需要用到語音識別的功能,網上找到科大訊飛的語音cordova外掛,因為還沒開始使用這個外掛,先總結一下在配置科大
android 語音識別 之 訊飛語音移植
轉載自:http://blog.csdn.net/chenshufei2/article/details/8496905 一、簡介 語音識別現在應用越來越廣泛了 比如語音寫簡訊、語音搜尋商品、語音搜尋關鍵字等等,這遍我們就簡單的談談國內比較流
ROS百度語音、科大訊飛參考
百度語音介面:https://blog.csdn.net/u011118482/article/details/55001444科大訊飛:https://www.ncnynl.com/archives/201702/1287.htmlhttps://blog.csdn.net
ios下的語音開發——科大訊飛使用
科大訊飛是國內做的比較好的語音開發sdk,首先在網站上註冊賬號等一系列流程下來之後,獲得id的值 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictio
為什麼百度語音比科大訊飛差了幾條街?
辛辛苦苦,信心滿滿的集成了百度TTS語音合成,結果客戶隨便發了個abcdefghijklmn,分分鐘把百度語音完爆了。 http://ai.baidu.com/tech/speech/tts http://www.xfyun.cn/services/online_tts
ionic載入cordova科大訊飛語音輸入法外掛相關問題
1:申請相關appid,見官網,新增語音聽寫服務,下載sdk 2:下載cordova外掛,見https://github.com/Edc-zhang/cordova-plugin-IFlyspeech 3:將sdk的libs資料夾,替換cordova外掛的src/android/libs 將cordo
手把手的操作——用java呼叫科大訊飛的離線語音識別dll實現離線識別(JNA實現)(一)
#用java呼叫科大訊飛的離線語音識別dll實現離線識別(JNA實現)(一) 本人接的任務,做離線語音識別,用的是科大訊飛的離線識別,java不支援離線了,所以下載了windows的離線包,用JNA進行呼叫。之前用的是jni,但是一直沒有測試通過,本人又不會C++,研究了一個星期終究
科大訊飛 線上語音識別 音訊來源為【檔案】的java接入實現, 適用於初學者
****科大訊飛的語音識別提供了兩種音訊來源方式,一個是通過麥克風,一個是來自音訊檔案。這裡介紹本人自己寫的通過音訊 檔案識別的java程式碼。**** 【離線識別參考我的另一篇】用java呼叫科大訊飛的離線語音識別dll實現離線識別(JNA實現) 之前的註冊、獲得註冊碼、
手把手的操作——用java呼叫科大訊飛的離線語音識別dll實現離線識別(JNA實現)(二)
上一篇講到了最難的地方,引數的轉換,這裡單獨寫出來 ** 三、引數的轉換(難點) ** 注:本文是以訊飛提供的C語言例子作為模板改寫,語音來源於檔案 1、先分析提供的例子 本人使用的是VS2010 下載連結連結:https://pan.baidu.com/s/
unity接科大訊飛語音識別Windows平臺(補充前面的文章,添加了錄音功能)
其他操作就不在一一贅述了,直說一下新增的負責錄音的那段程式碼 1、首先利用Microphone類開始錄製和結束錄製音訊 2、利用AudioSource類播放錄製的音訊 3、然後用自己寫的方法Float2Byte將錄製的音訊轉成byte資料,供訊飛語音識別方法呼叫 詳細
科大訊飛離線語音命令詞識別的使用說明
最近因為專案的需求,需要在無網路的情況下實現語音識別的功能,因為之前線上識別一直用的科大的,所以經理就和我說,你花半天時間簡單熟悉一下,然後出一個Demo,下午有人過來看;因為之前科大線上SR也是別人做的,準確的說我只是瞭解過一點,也寫過相關的blog——百度語音
使用科大訊飛最新版SDK在樹莓派上搭建語音識別服務
本人的SDK是2017年1月30號左右下載的,可以在http://www.xfyun.cn/科大訊飛官網註冊,選擇相應的Linux SDK下載。 1、因為最新版SDK不支援樹莓派了,所以要下載個RaspberryPi檔案來支援在樹莓派上使用: 2、解壓好SDK後,如圖。
科大訊飛語音識別時字串中特殊字元的處理
比如口算遊戲: 訊飛會返回:請回答[n2]78+11=? 此時我們要去掉[n2] 可做如下操作 String results = "[n2]78+11=?"; results = results.replaceAll("\\[" + "n2" + "\\]", "");
科大訊飛語音識別使用過程中踩過的坑
眨眼之間又是好久沒有寫部落格了,佩服那些寫了很多部落格的大神,堅持和耐心值得我學習 這次寫的是一個知名的語音識別sdk,就是科大訊飛的語音識別,其實也沒有多複雜,但是由於我是用swift語言,期間出了很多差錯 ,搞了好久,在這裡就慢慢記錄下來吧。 使用步驟: (有很多步驟
Android 科大訊飛語音識別 金額數字
最近要在應用裡面使用語音識別功能,老闆選擇了科大訊飛的技術,小可也就開始看文件啦; 這裡只嵌入了語音識別,其他的語法什麼的沒有研究,有需要的各位看文件唄; 需要的資料 :只識別數字,若不過濾則把LSpeechManager中的onResult方法中的LDataFormat過
科大訊飛和百度語音平臺語音識別Java呼叫記錄
1、科大訊飛平臺:http://www.xfyun.cn/doccenter/java 註冊並建立應用,下載SDK,選擇語音聽寫+Java+建立的應用(APPID); 未提交稽核的應用,服務量會有500次/日的限制,開發完成後提交稽核解除限制;
ROS下使用科大訊飛SDK進行線上語音識別
以線上命令詞識別為例: 主要步驟、易產生的錯誤其解決辦法如下: 1、下載SDK,解壓; 2、在ROS工作空間下建立一個Package; catkin_create_pkg xfei_asr roscpp rospy std_msgs 3、將SDK資料夾中的標頭檔案,即
ios開發科大訊飛的語音識別
1、新建工程不說了 2、匯入庫:xcode工程下沒有Frameworks目錄了,可以自己newgroup一個出來,然後在重新命名一下,注意大小寫,不然匯入後不在該目錄下,當然沒有強迫症的可以忽略,直接匯入就好了,新建目錄是結構看起來舒服點。。。 第三方庫,即iFly的庫,
語音識別介面webAPI-python測試:百度和科大訊飛
概述 目前市場上有很多家的語音識別介面可用,簡單測試都不要錢。國內的BAT和科大訊飛,國外的微軟和谷歌都提供了中文的語音識別介面,既有sdk又有webAPI。我的測試都是在python3環境下進行的。 最終選擇百度和科大訊飛的介面。主要是考慮中文識別應該國內
Android 科大訊飛語音識別 金額數字
最近要在應用裡面使用語音識別功能,老闆選擇了科大訊飛的技術,小可也就開始看文件啦; 這裡只嵌入了語音識別,其他的語法什麼的沒有研究,有需要的各位看文件唄; 需要的資料 :只識別數字,若不過濾則把LSpeechManager中的onResult方法中的LDataFormat過濾去掉即可 1,首先要在科