我正在进行口语测试,先播放音频说明,然后播放视频问题,最后开始录音和倒计时。我发现这对某些学生来说非常有效,但在某些笔记本电脑上,事件之间没有延迟,这当然会使测试完全混乱。
setTimeout(function(){
var audio = new Audio('/audio/listening01.mp3');
audio.play();
setTimeout(function(){
var vid = document.getElementById("myVideo1");
vid.play();
setTimeout(function(){
clockSetUp();
var audio = new Audio('/audio/beep.mp3');
audio.play();
var mic = document.getElementById("mic1");
recordParts1("<?php echo ('1_' . $myID1) ?>");
mic.src = "/images/micGreen.png";
setTimeout(function(){
var mic = document.getElementById("mic1");
mic.src = "/images/mic.png";
document.getElementById("myNext2").style.display = "block";
},30000);
},1000 + <?php echo ($video1length) ?>);
},16000);
},1000);
break;
我最初使用一系列 setTimeouts 对其进行编码,但后来尝试嵌套以查看是否可以解决该问题(php 只是以毫秒为单位提供视频的长度)。抱歉代码有点乱,我一查清楚问题就会整理。
我在谷歌上搜索了这个问题,但找不到任何正在讨论的此类行为,并且在机器或软件规范中找不到任何可以解释这种情况发生在某些学生身上而不是其他人身上的事情。
我确实理解 setTimeout 不是一个准确的时间度量,但是这个问题与超时延迟无关,而是关于 setTimeout 在某些笔记本电脑上被忽略。