【发布时间】:2013-05-30 19:02:57
【问题描述】:
我无法做到这一点。所以,我正在制作一个简单的脚本来告诉当前时间。 audiocontainer 是一个音频元素,之前已经定义了 mp3play() 函数。 这样做的想法是:
[play hourXX.mp3] -> 结束时 -> [play minutesXX.mp3] -> 删除监听器,因此停止。
- 问题是:
没有 removeEventListener() 函数,minuteXX.mp3 无限循环(“这是 12 和 54 分钟... 54 分钟... 54 分钟...),因为它不断触发侦听器最后。
使用 removeEventListener() 函数,音频根本不会启动。你知道为什么吗?
或者有没有更简单的方法可以连续播放 2 首 mp3?
function telltime() {
var d = new Date();
var h = d.getHours();
var m = d.getMinutes();
audiocontainer.addEventListener('ended', function () {
mp3play('./time/minutes/minute'+m.toString()+'.mp3');
audiocontainer.removeEventListener('ended', function(), false); // stop!
}, true);
mp3play('./time/hours/hour'+h.toString()+'.mp3');
}
【问题讨论】:
-
该行存在语法错误。这就是为什么。
function()没有其他任何东西是无效的(实际上没有任何意义) -
只是为了记录,这是我的逻辑(也许其他人会从错误中吸取教训):据我所知,如果你想销毁 EventListener,你需要以同样的方式引用它被创建。所以我还需要将函数的名称放在 removeEventListener 中。由于我使用嵌套的无名函数创建了监听器(它没有问题),我想我会用相同的“名称”来引用它 - 函数()。
标签: javascript html5-audio playlist event-listener