可以在播放声音的时候当检测到麦克风声音有人声的时候中断播放,识别人声为文字,完整代码如下:
<!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> 网友回复
有没有不依赖embedding向量的RAG技术?
有没有支持实时打断语音通话并后台帮你执行任何的ai模型?
开源ai大模型文件格式GGUF、MLX、Safetensors、 ONNX 有什么区别?
出海挣钱支付收款PayPal、Wise 、PingPong、Stripe如何选择?
如何实现类似google的图片隐形水印添加和识别技术?
linux上如何运行任意windows程序?
ai能写出比黑客还厉害的零日漏洞等攻击工具攻击任意软件系统工程?
js如何获取浏览器的音频上下文指纹、Canvas指纹、WebGL渲染特征?
为啥ai开始抛弃markdown文本,重新偏好html文本了?
网站有没有办法鉴别访问请求是由ai操控chrome-devtools-mcp发出的?


