Как перестать играть музыку повторно в Vue - WaveSurfer? - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь остановить воспроизведение звука, но это просто работает один раз.

in Player.vue компонент, я прекращаю воспроизведение аудио:

 stop() {
        this.audio.currentTime = 0;
        this.audio.pause();
        this.isPlaying = false;

        this.$store.commit('stopStatus', this.currentSong.id);
        this.$store.commit('playingStatus', false);
      },

Vuex

export const state = () => ({
  stop: false
});

export const mutations = {
  stopStatus(state, val) {
    state.stop = val;
  },
};

export const getters = {
  getStopStatus: state => state.stop,
};

Index.vue в навесном крюке:

      this.$store.watch(
        state => {
          return this.$store.getters.getStopStatus;
        },
        val => {
          if (val === this.song.id) {
            this.WaveSurfer.stop();
            this.WaveSurfer.setCurrentTime(0);
            this.icon = false;
          }
        }
      );
...