audio音乐播放

Posted yangguoe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了audio音乐播放相关的知识,希望对你有一定的参考价值。

1.audio标签

1  <audio    @play="ready"  @error="error"  ref="audio" :src="currentSong.url"></audio>

2.中间圆cd和播放/暂停按钮动画

1   playIcon(){
2           return this.playing ? ‘ iconfont  icon-pause-‘ : ‘iconfont  icon-bofang1‘
3         },
4         cdCls(){
5           return this.playing ? ‘play‘ :‘play pause‘
6         }

3.通过mutations来设置播放/暂停----上一首/下一首-----min/normal播放

1  methods:{
2         ...mapMutations({
3           setFullScreen:‘SET_FULL_SCREEN‘,
4           setPlayingState:‘SET_PLAYING_STATE‘,
5           setCurrentIndex:‘SET_CURRENT_INDEX‘,
6         }),
7         mini(){//当电机及此按钮的时候,将全屏显示转换为“迷你播放”
8           this.setFullScreen(false)
9         },

4.监听currentsong的变化,当currentsong发生变化的时候,让歌曲播放;

1  currentSong(){//一点击歌曲进来的时候是播放状态
2           this.$nextTick(()=>{
3             this.$refs.audio.play()
4           })
5         },

5.监听playing的播放状态

1   playing(newPlaying){//监听是否在播放---切换播放暂停状态
2           console.log(newPlaying)
3           const audio = this.$refs.audio
4           newPlaying ? audio.play() : audio.pause()
5         }

6.上一曲/下一曲切换:

 1   prev(){//点击上一首/下一首切换其实就是切换歌曲的播放索引,让其+1/-1;audio由一个ready属性,来确认是否准备好播放,来阻止用户的连续多次点击;
 2           if (!this.songReady) {
 3             return
 4           }
 5             let index = this.currentIndex -1
 6           if(index ===1){
 7               index = this.playlist.length -1
 8           }
 9           this.setCurrentIndex(index)
10           if(!this.playing){
11               this.togglePlaying()
12           }
13         },
14         next(){
15           if (!this.songReady) {
16             return
17           }
18           let index = this.currentIndex + 1
19           if (index === this.playlist.length){
20             index = 0
21           }
22           this.setCurrentIndex(index)
23           if(!this.playing){//当暂停时候点击播放的情况
24             this.togglePlaying()
25           }
26         },
27         ready(){
28             this.songReady = true
29         },

 

以上是关于audio音乐播放的主要内容,如果未能解决你的问题,请参考以下文章

html5 audio 标签autoplay="autoplay"在手机预览网页无法自动播放背景音乐

怎么在HTML插入音乐自动播放的代码

如何用HTML写代码实现自动播放音乐

audio标签怎么实现多首音乐的播放啊?

自定义audio样式做音乐播放器

audio音乐播放