当前位置:首页 > HTML

在h5中实现语音输入

2026-01-13 22:45:00HTML

使用Web Speech API实现语音输入

Web Speech API是浏览器原生支持的语音识别接口,无需额外插件。以下为关键实现代码:

// 创建语音识别对象
const recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();
recognition.lang = 'zh-CN'; // 设置语言
recognition.interimResults = true; // 返回临时结果

// 绑定结果处理事件
recognition.onresult = (event) => {
  const transcript = Array.from(event.results)
    .map(result => result[0])
    .map(result => result.transcript)
    .join('');
  document.getElementById('output').value = transcript;
};

// 开始/停止语音输入
document.getElementById('startBtn').addEventListener('click', () => recognition.start());
document.getElementById('stopBtn').addEventListener('click', () => recognition.stop());

兼容性处理方案

目前Chrome、Edge等基于Chromium的浏览器支持最佳,需注意:

  • iOS Safari需要用户主动触发(如点击事件)
  • 部分浏览器需添加前缀(webkitSpeechRecognition)
  • 始终检查API可用性:
if (!('SpeechRecognition' in window) && !('webkitSpeechRecognition' in window)) {
  alert('当前浏览器不支持语音识别');
}

增强用户体验的技巧

添加视觉反馈指示录音状态:

.recording {
  animation: pulse 1.5s infinite;
}
@keyframes pulse {
  0% { opacity: 1; }
  50% { opacity: 0.5; }
  100% { opacity: 1; }
}

处理常见错误情况:

recognition.onerror = (event) => {
  console.error('识别错误:', event.error);
  if(event.error === 'not-allowed') {
    alert('请允许麦克风权限');
  }
};

备选第三方方案

当需要更高精度或跨浏览器支持时,可考虑:

在h5中实现语音输入

  • 科大讯飞开放平台WebAPI
  • 百度语音识别SDK
  • Azure Cognitive Services

这些方案通常需要申请API密钥,但能提供更好的识别准确率和附加功能。

标签: 语音
分享给朋友:

相关文章

vue怎么实现语音通话

vue怎么实现语音通话

实现语音通话的基本步骤 在Vue中实现语音通话功能,通常需要结合WebRTC技术。WebRTC是一种支持浏览器之间实时通信的开源技术,适合用于音视频通话场景。 安装必要依赖 确保项目中已安装peer…

react实现语音播报

react实现语音播报

使用 Web Speech API 实现语音播报 React 中可以通过浏览器原生支持的 Web Speech API 实现语音播报功能。该 API 提供了 SpeechSynthesis 接口,允许…

php语音实现

php语音实现

PHP语音实现方法 PHP可以通过多种方式实现语音功能,包括语音合成(TTS)、语音识别(ASR)以及语音处理。以下是几种常见的方法: 使用第三方API 许多云服务提供商提供语音相关的API,如Go…

js实现语音输入

js实现语音输入

实现语音输入的基本步骤 使用Web Speech API的SpeechRecognition接口实现语音输入功能。该API允许浏览器直接接收和处理语音输入。 浏览器兼容性检查 检测浏览器是否支持语音…

php语音实现

php语音实现

在PHP中实现语音功能可以通过多种方式,包括语音合成(TTS)、语音识别(ASR)以及语音播放等。以下是几种常见的实现方法: 使用第三方API实现语音合成(TTS) Google Cloud Tex…

vue实现语音对话

vue实现语音对话

实现语音对话的基本思路 在Vue中实现语音对话功能通常需要结合浏览器提供的Web Speech API或第三方语音识别/合成服务。核心流程包括语音识别(将用户语音转为文本)、自然语言处理(可选,用于理…