当前位置:首页 > 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参数支持不同语言:


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

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

// 粤

js实现语音识别

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

相关文章

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的H…

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Ja…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue…