如何创建一个读取和播放数组的函数?

时间:2014-03-27 22:51:50

标签: javascript arrays

在我的应用中,用户可以选择将他们的输入存储到数组中,例如。

"[{"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');
        }

0 个答案:

没有答案