JavaScript 为语音计时

发布于 2024-11-17 03:54:31 字数 399 浏览 4 评论 0原文

我正在寻找一种方法来计算某人在仅使用 HTML5 的网页上说出一段文本所需的输入时间。

我研究了 x-webkit-speech 并可以记录句子,但正在寻找一种对输入进行计时的方法,例如“onwebkitspeechstart”

<input id="speech" type="text" speech x-webkit-speech onwebkitspeechstart="alert('Timer Start');" onwebkitspeechend="alert('Timer End');"/>

还有人知道如何更改 webkit 语音在认为语音之前等待的时间量已结束,以允许句子之间有更长的停顿。

我已经在这个主题上做了很多谷歌搜索,但找不到支持的属性/事件的列表。

I'm looking for a way to time the input it takes for someone to speak a block of text on a webpage only using HTML5.

I've looked into the x-webkit-speech and can record the sentence but am looking a way to time the input for instance "onwebkitspeechstart"

<input id="speech" type="text" speech x-webkit-speech onwebkitspeechstart="alert('Timer Start');" onwebkitspeechend="alert('Timer End');"/>

Also does anyone know how to change the amount of time the webkit speech waits before it thinks the speech has ended to allow for longer pauses between sentences.

I've done a lot of Googling on the subject but can't find a list of supported attributes/events.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深白境迁sunset 2024-11-24 03:54:31

来自原始海报的评论,他错误地认为他们不被允许“自我回答”,但确实弄清楚了这一点。

退一步来说,这非常简单:

<input id="speech" type="text" speech x-webkit-speech onClick="StartTimer();" onwebkitspeechchange="StopTimer();"/> 

然后使用两个 Javascript 函数来获取时间,然后进行比较:

var timeStart;
var timeEnd
function StartTimer(){
    timeStart = new Date();
}
function StopTimer() {
    timeEnd = new Date(); //get the number of seconds it took to record.
    var duration = (timeEnd - timeStart) / 1000;
} 

From a comment from the Original Poster who thought incorrectly that they were not allowed to "Self-Answer" but did figured this out.

Taking a step back this was pretty simple:

<input id="speech" type="text" speech x-webkit-speech onClick="StartTimer();" onwebkitspeechchange="StopTimer();"/> 

Then having two Javascripts functions to get the time and then do a compare:

var timeStart;
var timeEnd
function StartTimer(){
    timeStart = new Date();
}
function StopTimer() {
    timeEnd = new Date(); //get the number of seconds it took to record.
    var duration = (timeEnd - timeStart) / 1000;
} 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文