我有一个代码,我想在上一首曲目结束时播放下一首曲目,但是我有一个问题,当我再次开始播放上一首曲目时,“结束”事件触发的次数超过一次,我不知道如何修理它
AudioPlayer.prototype.listenToEndedTrack = function() {
var _this = this ;
this.audioPlayerUid.addEventListener("ended", function() {
console.log("Ended");
_this.audioPlayerUid.removeEventListener('ended');
}) ;
}
最佳答案
您尚未删除事件侦听器,因为它需要侦听器以及事件类型。
根据您的代码示例,应该可以执行以下操作:
AudioPlayer.prototype.listenToEndedTrack = function() {
var _this = this;
function listener() {
console.log("Ended");
_this.audioPlayerUid.removeEventListener("ended", listener);
}
this.audioPlayerUid.addEventListener("ended", listener) ;
}