Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der Schritte zur Implementierung eines Musikplayers mit der Vue-Element-Komponente

Detaillierte Erläuterung der Schritte zur Implementierung eines Musikplayers mit der Vue-Element-Komponente

php中世界最好的语言
php中世界最好的语言Original
2018-05-12 11:31:392418Durchsuche

Dieses Mal werde ich Ihnen die Schritte zur Implementierung eines Musikplayers mithilfe der Vue-Element-Komponente ausführlich erläutern. Welche Vorsichtsmaßnahmen für die Implementierung eines Musikplayers mithilfe der Vue-Element-Komponente gelten ist ein praktischer Fall, werfen wir einen Blick darauf.

Ich schreibe einen Blog auf Basis der Github-Seite und möchte vor Kurzem einen Musikplayer hinzufügen. Ich habe den ganzen Morgen daran gearbeitet und werde ihn mit Ihnen teilen.

Demo Adressehttps:// github-laziji.github.io

Effekt

Verwendete Komponenten

Elementkomponente

  • Layout

  • Schaltfläche Schaltfläche

  • Schieberegler

  • Fortschritt Fortschritt

  • Popup-Box Popover

HTML5-Komponente

Audio

Implementierungscode

Eine detailliertere Implementierung finden Sie unter https://github.com/GitHub-Laziji/vblog

<template>
  <p>
  <el-row>
   <el-col :span="4">
    <el-popover
    placement="top-start"
    trigger="hover">
     <p style="text-align: center">
      <el-progress 
      color="#67C23A"
      type="circle" 
      :percentage="music.volume"></el-progress><br>
      <el-button 
      @click="changeVolume(-10)"
      icon="el-icon-minus" 
      circle></el-button>
      <el-button 
      @click="changeVolume(10)"
      icon="el-icon-plus" 
      circle></el-button>
     </p>
     <el-button 
     @click="play"
     id="play"
     slot="reference"
     :icon="music.isPlay?&#39;el-icon-refresh&#39;:&#39;el-icon-caret-right&#39;" 
     circle></el-button>
    </el-popover>
   </el-col>
   <el-col :span="14" style="padding-left: 20px">
    <el-slider
    @change="changeTime"
    :format-tooltip="formatTime"
    :max="music.maxTime"
    v-model="music.currentTime" 
    style="width: 100%;"></el-slider>
   </el-col>
   <el-col :span="6" style="padding: 9px 0px 0px 10px;color:#909399;font-size: 13px">
    {{formatTime(music.currentTime)}}/{{formatTime(music.maxTime)}}
   </el-col>
  </el-row>
  <audio ref="music" loop autoplay> 
   <source src="http://sc1.111ttt.cn:8282/2018/1/03m/13/396131232171.m4a?tflag=1519095601&pin=6cd414115fdb9a950d827487b16b5f97#.mp3" type="audio/mpeg">
  </audio>
 </p>
</template>
<script>
 export default{
  data(){
   return {
    music:{
     isPlay:false,
     currentTime:0,
     maxTime:0,
     volume:100
    }
   }
  },
  mounted(){
   this.$nextTick(()=>{
    setInterval(this.listenMusic,1000)
   })
  },
  methods:{
   listenMusic(){
    if(!this.$refs.music){
     return
    }
    if(this.$refs.music.readyState){
     this.music.maxTime = this.$refs.music.duration
    }
    this.music.isPlay=!this.$refs.music.paused
    this.music.currentTime = this.$refs.music.currentTime
   },
   play(){
    if(this.$refs.music.paused){
     this.$refs.music.play()
    }else{
     this.$refs.music.pause()
    }
    this.music.isPlay=!this.$refs.music.paused
    this.$nextTick(()=>{
     document.getElementById('play').blur()
    })
   },
   changeTime(time){
    this.$refs.music.currentTime = time
   },
   changeVolume(v){
    this.music.volume += v 
    if(this.music.volume>100){
     this.music.volume = 100
    }
    if(this.music.volume<0){
     this.music.volume = 0
    }
    this.$refs.music.volume = this.music.volume/100
   },
   formatTime(time){
    let it = parseInt(time)
    let m = parseInt(it/60)
    let s = parseInt(it%60)
    return (m<10?"0":"")+parseInt(it/60)+":"+(s<10?"0":"")+parseInt(it%60)
   }
  } 
 }
</script>

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben Spannende Informationen, bitte beachten Sie andere verwandte Artikel auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Zusammenfassung der Methoden zum Einbetten von JS in HTML-Dokumente

Detaillierte Erläuterung der Schritte zum Exportieren von Tabellen in V-für

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte zur Implementierung eines Musikplayers mit der Vue-Element-Komponente. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn