我正在使用一个简单的语音通过webkitSpeechRecognition进行文本检测.
此代码在Windows桌面上效果很好.
但是-在Android Chrome浏览器上-开始检测时,AndroID状态栏上的麦克风仅显示1或2秒.如果没有语音活动-它会关闭并且语音识别会停止.如果单击“开始”后我的说话速度非常快,它会一直保持.
有什么想法可以随时使AndroID麦克风可用吗?
if ('webkitSpeechRecognition' in window) { var recognition = new webkitSpeechRecognition(); recognition.continuous = true; recognition.interimResults = true; recognition.onstart = function () { $("#status").HTML("Status: Recording..."); recognizing = true; }; recognition.onerror = function (event) { alert(event.error); }; recognition.onend = function() { recognizing = false; }; recognition.onresult = function(event) { var interim_transcript = ''; for (var i = event.resultIndex; i < event.results.length; ++i) { if (event.results[i].isFinal) { final_transcript += event.results[i][0].transcript; } else { interim_transcript += event.results[i][0].transcript; } } final_transcript = cAPItalize(final_transcript); $("#final_span").HTML(linebreak(final_transcript)); $("#interim_span").HTML(linebreak(interim_transcript)); }; }
解决方法:
在尝试与WebVR建立免提交互时,我本人正在寻找解决方案.
https://codepen.io/bryik/pen/mErOOR?editors=0010至少仅发出一次哔声,但经过一些测试,我注意到,每次单击/轻击都会再次触发识别的“提示音”.
较旧的资源给我很大的希望,让annyang(https://github.com/TalAter/annyang)可以工作:
https://github.com/cvan/webvr-holodeck/issues/22
但是我想这也只是在打电话
recognition.onend = function() { console.info("voice recognition ended, restarting..."); recognition.start();}
在Recognition.onend回调中.因此,在AndroID Chrome上,您可能每隔一秒钟就会遇到识别提示音…
最后,MDN并没有真正说明是否可以在androID Chrome(https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition)上进行连续识别,但是我看过的每个示例并没有在androID上提供连续模式(至少在CyanogenMod Lollipop上如此)
//编辑,如果您看一下https://www.microsoft.com/cognitive-services/en-us/speech-api,他们会以某种方式不断获得认可,但是我在他们的源代码中找不到任何东西…
总结以上是内存溢出为你收集整理的javascript-Android Chrome上的webkitSpeechRecognition全部内容,希望文章能够帮你解决javascript-Android Chrome上的webkitSpeechRecognition所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)