可以在播放声音的时候当检测到麦克风声音有人声的时候中断播放,识别人声为文字,完整代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>中文语音识别示例</title>
</head>
<body>
<h1>中文语音识别中断示例</h1>
<div>
<button id="startButton">开始识别</button>
<button id="stopButton">停止识别</button>
</div>
<div id="result"></div>
<script>
// 获取页面元素
const startButton = document.getElementById('startButton');
const stopButton = document.getElementById('stopButton');
const resultDiv = document.getElementById('result');
let utterance = new SpeechSynthesisUtterance('速度快放假上来看打,飞机酸辣粉几十块基辅罗斯看发蓝色,科技放开色精菲利克斯,荆防颗粒束带结发了库设计分离可,及示例快递费记录啥看,到放假了考试的解放路卡时间到了可.');
// 创建语音识别对象
const recognition = new webkitSpeechRecognition(); // 在 Chrome 中使用 webkitSpeechRecognition
recognition.lang = 'zh-CN'; // 设置识别语言为中文简体
// 设置连续识别
recognition.continuous = true;
recognition.interimResults = true;
// 开始识别按钮点击事件
startButton.addEventListener('click', () => {
startrecong();
});
function startrecong(){
recognition.start();
resultDiv.innerHTML = '正在识别...';
speechSynthesis.speak(utterance);
}
// 停止识别按钮点击事件
stopButton.addEventListener('click', () => {
recognition.stop();
resultDiv.innerHTML = '已停止识别';
});
// 处理识别结果
recognition.onresult = (event) => {
let result = '';
for (let i = event.resultIndex; i < event.results.length; i++) {
if (event.results[i].isFinal) {
result += event.results[i][0].transcript;
} else {
// result += event.results[i][0].transcript;
}
}
if(result!=""){
console.log(result)
speechSynthesis.cancel();
console.log("识别有人说话,中断声音播放")
}
resultDiv.innerHTML = result;
};
// 处理识别错误
recognition.onerror = (event) => {
resultDiv.innerHTML = '发生错误:' + event.error;
};
/*recognition.onend = (event) => {
resultDiv.innerHTML = '结束:' ;
startrecong();
};*/
</script>
</body>
</html> 网友回复
如何破解绕开seedance2.0真人照片生成视频 限制?
python有哪些算法可以将视频中的每个帧图片去除指定区域水印合成新的视频?
iphone的激光雷达数据能否实时传输到three三维空间中?
豆包sora等ai视频生成大模型生成的视频水印如何去除?
python如何实现在电脑上拨号打电话给手机?
具身机器人与人形机器人区别?
nodejs如何将一个完整的js代码文件切割成不同的部分混淆后动态加载进入html运行?
为啥windows.onerror捕获js错误是这样的{"message":"Script error.","source":"","lineno":0,"colno":0,"stack":null,
2026年ai将全面接管编程?
WebMCP是干啥的?


