1.在使用語音識別API時,將實現ASR的相關的類添加至工程。
// 提供ASR引擎執行時所需要傳入的參數類
import ohos.ai.asr.AsrIntent;
// 錯誤碼的定義類
import ohos.ai.asr.util.AsrError;
// 加載語音識別Listener
import ohos.ai.asr.AsrListener;
// 提供調用ASR引擎服務接口的類
import ohos.ai.asr.AsrClient;
// ASR回調結果中的關鍵字封裝類
import ohos.ai.asr.util.AsrResultKey;
2.調用API接口。
創建一個AsrClient對象。context為應用上下文信息,應為ohos.aafwk.ability.Ability或ohos.aafwk.ability.AbilitySlice的實例或子類實例。
AsrClient asrClient = AsrClient.createAsrClient(context).orElse(null);
3.設置引擎參數。如果希望識別文件,音頻文件需滿足約束與限制,并設置音頻類型為“ASR_SRC_TYPE_FILE”;如果希望識別音頻流,則設置音頻類型為“ASR_SRC_TYPE_PCM”。
AsrIntent initIntent = new AsrIntent();
initIntent.setAudioSourceType(AsrIntent.AsrAudioSrcType.ASR_SRC_TYPE_PCM);
4.初始化ASR服務。其中,mMyAsrListener為實現了AsrListener接口的實例對象。
asrClient.init(initIntent, mMyAsrListener);
5.開始識別。用戶可以不設置參數,使用默認參數。
AsrIntent asrIntent = new AsrIntent();
// 設置后置的端點檢測(VAD)時間
asrIntent.setVadEndWaitMs(2000);
// 設置前置的端點檢測(VAD)時間
asrIntent.setVadFrontWaitMs(4800);
// 設置語音識別的超時時間
asrIntent.setTimeoutThresholdMs(20000);
asrClient.startListening(asrIntent);
// buffer需要替換為真實的音頻數據
byte[] buffer = new byte[]{0, 1, 0, 10, 1};
// 對于長度大于1280的音頻,需要多次調用writePcm分段傳輸
asrClient.writePcm(buffer, 1280);
需要注意的是,startListening或writePcm方法建議放在mMyAsrListener中onInit()方法內調用,保證初始化引擎成功之后再調用識別接口。如果希望識別音頻文件,則不需要調用writePcm接口。
AsrIntent asrIntent = new AsrIntent();
// 將FilePath修改為正確的地址,且文件路徑需要給com.huawei.hiai進程授予可訪問權限。
asrIntent.setFilePath("FilePath");
asrClient.startListening(asrIntent);
6.取消或停止識別。
asrClient.stopListening(); // 停止識別
asrClient.cancel(); // 取消識別
7.釋放引擎。
asrClient.destroy();
審核編輯:湯梓紅
-
開發
+關注
關注
0文章
370瀏覽量
40937 -
語音識別
+關注
關注
38文章
1745瀏覽量
112960 -
HarmonyOS
+關注
關注
79文章
1983瀏覽量
30633
發布評論請先 登錄
相關推薦
HarmonyOS NEXT 應用開發練習:AI智能語音播報
【「嵌入式系統設計與實現」閱讀體驗】+ 基于語音識別的智能杯墊
HarmonyOS開發指導類文檔更新速遞(下)
![<b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發</b>指導類文檔更新速遞(下)](https://file1.elecfans.com/web3/M00/04/41/wKgZO2dx_aKABcX5AAAL_e1qV7Q863.png)
語音識別與自然語言處理的關系
語音識別技術的應用與發展
ASR與傳統語音識別的區別
ASR語音識別技術應用
物聯網系統智能控制產品的語音識別方案_離線語音識別芯片分析
![物聯網系統智能控制產品的<b class='flag-5'>語音</b><b class='flag-5'>識別</b>方案_離線<b class='flag-5'>語音</b><b class='flag-5'>識別</b>芯片分析](https://file1.elecfans.com//web2/M00/08/23/wKgZomb1L8eAY3E-AAIHMoSouLU132.jpg)
![](https://file1.elecfans.com/web2/M00/07/F5/wKgZombz0NyAePP9AATVLpIUJ8g816.jpg)
![](https://file1.elecfans.com/web2/M00/06/33/wKgZombis0CAAM7JAAFmZj5ypF8355.jpg)
評論