vue动态修改audio地址

本文介绍了在Vue应用中遇到点击MP3文件无法试听的问题,问题在于仅更新URL并未通知audio标签执行播放操作。解决方法是通过调用audio标签的load()方法来刷新资源,并随后播放。示例代码展示了使用Element UI的过渡效果,以及播放和关闭音乐的功能实现。
摘要由CSDN通过智能技术生成

需求:点击MP3文件,实现试听效果

问题:点击后替换url地址,实现了,但是播放器依旧没有反应。

解决:vue中动态替换只是替换了地址,并没有告诉audio标签是否要执行,执行什么操作。要load后才能让它知道,是在喊他,他需求进行操作了!

 

页面设计用的是element

点击试听的时候弹出效果,点击x的时候,关闭音乐。

        <transition name="el-zoom-in-bottom">
            <div class="mp3Audio" v-show="mp3Audio">
                <div class="audioClose" @click="closeAudio"><i class="el-icon-close"></i></div>
                <div class="mp3Name">{{mp3Name}}</div>
                <audio controls="controls" ref="audioRef">
                    <source :src="mp3Url" type="audio/mp3"/>
                    <source :src="mp3Url" type="audio/ogg"/>
                    Your browser does not support this audio format.
                </audio>
            </div>
        </transition>
            // 点击试听,绑定地址,dom,自动播放
            handleListen(row) {
                console.log(row);
                this.mp3Name = row.ptitle
                this.mp3Url = row.purl
                this.mp3Audio = true
                const audioRef = this.$refs.audioRef
                audioRef.load()
                audioRef.play()
            },
            // 关闭播放器
            closeAudio() {
                const audioRef = this.$refs.audioRef
                audioRef.pause()
                this.mp3Name = ""
                this.mp3Url = ""
                this.mp3Audio = false
            },

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值