kikoeru-project / kikoeru-quasar

kikoeru 前端
GNU General Public License v3.0
26 stars 16 forks source link

[BUG] 播放按钮状态并未与实际播放状态关联 #8

Closed cha0sCat closed 3 years ago

cha0sCat commented 3 years ago

togglePlaying 按钮只是单方面维护了自己的状态,并在用户点击播放/暂停按钮时通知 vue-plyr 元素

    playing (flag) {
      if (this.player.duration) {
        // 缓冲至可播放状态
        flag ? this.player.play() : this.player.pause()
      }
      this.playLrc(flag);
    },

这就导致,如果通过其他途径(例如移动设备的控制中心、耳机的线控等)暂停播放,则 togglePlaying 按钮仍然是播放状态

建议修改方案: 播放状态由 vue-plyr 自下而上进行管理,并在 AudioPlayer 内设置监听,用于改变播放按钮当前状态。 通过这种方式,也能实现因加载而暂停的同时暂停字幕播放