当前位置:首页 > 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的浏览器支持最佳,需注意:

在h5中实现语音输入

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

增强用户体验的技巧

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

在h5中实现语音输入

.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('请允许麦克风权限');
  }
};

备选第三方方案

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

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

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

标签: 语音
分享给朋友:

相关文章

vue实现语音助手

vue实现语音助手

Vue 实现语音助手的关键步骤 语音识别与合成 API 选择 Web Speech API 是浏览器原生支持的语音识别和合成接口,包含 SpeechRecognition(识别)和 SpeechSyn…

vue如何实现语音叫号

vue如何实现语音叫号

Vue 实现语音叫号功能 准备工作 确保项目中已安装必要的依赖,如 Web Speech API 或第三方语音合成库(如 speak-tts)。浏览器需支持 SpeechSynthesis API(现…

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允许浏览器直接接收和处理语音输入。 浏览器兼容性检查 检测浏览器是否支持语音…

js实现发送语音消息

js实现发送语音消息

实现语音消息发送的步骤 录音功能实现 使用浏览器提供的MediaRecorder API进行录音。确保用户授权麦克风访问权限。 navigator.mediaDevices.getUserMedia…