调用 Howler onend() 方法的正确方法
Posted
技术标签:
【中文标题】调用 Howler onend() 方法的正确方法【英文标题】:Correct way to call Howler onend() method 【发布时间】:2016-12-06 19:32:14 【问题描述】:我正在尝试使用 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()
行缺少分号。有人可以在这里澄清正确的语法吗?
【问题讨论】:
我认为您可能需要更像sound.onend(function(event)...);
的东西(您所拥有的在语法上不正确)
.onend
方法调用中的函数将采用什么事件参数? .onend
仅在曲目结束时调用,因此据我所知不需要额外的事件参数。不过,我将尝试使用嵌套在方法中的函数调用,看看是否有帮助。
【参考方案1】:
您需要执行以下操作:
sound.on('end', function()
track_number ++;
$("#xxxjukeboxpicture".attr("src", "/tile" + track_number + ".jpg");
);
基于 Howler 文档:https://github.com/goldfire/howler.js#documentation
【讨论】:
有趣!我一直在查看 Howler 网站,并认为 GitHub 信息与网站信息相同。很好的发现! @TheMasterPriest 我假设您正在查看旧网站,该网站显示 1.x 的文档。新网站是howlerjs.com。【参考方案2】:这是一个旧线程。但我一直在看嚎叫..
on 事件需要作为可选对象成为新的 howler 对象的一部分。
所以你得到这个错误的原因是因为你没有像这样添加 onend 而是试图独立添加它。我假设 sound.on('end'
有效,因为它使用的是浏览器 API 而不是 Howler 的。
选项和事件的正确方式是:
var sound = new Howl(
src: ["barking.mp3"],
preload: true,
autoplay: false,
onload: function()
console.log("LOADED");
,
onend: function()
console.log("ONEND");
);
【讨论】:
以上是关于调用 Howler onend() 方法的正确方法的主要内容,如果未能解决你的问题,请参考以下文章