1.在使用語音識(shí)別API時(shí),將實(shí)現(xiàn)ASR的相關(guān)的類添加至工程。
// 提供ASR引擎執(zhí)行時(shí)所需要傳入的參數(shù)類
import ohos.ai.asr.AsrIntent;
// 錯(cuò)誤碼的定義類
import ohos.ai.asr.util.AsrError;
// 加載語音識(shí)別Listener
import ohos.ai.asr.AsrListener;
// 提供調(diào)用ASR引擎服務(wù)接口的類
import ohos.ai.asr.AsrClient;
// ASR回調(diào)結(jié)果中的關(guān)鍵字封裝類
import ohos.ai.asr.util.AsrResultKey;
2.調(diào)用API接口。
創(chuàng)建一個(gè)AsrClient對(duì)象。context為應(yīng)用上下文信息,應(yīng)為ohos.aafwk.ability.Ability或ohos.aafwk.ability.AbilitySlice的實(shí)例或子類實(shí)例。
AsrClient asrClient = AsrClient.createAsrClient(context).orElse(null);
3.設(shè)置引擎參數(shù)。如果希望識(shí)別文件,音頻文件需滿足約束與限制,并設(shè)置音頻類型為“ASR_SRC_TYPE_FILE”;如果希望識(shí)別音頻流,則設(shè)置音頻類型為“ASR_SRC_TYPE_PCM”。
AsrIntent initIntent = new AsrIntent();
initIntent.setAudioSourceType(AsrIntent.AsrAudioSrcType.ASR_SRC_TYPE_PCM);
4.初始化ASR服務(wù)。其中,mMyAsrListener為實(shí)現(xiàn)了AsrListener接口的實(shí)例對(duì)象。
asrClient.init(initIntent, mMyAsrListener);
5.開始識(shí)別。用戶可以不設(shè)置參數(shù),使用默認(rèn)參數(shù)。
AsrIntent asrIntent = new AsrIntent();
// 設(shè)置后置的端點(diǎn)檢測(cè)(VAD)時(shí)間
asrIntent.setVadEndWaitMs(2000);
// 設(shè)置前置的端點(diǎn)檢測(cè)(VAD)時(shí)間
asrIntent.setVadFrontWaitMs(4800);
// 設(shè)置語音識(shí)別的超時(shí)時(shí)間
asrIntent.setTimeoutThresholdMs(20000);
asrClient.startListening(asrIntent);
// buffer需要替換為真實(shí)的音頻數(shù)據(jù)
byte[] buffer = new byte[]{0, 1, 0, 10, 1};
// 對(duì)于長度大于1280的音頻,需要多次調(diào)用writePcm分段傳輸
asrClient.writePcm(buffer, 1280);
需要注意的是,startListening或writePcm方法建議放在mMyAsrListener中onInit()方法內(nèi)調(diào)用,保證初始化引擎成功之后再調(diào)用識(shí)別接口。如果希望識(shí)別音頻文件,則不需要調(diào)用writePcm接口。
AsrIntent asrIntent = new AsrIntent();
// 將FilePath修改為正確的地址,且文件路徑需要給com.huawei.hiai進(jìn)程授予可訪問權(quán)限。
asrIntent.setFilePath("FilePath");
asrClient.startListening(asrIntent);
6.取消或停止識(shí)別。
asrClient.stopListening(); // 停止識(shí)別
asrClient.cancel(); // 取消識(shí)別
7.釋放引擎。
asrClient.destroy();
審核編輯:湯梓紅
-
開發(fā)
+關(guān)注
關(guān)注
0文章
370瀏覽量
40879 -
語音識(shí)別
+關(guān)注
關(guān)注
38文章
1742瀏覽量
112755 -
HarmonyOS
+關(guān)注
關(guān)注
79文章
1980瀏覽量
30338
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論