我正在尝试使用下面的javascript代码从chrome浏览器访问音频,但是当我单击按钮时,在chrome浏览器中不会触发recognition.onresult
事件,但是当我访问包含语音到文本的实时演示的在线网页时,它在chrome浏览器中正常工作,请帮忙。
<script type="text/javascript">
var recognition = new SpeechRecognition();
recognition.onresult = function(event)
{
if (event.results.length > 0)
{
alert("Working");
}
}
</script>
<form>
<input type="button" value="Click to Speak"onclick="recognition.start()">
</form>
最佳答案
我刚在计算机上尝试过,它可以正常工作:
$(function () {
try {
var recognition = new webkitSpeechRecognition();
} catch (e) {
var recognition = Object;
}
recognition.continuous = true;
recognition.interimResults = true;
recognition.onresult = function (event) {
var txtRec = '';
for (var i = event.resultIndex; i < event.results.length; ++i) {
txtRec += event.results[i][0].transcript;
}
$('#txtArea').val(txtRec);
};
$('#startRecognition').click(function () {
$('#txtArea').focus();
recognition.start();
});
$('#stopRecognition').click(function () {
recognition.stop();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="startRecognition">Start Recognition</button>
<button id="stopRecognition">Stop Recognition</button>
<textarea id="txtArea"></textarea>