在我的应用中,用户可以选择将他们的输入存储到数组中,例如。
"[{"time":1835,"elemId":"bass"},{"time":2553,"elemId":"highhat"}]"
除了我尝试使用上面的示例信息重播他们的输入时,这是好的和好的。
我认为问题是我使用的是一个名为LowLatencyAudio的插件,它是通过phonegap安装的,这对我来说有点复杂。
因此,我不是试图“模仿”用户的输入,而是只播放附加到每个按钮的.mp3文件。
这是我目前正在使用的代码
document.getElementById('playback').onclick = function () {
console.log(localStorage.getItem("eventlist"));
var playback = JSON.parse(window.localStorage.getItem("eventlist"))
for (i = 0; i < playback.length; i++) {
play = playback[i];
setTimeout((function (play) {
return function () {
lla.play();
}
})(play), play.time)
}
}
返回错误
Uncaught TypeError: Cannot call method 'play' of undefined.
我会把按钮和我试图调用的功能放在一边,但我似乎无法找到结果,任何帮助都会受到赞赏,谢谢。
按钮
<div class="drum" id="bass" ontouchstart="play('bass');" ontouchend="touchEnd(event);">Bass</div>
播放功能
function play(drum) {
document.getElementById(drum).className = 'drum touched';
lla.play('assets/' + drum + '.mp3');
}