console.log('[voice]', asrStatus.value, 'initVoiceRecognition')
speechRecognizerManager = plugin.speechRecognizerManager();
// 开始识别
speechRecognizerManager.OnRecognitionStart = (res: any) => {
console.log('[voice]', asrStatus.value, '语音识别开始', res)
asrStatus.value = 1;
}
//一句话开始时回调
speechRecognizerManager.OnSentenceBegin = (res: any) => {
console.log('[voice]', asrStatus.value, '语音识别开始', res)
asrStatus.value = 2;
}
// 识别结果回调
speechRecognizerManager.OnRecognitionResultChange = (res: any) => {
console.log('[voice]', asrStatus.value, '语音识别结果回调', res)
}
// 一句话结束
speechRecognizerManager.OnSentenceEnd = (res: any) => {
console.log('[voice]', asrStatus.value, "一句话结束", res.result.voice_text_str);
resultText += res.result.voice_text_str;
}
// 识别结束回调
speechRecognizerManager.OnRecognitionComplete = (res: any) => {
console.log('[voice]', asrStatus.value, '语音识别结束', res)
asrStatus.value = 3;
isStartVoice.value = false;
voiceCheck.value = false;
if (slideUp.value) {
slideUp.value = false;
return;
}
if (resultText) {
emit('send', resultText);
}
resetVoiceState();
}
// 识别错误
speechRecognizerManager.OnError = (res: any) => {
console.error('[voice]', asrStatus.value, "语音识别错误:", res);
voiceCheck.value = false;
showVoiceRecognitionError("语音识别失败,请重试");
resetVoiceState();
}
// 录音结束回调
speechRecognizerManager.OnRecorderStop = (res: any) => {
console.log('[voice]', asrStatus.value, '录音结束回调', res)
}
// 监听已录制完指定帧大小回调
speechRecognizerManager.OnFrameRecorded = (res: any) => {
// console.log('[voice]', asrStatus.value, '监听已录制完指定帧大小回调', res)
}