如何解决我如何以另一个函数的路径运行Audio.play,就像它们在同一函数中一样快?
我正在尝试制作一个像游戏一样的“ cookie Clicker”,每次单击Clicker时都需要播放声音。我的问题是,新的Audio和audio.play在两个单独的函数中(具有全局变量),这导致从单击到声音的延迟。
有什么方法可以消除延迟,而无需将其移至同一功能?
在此处定义音频:
[].forEach.call(document.getElementById('skins').children,function(e) {
e.onclick = function () {
klikketskin = this.id;
clicklyd = new Audio(`Medier/Lyd/Clicker/${klikketskin}.mp3`); }
在这里播放(在脚本的后面):
function clickevent() {
clicklyd.play(); }
现在如何(打开声音): https://imgur.com/a/2vf4NWG
我想要什么(打开声音): https://imgur.com/a/x4wYFq2
向您致敬! :D
解决方法
您应将currentTime
属性重置回到0
,这将使声音从头开始重放,然后再次调用play()
。
function clickevent() {
clicklyd.currentTime = 0;
clicklyd.play();
}
但是,如果尚未结束,则会切断前一个声音。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。