调用Howler onend()方法的正确方法

时间:2016-12-06 19:32:14

标签: javascript jquery audio syntax-error howler.js

我正在尝试使用Howler on end方法在曲目完成后更新某些属性,但它无法正常工作。像这样的代码:

var track_number = 0;

var sound = new Howl({
    src: ["barking.mp3"],
    autoplay: false;
    volume: 0.5;
    onload: function() {
        console.log("LOADED");
    }
});

sound.onend() {
    track_number ++;
    $("#xxxjukeboxpicture".attr("src", "/tile" + track_number + ".jpg");
};

每当我尝试添加sound.onend()函数并运行它时,浏览器会抛出错误,指出sound.onend()行上有一个缺少的分号。有人可以在这里澄清正确的语法吗?

2 个答案:

答案 0 :(得分:1)

您需要执行以下操作:

sound.on('end', function(){
  track_number ++;
  $("#xxxjukeboxpicture".attr("src", "/tile" + track_number + ".jpg");
});

基于咆哮文档:https://github.com/goldfire/howler.js#documentation

答案 1 :(得分:0)

这是旧线程。但是我一直在看咆哮。。

on事件必须作为可选的新咆哮对象的一部分。

因此收到此错误的原因是,您不是像这样添加onend而是尝试独立添加它。我认为sound.on('end'之所以有效,是因为它使用的是浏览器API,而不是Howler的API。

选项和事件的正确方法是:

var sound = new Howl({
    src: ["barking.mp3"],
     preload: true,
    autoplay: false,
    onload: function() {
        console.log("LOADED");
    },
   onend: function() {
          console.log("ONEND");  
    }
});