当前位置:首页 > JavaScript

js实现语音识别

2026-03-01 09:24:04JavaScript

使用Web Speech API实现语音识别

Web Speech API是浏览器原生支持的语音识别和合成接口,无需额外依赖库。以下为基本实现方法:

// 创建语音识别对象
const recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();

// 设置识别参数
recognition.lang = 'zh-CN'; // 设置语言为中文
recognition.interimResults = false; // 是否返回临时结果
recognition.maxAlternatives = 1; // 返回最大候选结果数

// 开始识别
recognition.start();

// 处理识别结果
recognition.onresult = (event) => {
  const transcript = event.results[0][0].transcript;
  console.log('识别结果:', transcript);
};

// 错误处理
recognition.onerror = (event) => {
  console.error('识别错误:', event.error);
};

// 识别结束自动重启
recognition.onend = () => {
  recognition.start();
};

添加用户交互控制

建议添加按钮控制识别开始/停止:

<button id="startBtn">开始录音</button>
<button id="stopBtn">停止录音</button>
<div id="output"></div>

<script>
  const startBtn = document.getElementById('startBtn');
  const stopBtn = document.getElementById('stopBtn');
  const output = document.getElementById('output');

  startBtn.addEventListener('click', () => {
    recognition.start();
    output.textContent = "正在聆听...";
  });

  stopBtn.addEventListener('click', () => {
    recognition.stop();
    output.textContent = "已停止";
  });
</script>

多语言支持配置

通过修改lang参数支持不同语言:

js实现语音识别


// 英语(美国)
recognition.lang = 'en-US';

// 日语
recognition.lang = 'ja-JP';

// 粤

标签: 语音识别js
分享给朋友:

相关文章

css3结合js制作

css3结合js制作

CSS3 结合 JavaScript 制作动态效果 CSS3 和 JavaScript 结合可以实现丰富的动态效果,包括动画、交互和响应式设计。以下是几种常见的实现方式: CSS3 动画与 Java…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(f…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…