1. 程式人生 > >Cordova外掛(語音識別--科大訊飛)

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版本的appid

3、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,首先要在科