Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在特定时间播放音频文件的JavaScript程序不会';好像不行_Javascript_Html_Audio_Time_Mp3 - Fatal编程技术网

在特定时间播放音频文件的JavaScript程序不会';好像不行

在特定时间播放音频文件的JavaScript程序不会';好像不行,javascript,html,audio,time,mp3,Javascript,Html,Audio,Time,Mp3,我是JavaScript的新手,所以我只是从互联网上下载了一个脚本,并将它调整到某个特定时间播放音频文件的位置(以及它最初作为HTML时钟的用途,精确到毫秒),这样我就可以将节拍降到00:00 AM: Number.prototype.pad=函数(n){ for(var r=this.toString();r.length您需要尽早创建新音频(),例如在加载页面时。这样,浏览器就有时间缓冲音频。这就是成功的原因。非常感谢,为更好的2021干杯。

我是JavaScript的新手,所以我只是从互联网上下载了一个脚本,并将它调整到某个特定时间播放音频文件的位置(以及它最初作为HTML时钟的用途,精确到毫秒),这样我就可以将节拍降到00:00 AM:

Number.prototype.pad=函数(n){
for(var r=this.toString();r.length=700){
hasplay=true;
var song=新音频('song.mp3');
歌曲。游戏();
}否则{
hasPlayed=false;
}
//结束我的代码
}
函数initClock(){
updatelock();
setInterval(“updateLock()”,1);
}
我的意图是,当到达某个特定时间时,它将创建一个
新音频()
,该音频包含
歌曲.mp3
,并将播放它,使用
布尔值播放
,以防止时钟重复发送歌曲


我觉得我已经记下了基本的想法,但执行却失败了。我觉得我正在将Java逻辑应用于JavaScript,尽管我知道这两者是完全不同的。我刚刚修复了
setInterval
。这在放置函数而不是放置字符串时运行

Number.prototype.pad=函数(n){
for(var r=this.toString();r.length=700){
hasplay=true;
var song=新音频('song.mp3');
歌曲。游戏();
}否则{
hasPlayed=false;
}
//结束我的代码
}
函数initClock(){
updatelock();
setInterval(()=>updateLock(),1);
}
initClock()
它最初的目的是将HTML时钟降低到毫秒

无论如何,这是不可能的。没有人的屏幕会以1000赫兹的频率更新。60赫兹是典型的。你应该改用

window.setInterval(“updateLock()”,1)

这个间隔绝对不会每毫秒触发一次

我的意图是,当到达某个特定时间时,它将创建一个新的音频(),其中包含song.mp3并播放它

您需要尽早创建
new Audio()
,例如当您首先加载页面时。这样,浏览器就有时间缓冲音频


如果您的音频剪辑相对较短(不到一两分钟),并且如果您想获得更好的计时效果,可以使用Web音频API和。这将允许您提前获取音频数据(通过fetch API或任何您喜欢的方式),然后将其解码到内存中的PCM,并将其排队以在特定时间启动。这里的缺点是,在执行此操作之前,必须完全加载该文件,因为整个解码音频都在内存中才能使用。

第39行,char 23:Syntax Error。>您需要尽早创建新音频(),例如在加载页面时。这样,浏览器就有时间缓冲音频。这就是成功的原因。非常感谢,为更好的2021干杯。