vue 多个audio播放 一个audio播放其他audio禁止播放

页面:
        
<div class="right">
      <audio  :ref="'audio' + index"  :src="item.audioUrl"  @ended="haveEnded"/>
      <div :class="{ active: playIndex == index}"   class="audio-component"   @click="toReadAudio(index)" />
</div>

 

 js代码
toReadAudio (index) {
            let length = this.weekDetail.wordsRepeats.length || 0  // this.weekDetail.wordsRepeats是总共有几条音频数据
            if (length) {
                for (let i = 0; i < length; i++) {
                    let audioOne = 'audio' + i
                    audioOne = this.$refs[audioOne][0]
                    if (i === index) {
                        if (audioOne.paused) {
                        // 切换播放中的css样式
                            this.playIndex = index
                            audioOne.load()//音频重新加载,重新播放
                            audioOne.play()
                        } else {
                            audioOne.pause()
                            this.playIndex = null
                        }
                    } else {
                        audioOne.pause()
                    }
                }
            }
        }
posted @ 2020-09-24 15:25  栀夏。  阅读(2399)  评论(2编辑  收藏  举报