+
95
-

回答

要在浏览器中的输入框实现语音输入,可以使用 Web Speech API。Web Speech API 提供了语音识别(Speech Recognition)和语音合成(Speech Synthesis)功能。在这里,我们主要关注语音识别功能,以便将用户的语音转换为文本并输入到 HTML 输入框中。

以下是一个简单的示例代码,演示如何使用 Web Speech API 实现语音输入:

HTML 部分

首先,创建一个简单的 HTML 页面,其中包含一个输入框和一个按钮,用于启动语音识别。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Speech Input Example</title>
</head>
<body>
  <h1>Speech Input Example</h1>
  <input type="text" id="speech-input" placeholder="Click the button and speak" />
  <button id="start-button">Start Speech Input</button>

  <script src="script.js"></script>
</body>
</html>
JavaScript 部分

然后,在一个单独的 JavaScript 文件(例如 script.js)中,实现语音识别的功能。

document.addEventListener('DOMContentLoaded', function() {
  const inputField = document.getElementById('speech-input');
  const startButton = document.getElementById('start-button');

  // 检查浏览器是否支持 Web Speech API
  if (!('webkitSpeechRecognition' in window)) {
    alert('Your browser does not support Web Speech API');
  } else {
    // 创建一个语音识别对象
    const recognition = new webkitSpeechRecognition();

    // 设置识别持续时间
    recognition.continuous = false; // 非连续识别
    recognition.interimResults = false; // 最终结果

    // 识别语言设置为英文(你可以根据需要更改为其他语言)
    recognition.lang = 'en-US';

    // 当语音识别结果返回时触发
    recognition.onresult = function(event) {
      const result = event.results[0][0].transcript;
      inputField.value = result;
    };

    // 当识别结束时触发
    recognition.onend = function() {
      console.log('Speech recognition service disconnected');
    };

    // 当识别出错时触发
    recognition.onerror = function(event) {
      console.error('Speech recognition error detected: ' + event.error);
    };

    // 点击按钮启动语音识别
    startButton.addEventListener('click', function() {
      recognition.start();
    });
  }
});
工作原理检查浏览器支持:脚本首先检查浏览器是否支持 Web Speech API。如果不支持,显示一个警告。创建识别对象:如果浏览器支持,创建一个 webkitSpeechRecognition 对象。配置识别对象:设置识别语言、是否连续识别和是否返回中间结果。处理识别结果:当语音识别返回结果时,将结果放入输入框中。启动识别:当用户点击按钮时,启动语音识别。注意事项浏览器支持:Web Speech API 在大多数现代浏览器中都受到支持,但在某些浏览器(例如 Safari)中可能需要特定的前缀(例如 webkitSpeechRecognition)。HTTPS:由于安全原因,Web Speech API 通常要求网页在 HTTPS 下运行。网络,确保你的网络能访问谷歌服务

网友回复

我知道答案,我要回答