为什么"结束"音频事件html5触发不止一次?

时间:2015-12-21 15:03:20

标签: javascript html5 audio

我有一个代码,我希望在上一首曲目结束时播放下一曲目,但我有一个问题,当我再次开始播放上一曲目时,"结束"事件触发更多,一次,我不知道如何解决它

  AudioPlayer.prototype.listenToEndedTrack = function() {
    var _this = this ;
    this.audioPlayerUid.addEventListener("ended", function() {
       console.log("Ended");
      _this.audioPlayerUid.removeEventListener('ended');
    }) ;
  }

1 个答案:

答案 0 :(得分:0)

您还没有删除事件侦听器,因为它需要侦听器以及事件类型。

根据您的代码示例,这样的内容应该有效:

AudioPlayer.prototype.listenToEndedTrack = function() {
   var _this = this;

   function listener() {
       console.log("Ended");
       _this.audioPlayerUid.removeEventListener("ended", listener);
   }

   this.audioPlayerUid.addEventListener("ended", listener) ;
}