// reconocimiento de voz HubuilderX plug-in de configuración: https://ask.dcloud.net.cn/article/35059
Embalaje herramientas speech.js
let instance = null;
class Speech {
constructor() {
if (!instance) {
instance = this;
}
return instance;
}
// 初始化 语音识别
initRecognize() {
plus.speech.addEventListener('start', () => {
// console.log('开始语音识别');
this._start();
}, false);
plus.speech.addEventListener('volumeChange', ({
volume
}) => {
// console.log('音量变化', volume);
this._volumeChange({
volume
})
}, false);
plus.speech.addEventListener('recognizing', ({
partialResult
}) => {
// console.log('临时语音识别结果', partialResult);
this._recognizing({
partialResult
})
}, false);
plus.speech.addEventListener('recognition', ({
result
}) => {
// console.log('最终语音识别', result);
this._recognition({
result
})
}, false);
plus.speech.addEventListener('end', () => {
// console.log('结束语音识别');
this._end()
}, false);
plus.speech.addEventListener('error', ({
code,
message
}) => {
console.log('语音识别错误', code, message);
this._error({
code,
message
})
}, false);
}
// 开始语音识别
start({
start = () => {},
volumeChange = () => {},
recognizing = () => {},
recognition = () => {},
end = () => {},
error = () => {},
}) {
this._start = start;
this._volumeChange = volumeChange;
this._recognizing = recognizing;
this._recognition = recognition;
this._end = end;
this._error = error;
const options = {
engine: 'baidu', // 百度:baidu 讯飞:iFly
continue: true,
// userInterface: false
};
plus.speech.startRecognize(options);
}
stop() {
plus.speech.stopRecognize();
}
}
export default new Speech();
importación de la voz de '@ / Speech.js';
. Vue.prototype $ = el discurso del habla;
citar:
<M-botón class = "demostración-btn" type = "primaria" @ click.native = "startRecognize">
// iniciar la identificación
startRecognize () {
el presente speech.start $ ({.
Inicio: () => {
this.saveLog ( 'iniciar el reconocimiento de voz');
},
volumeChange: (Volumen {}) => {
this.saveLog ( 'cambios de volumen: volumen +");
},
Reconociendo: (partialResult {}) => {
this.saveLog (' resultados temporales de reconocimiento de voz: '+ partialResult);
},
el reconocimiento: (resultado {}) => {
el presente. saveLog ( 'reconocimiento final del discurso:' Resultado +);
},
final: () => {
this.saveLog ( 'fin del reconocimiento de voz');
},
error: ({código, mensaje}) => {
this.saveLog ( 'error de reconocimiento de voz:'+ Código + '' + mensaje);
}
});
},
SaveLog (mensaje) {
this.logs.unshift (mensaje);
}