android訊飛語音開發常遇到的問題


場景:android項目中共使用了3個語音組件:在線語音聽寫、離線語音合成、離線語音識別

 

11208:遇到這個錯誤,授權應用失敗,先檢查裝機量(3台測試權限),以及appid的申請時間(35天期限),我的沒問題,所以就定位在資源文件的問題了。請注意:保證所有的資源文件都是最新的(在線語音聽寫、離線語音合成、離線語音識別),比如說你某個頁面只需要離線語音識別,但是卻沒有更新“離線語音合成”的資源文件(common.jet).

23108:這個錯誤提示語法構建失敗,其實我已經寫語法了,但是由於編碼亂碼的原因,造成語法構建失敗,所以編碼問題也請大家注意。

待續。。。

 

 

訊飛官方提供的錯誤碼及解決辦法:

錯誤碼 錯誤碼說明 原因說明 解決方案
10106 MSP_ERROR_INVALID_PARA  無效的參數 傳入的參數有誤 查看參數是否傳錯了地方,參數值是否有問題
10107     可能是 jar 和 libmsc.so 不一致 。 魅族有預裝我們的軟件 可能會把libmsc.so push到 System  lib 下面,造成版本之間的混亂
10108 無效的句柄   一般是客戶端網絡問題,導致服務端釋放了這路會話。所以客戶端消息再來的時候,就報無效句柄了。
10109 MSP_ERROR_INVALID_DATA  無效的數據 (1)上傳的命令詞語法文件有問題(2)網絡狀況導致音頻數據傳輸不了 客戶端上傳的命令詞語法,單詞長度限制為128字節。語法首部限制為#ABNF 1.0  UTF-8; 或者 #ABNF 1.0 gb2313;
10110 MSP_ERROR_NO_LICENSE    
10111 MSP_ERROR_NOT_INIT          沒有初始化 沒有調用初始化,或登錄未完成  
10114 MSP_ERROR_TIME_OUT         連接超時 網絡環境出問題了  
10117 MSP_ERROR_NO_ENOUGH_BUFFER                  沒有足夠的內存 每次合成字數太多 每次合成字數限制4096字節,時長60s
10118 MSP_ERROR_NO_DATA         
沒有數據
前段點VAD_BOS沒有檢測到數據即停止監聽 檢查代碼中VAD_BOS的設置
    合成是沒有文本  
10119   網絡連接異常 可能是你說話離開麥克風比較遠時,錄音的音頻聲音太小作為噪音處理的,所以識別不到
10121 MSP_ERROR_ALREADY_EXIST 人臉模型已經存在  
10129      
10132 無效的用戶操作 上次服務未正常結束又啟動下次的服務 在本次合成或者識別之前確認,上次合成或者識別已經結束
10137 語法構建頻繁 上次構建還沒有出結果又構建了  
10138 詞典更新失敗 離線命令詞出現 上一次更新詞典未結束 又來一次
10214 DNS解析錯誤 域名轉換到IP失敗 換個網絡通暢的環境,或者先用固定IP測試
10301 解析錯誤 協議被不法分子篡改了,導致http協議解析失敗  
10402 沒有結果   在使用通用語義時:在跳轉sdk下載界面時,沒有勾選具體的語義場景;在使用私有語義時:后台語義測試正常,但沒有點擊發布
10407   appid和資源沒有來自同一應用下  
10701 處於不活躍的狀態 grammarid可能有誤  
10702 語法錯誤   檢查語法文件格式、內容、編碼設置(實際編碼與文件開頭、代碼參數設置是否一致
10703 沒有活躍的語法 客戶端沒有攜帶任何語法文件,直接調用語法接口,造成引擎找不到可激活的語法文件 查看是否有合法的grammarid,語法文件是否有誤,語法文件的真實編碼、文件頭填寫的編碼、函數中傳入的編碼參數,三者是否一致
11201 未經授權的語音應用 沒有審核的話每天的使用次數為500次,調用startlistening,調用一次算一次 如果應用語音功能已經完成,可以提交上線審核。審核通過后就沒有限制
11207 禁止使用未經授權的語言服務 測試版本超過限制 測試版本的只有3台裝機量,35天的使用限制
11208
11700 MSP_ERROR_IFR_NOT_FACE_IMAGE 沒有檢測到人臉  
12413    圖片傳的太大,http最大限制了  jpg 格式,人臉最低在80*80像素,大小建議不超過150k  
14002 服務端腳本錯誤,沒有結果 appid 跟語義的服務沒有關聯好 1、在使用通用語義時:在跳轉sdk下載界面時,沒有勾選具體的語義場景;
2、在使用私有語義時:后台語義測試正常,但沒有點擊發布,會出現14002;
16006 請求超時    
20004 無效的結果 沒有說話就停止識別監聽  
20005 Android無匹配結果   使用命令詞識別或者語法文件識別出現,查看所說的話是否在語法文件或者命令詞識別中
20006 Android錄音失敗   A、重啟手機,B、查看是否使用的虛擬機,建議真機調試,虛擬機很多時候不能識別到麥克風設備,C、查看工程是否添加了錄音權限,D、查看是否有其他進程正在占用麥克風;
20009 iOS錄音失敗
20010 iOS無匹配結果   使用命令詞識別或者語法文件識別出現,查看所說的話是否在語法文件或者命令詞識別中
20012 參數錯誤    
20017 本地引擎錯誤 被異常打斷 做語音識別出現20017錯誤,可能會是同時在一個Activity做識別和合成造成,但主要可能是如果上一次未結束,又開啟了下一次。可以檢查一下上一次是否結束,結束標志:識別判斷上一次是否結束: OnResult isLast=true 或者 onError      合成判斷上一次是否結束:onCompleted
21001 沒有安裝語音組件   1、有沒有使用SpeechUtility.createUtility()設置appid
2、有沒有將libmsc.so放到工程中
3、如果使用的是訊飛語音+的本地功能,有沒有安裝訊飛語音+
4、如果設備是android 5.0及其以上,需要將工程中的armeabi和armeabi-v7a文件夾中都放上libmsc.so,如果你下載的SDK中沒有armeabi-v7a對應的庫,可以將armeabi中的libmsc.so復制一份到armeabi-v7a文件夾中
5、SpeechUtility.createUtility()如在Application中調用,需要在Mainifest中注冊該Applicaiton。此方法不是必須在Appcation中調用,可在需要使用語音能力之前,例如進入語音搜索頁面調用。
6、使用Android Studio的開發者注意將so放在jniLib目錄下,或者在配置文件中指定so加載的路徑。
21002 引擎不支持    
21003 初始化失敗 調用過程中剛開始初始化就開始設置參數、開始識別或開始合成 初始化是相對異步進行的,初始化的時候在InitListener里面的onInit()回調初始化成功之后在開始設置參數、調用合成、調用識別。需要先設置appid。使用speechapi.jar的話需要先安裝訊飛語音+。添加各項權限
23001   在離線語音合成沒有放入資源 使用demo測試時,需將res中資源拷貝到demo中assets相應的路徑下;使用帶UI接口時,需要將assets下的文件拷貝到項目中
23003 ERROR_ASR_OUT_OF_MEMORY 內存耗盡  
23007 引擎未初始化   可能是未按照Demo進行集成,沒有將資源拷貝進項目中
23108 打開文件失敗 一般在打開文件時候沒有權限導致打開失敗或者是代碼里相關文件的路徑寫錯,參數設置不正確。 1.檢查是否增加本地讀寫權限:
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2.檢查語法路徑是不是正確,設置的參數是不是正常。
23109 識別語法錯誤 讀取資源、詞典、場景等文件失敗  
23300 識別語法有問題    
24110 本地引擎錯誤    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM