实现效果:
具体操作:
const transcript = ref('');
let recognition: any;
// 检查浏览器是否支持 Web Speech API
if ('webkitSpeechRecognition' in window || 'SpeechRecognition' in window) {
recognition = new (window as any).webkitSpeechRecognition || new (window as any).SpeechRecognition();
recognition.lang = 'zh-CN'; // 设置识别语言
recognition.continuous = true; // 是否连续识别
recognition.interimResults = true; // 是否返回中间结果
// 识别结果事件
recognition.onresult = (event: any) => {
transcript.value = ''; // 清空之前的文本
for (let i = 0; i < event.results.length; ++i) {
transcript.value += event.results[i][0].transcript; // 拼接识别结果
}
};
// 识别错误事件
recognition.onerror = (event: any) => {
console.error('识别出错:', event.error);
};
// 识别结束事件
recognition.onend = () => {
console.log('识别结束');
};
} else {
console.error('当前浏览器不支持语音识别');
}