我正在编写一个获得八位数字的脚本然后大声读出来。我想要在读出数字之间延迟两秒钟。问题是,即使在用sleep()设置延迟之后,我的所有数字都会被立即读出,这会产生类似召唤的音频,这让我更接近于每次调试都是敌基督徒。这是我的代码。如何让循环执行以便将数字读取为例如2 .... 1 .... 3 .... 4 ....(其中...... = 2秒。)
for($counter=0; $counter<count($dbId); $counter++)
{
$fileName = array_search($dbId[$counter], $letterArray);
echo "<audio src='../resources/audio/mp3/'.$fileName.'.mp3' autoplay></audio>";
echo time() . "<br />";
sleep(2);
}
答案 0 :(得分:1)
PHP是一种超文本预处理器。这意味着它的输出不能间歇性地发送到浏览器。
您有两种选择。
audio
元素而不使用自动播放,并使用setInterval
audio
元素。通过倾听audio
完成或再次使用setInterval
答案 1 :(得分:0)
您对睡眠的理解不正确。睡眠延迟了PHP脚本,延迟了 来自服务器的响应,但您提供的结果网页将完全相同 有无睡眠。加载只需要更长的时间。你无法从php控制它 你必须以某种方式在客户端上这样做。例如,请查看this question。