dbsd_kczx/src/views/site/studentWdkc/yysbUtils/examples/main.js

106 lines
3.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

let recorder;
let speechRecognizer;
let isCanSendData = false;
let isCanStop;
$(function () {
const params = {
signCallback: signCallback, // 鉴权函数 用户提供鉴权函数不传则为null
// 用户参数
secretid: config.secretId,
appid: config.appId,
// 实时识别接口参数
engine_model_type : '16k_zh', // 引擎
voice_format : 1,
// 以下为非必填参数,可跟据业务自行修改
hotword_id : '08003a00000000000000000000000000',
needvad: 1,
filter_dirty: 1,
filter_modal: 1,
filter_punc: 1,
convert_num_mode : 1,
word_info: 2
}
$('#start').on('click', function () {
const areaDom = $('#recognizeText');
let resultText = '';
$(this).hide();
$('#connecting').show();
speechRecognizer = null;
isCanSendData = false;
// 获取录音数据
recorder = new WebRecorder();
recorder.OnReceivedData = (res) => {
// console.log(res) // res 为采集到浏览器数据
if (isCanSendData) {
// 发送数据
speechRecognizer.write(res);
}
};
// 录音失败时
recorder.OnError = (err) => {
console.log(err);
recorder.stop();
};
recorder.start();
if (!speechRecognizer) {
speechRecognizer = new SpeechRecognizer(params);
}
// 开始识别
speechRecognizer.OnRecognitionStart = (res) => {
console.log('开始识别', res);
isCanSendData = true;
isCanStop = true;
$('#connecting').hide();
$('#end').show();
$('#recognizing').show();
};
// 一句话开始
speechRecognizer.OnSentenceBegin = (res) => {
console.log('一句话开始', res);
};
// 识别变化时
speechRecognizer.OnRecognitionResultChange = (res) => {
console.log('识别变化时', res);
const currentText = `${resultText}${res.result.voice_text_str}`;
areaDom.text(currentText);
};
// 一句话结束
speechRecognizer.OnSentenceEnd = (res) => {
console.log('一句话结束', res);
resultText += res.result.voice_text_str;
areaDom.text(resultText);
};
// 识别结束
speechRecognizer.OnRecognitionComplete = (res) => {
console.log('识别结束', res);
isCanSendData = false;
};
// 识别错误
speechRecognizer.OnError = (res) => {
console.log('识别失败', res);
isCanSendData = false;
$('#end').hide();
$('#recognizing').hide();
$('#connecting').hide();
$('#start').show();
};
// 建立连接
speechRecognizer.start();
});
$('#end').on('click', function () {
$(this).hide();
$('#start').show();
$('#recognizing').hide();
recorder.stop();
if (isCanStop) {
speechRecognizer.stop();
}
});
});