場景: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 | 本地引擎錯誤 |