gpt4 book ai didi

javascript - Chrome 中使用 javascript 的语音转文本无法识别任何内容

转载 作者:搜寻专家 更新时间:2023-10-31 22:29:27 25 4
gpt4 key购买 nike

我正在尝试用 JAVASCRIPT 编写代码,该代码使用语音输入并将其转换为文本并将该文本放入文本区域 (HTML)。我的代码如下所示。该按钮看起来有点奇怪(比平时小),当您单击它时,它无法正常工作。请帮忙。

我的代码如下:

<textarea id="textarea" rows=10 cols=80></textarea>
<button id="button" onclick="toggleStartStop()"></button>

<script type="text/javascript">
var recognizing;
var recognition = new SpeechRecognition();
recognition.continuous = true;
reset();
recognition.onend = reset();

recognition.onresult = function (event) {
for (var i = resultIndex; i < event.results.length; ++i) {
if (event.results.final) {
textarea.value += event.results[i][0].transcript;
}
}
}

function reset() {
recognizing = false;
button.innerHTML = "Click to Speak";
}

function toggleStartStop() {
if (recognizing) {
recognition.stop();
reset();
} else {
recognition.start();
recognizing = true;
button.innerHTML = "Click to Stop";
}
}

最佳答案

看起来您正在使用来自 W3 站点的一些过时的示例代码:http://lists.w3.org/Archives/Public/public-speech-api/2012Oct/0032.html

您使用的是谷歌浏览器吗?打开 JavaScript 控制台,它应该显示出这个问题:

Uncaught ReferenceError: SpeechRecognition is not defined

这是一个可以工作的示例页面:https://www.google.com/intl/en/chrome/demos/speech.html

全部都是 HTML5,因此您可以查看整个源代码并从中学习。玩得开心!

编辑:使 OP 的代码示例在 Google Chrome 上运行所需的最少更改:

  • SpeechRecognition替换为webkitSpeechRecognition
  • resultIndex替换为event.resultIndex
  • event.results.final 替换为 event.results[i].isFinal

结果代码:

<textarea id="textarea" rows=10 cols=80></textarea>
<button id="button" onclick="toggleStartStop()"></button>

<script type="text/javascript">
var recognizing;
var recognition = new webkitSpeechRecognition();
recognition.continuous = true;
reset();
recognition.onend = reset();

recognition.onresult = function (event) {
for (var i = event.resultIndex; i < event.results.length; ++i) {
if (event.results[i].isFinal) {
textarea.value += event.results[i][0].transcript;
}
}
}

function reset() {
recognizing = false;
button.innerHTML = "Click to Speak";
}

function toggleStartStop() {
if (recognizing) {
recognition.stop();
reset();
} else {
recognition.start();
recognizing = true;
button.innerHTML = "Click to Stop";
}
}
</script>

关于javascript - Chrome 中使用 javascript 的语音转文本无法识别任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22932636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com