[vue3]audio音乐进度条(二)跟随播放进度

/ 437评论 / 2549阅读 / 0点赞

上一期我们介绍了外观设计,这把我们聊聊让进度条跟随播放进度走

预期效果


准备


实现

<div id="root_div" class="cmusic_displayFlex_class" style="height:150px;justify-content:space-between;align-items: center;">
    <!-- 音频 -->
    <audio id="cmusic_audio" ref="cmusic_audio" controls muted
        @timeupdate="audio_lengthChange()" :src="url_audio">
    </audio>

    <span id="cmusic_control_span_progressBar">
        <div class="cmusic_displayFlex_class cmusic_control_progress_div" style="flex-direction: row;">
            <span id="cmusic_control_span_loadProgress" :style="cmusic_control_loadProgress_style"></span>
            <span id="cmusic_control_span_progress" :style="cmusic_control_progress_style"></span>
        </div>
    </span>
<div>
<style>
/*外框*/
#cmusic_control_span_progressBar{
    border-radius: 50px;
    height: 20px;
    width: 100%;
    display: inline-flex;
    align-items: center;
    position: relative;
    background: transparent;
    box-shadow: inset 2px 2px 4px #bcc5d6,
        inset -2px -2px 5px #feffff;
    border: 2px solid #d0f4ff;
    justify-content: center;
    transition: all 0.8s ease;
}
/*布局类*/
.cmusic_displayFlex_class {
    width: 100%;
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
}
.cmusic_control_progress_div {
    position:absolute;
    width:94% !important;
    height:100%;
    align-items: center;
}
/*进度条*/
#cmusic_control_span_progress,
#cmusic_control_span_loadProgress{
    background: linear-gradient(90deg, #c4f4fe, #66ccff);
    border-radius: 50px;
    position: absolute;
    width:100%;
    height: 60%;
    pointer-events: none;
    transition: width 0.5s ease;
    box-shadow: 2px 2px 10px #ccd3ff,
    -2px -2px 10px #ccd3ff;
}
/*加载进度条*/
#cmusic_control_span_loadProgress {
    background: linear-gradient(90deg, #abecd6, #fff9d2);
}
</style>
<!-- 引入vue -->
<script src="https://unpkg.com/vue@3.2.33"></script>
<script>
const { createApp } = Vue

var cmusic_json = {
    //数据
    data() {
        return {
            url_audio:"https://blog.coolight.cool/wp-content/uploads/2022/05/大喜_洛天依.m4a",
            cmusic_control_loadProgress_style:"width:80%",
            cmusic_control_progress_style:"width:50%"
        }
    },
    //函数
    methods:{
        //监听播放时长,修改进度条长度
        audio_lengthChange:function(){
            let caudio = this.$refs.cmusic_audio;
            //duration是音频总时长
            //如果音频元数据加载完成,才能获得其总时长,后续才能进行计算
            if (!isNaN(caudio.duration)){
                this.cmusic_control_progress_style = "width:" + (parseInt(caudio.currentTime / caudio.duration * 100)).toString() + "%;";
            }else{
                this.cmusic_control_progress_style = "width:0%;";
            }
        }
    }
};

var cmusic_app = Vue.createApp(cmusic_json);
var cmusic_vue = cmusic_app.mount("#root_div");
</script>
  1. TracyFoome说道:

    farmacia online: farmacia online migliore – farmacie on line spedizione gratuita

  2. SidneyFub说道:

    http://avanafilit.icu/# farmaci senza ricetta elenco

  3. TracyFoome说道:

    top farmacia online: kamagra oral jelly consegna 24 ore – acquisto farmaci con ricetta

  4. Sonnynap说道:

    farmacia online piГ№ conveniente: kamagra oral jelly consegna 24 ore – farmacia online piГ№ conveniente

  5. Terryflodo说道:

    farmacia online migliore dove acquistare cialis online sicuro farmacie on line spedizione gratuita

  6. TracyFoome说道:

    farmacia online senza ricetta: farmacia online migliore – comprare farmaci online con ricetta

  7. SidneyFub说道:

    https://tadalafilit.store/# п»їfarmacia online migliore

  8. Sonnynap说道:

    farmacia online migliore: avanafil generico prezzo – acquistare farmaci senza ricetta

  9. TracyFoome说道:

    miglior sito per comprare viagra online: viagra senza ricetta – le migliori pillole per l’erezione

  10. TracyFoome说道:

    acquisto farmaci con ricetta: kamagra – top farmacia online

  11. Terryflodo说道:

    viagra cosa serve sildenafil 100mg prezzo dove acquistare viagra in modo sicuro

  12. TracyFoome说道:

    farmacie online autorizzate elenco: cialis generico – farmacia online migliore

  13. SidneyFub说道:

    http://avanafilit.icu/# farmacia online

  14. Terryflodo说道:

    farmacia online senza ricetta Tadalafil generico migliori farmacie online 2023

  15. TracyFoome说道:

    alternativa al viagra senza ricetta in farmacia: viagra prezzo farmacia – viagra online spedizione gratuita

  16. Sonnynap说道:

    п»їfarmacia online migliore: Tadalafil generico – acquistare farmaci senza ricetta

  17. TracyFoome说道:

    acquistare farmaci senza ricetta: Tadalafil generico – farmacia online migliore

  18. SidneyFub说道:

    https://kamagrait.club/# acquistare farmaci senza ricetta

  19. Sonnynap说道:

    farmacie online affidabili: kamagra gel – farmacia online migliore

  20. TracyFoome说道:

    acquistare farmaci senza ricetta: kamagra gel – farmacia online più conveniente

  21. Terryflodo说道:

    farmacia online migliore kamagra oral jelly farmacie on line spedizione gratuita

  22. TracyFoome说道:

    farmacie on line spedizione gratuita: cialis generico – farmacia online

  23. Terryflodo说道:

    farmacia online kamagra oral jelly comprare farmaci online all’estero

  24. SidneyFub说道:

    http://farmaciait.pro/# farmacia online migliore

  25. TracyFoome说道:

    farmacia online miglior prezzo: farmacia online spedizione gratuita – farmaci senza ricetta elenco

  26. Sonnynap说道:

    farmacia online senza ricetta: Farmacie a roma che vendono cialis senza ricetta – farmacia online migliore

  27. TracyFoome说道:

    farmacia online miglior prezzo: avanafil generico prezzo – comprare farmaci online con ricetta

  28. Terryflodo说道:

    farmacia online farmacia online farmacia online

  29. SidneyFub说道:

    https://sildenafilit.bid/# miglior sito per comprare viagra online

  30. Sonnynap说道:

    miglior sito per comprare viagra online: viagra online siti sicuri – viagra online in 2 giorni

  31. TracyFoome说道:

    farmacia online miglior prezzo: avanafil prezzo – farmacia online senza ricetta

  32. TracyFoome说道:

    farmacie online autorizzate elenco: kamagra gold – farmaci senza ricetta elenco

  33. Terryflodo说道:

    migliori farmacie online 2023 farmacia online miglior prezzo comprare farmaci online con ricetta

  34. TracyFoome说道:

    farmaci senza ricetta elenco: avanafil prezzo in farmacia – farmacia online miglior prezzo

  35. TracyFoome说道:

    farmacia online: avanafil spedra – top farmacia online

  36. Sonnynap说道:

    farmacia online miglior prezzo: Farmacie a milano che vendono cialis senza ricetta – farmacia online

  37. Terryflodo说道:

    comprare farmaci online all’estero Farmacie a milano che vendono cialis senza ricetta farmacie on line spedizione gratuita

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注