我尝试创建简单的语音文本javascript代码,其工作原理。
但是当我单击textarea
并再次讲话时,它不会记录我在说什么。
因此,基本上,如果我不单击textarea
,它就可以工作,而在单击textarea
之后,它将不起作用。
这是我的 .js代码
var targ = event.target || event.srcElement;
var textarea = document.getElementsByClassName("stt").value += targ.textContent || targ.innerText;
recognition.lang = SpeechLang;
recognition.interimResults = true;
recognition.maxAlternatives = 10;
recognition.continuous = true;
recognition.onresult = (event) => {
let interimTranscript = '';
for (let i = event.resultIndex, len = event.results.length; i < len; i++) {
let transcript = event.results[i][0].transcript;
if (event.results[i].isFinal) {
finalTranscript += transcript;
} else {
interimTranscript += transcript;
}
}
textarea = finalTranscript + interimTranscript;
}
我的html
<textarea class="form-control stt" name="Description[]" rows="3"></textarea>
我的完整代码: https://github.com/jazuly1/stackoverflow/blob/master/speechtotext.php