javascript - 循环播放音频文件数组时立即播放的音频文件
问题描述
我正在开发西蒙游戏应用程序,现在有一个测试按钮。单击它时,将随机生成的颜色推送到 botPattern 数组变量,然后我想循环遍历数组并根据存储的项目/颜色为每个数组项播放音频。
现在的问题是所有声音都是同时播放的,而不是一个接一个。所以我点击了让我们说第二次或第三次,阵列中的所有颜色声音一次播放。我该如何解决这个问题?我尝试使用 settimeout 但 id 没有任何效果。这是一个片段:
setTimeout(simonGameApp.playAudio(color), 5000);
});
这是代码:https ://codesandbox.io/s/00v44vrxj0
点击测试按钮调用 generateColorSequence 函数。我想要的只是播放第一个数组项目,然后播放第二个等等关于如何解决它的任何想法?
解决方案
这是因为simonGameApp.playAudio(color)
被调用并且return
函数的值被传递给setTimeout()
。您需要将其包装在另一个函数中
setTimeout(function(){
simonGameApp.playAudio(color)
}, 5000);
ES6 语法:
setTimeout(() => simonGameApp.playAudio(color),5000)
推荐阅读
- c# - 在 UWP 后台任务中使用 Web 套接字
- java - Android SDK 来源:源代码与字节码不匹配
- c# - How can I cast an object using a known Type object?
- sql-server - 加盟条件不合格
- javascript - Node Express 编写 API 函数样式/设计模式最佳实践
- jmeter - 在 Jmeter 中每 1000 个用户暂停测试 2 分钟
- node.js - 让 Electron 使用节点的蓝牙串行端口
- gradle - How to configure Gradle Java plugin from a custom Gradle plugin
- symfony - How to override bundle templates and controllers (FOSUserBundle) without using bundle inheritance
- swift - 无法使用 NSManagedObject 获得计算属性