vue动态修改audio地址

问题:点击后替换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
            },
相关推荐
锋行天下1 小时前
如何用Vite实现Vue组件的按需打包和远程加载
前端·vue.js·前端框架
光影少年1 小时前
原生DOM操作在React 中的注意事项
前端·javascript·react.js
用户900463370401 小时前
用Gemini搞定Vue报错和语法异常的问题
vue.js
糖拌西瓜皮1 小时前
Node.js核心模块实战:文件、路径、HTTP与流处理
javascript·node.js
糖拌西瓜皮1 小时前
NestJS入门指南:Java开发者的Spring Boot体验
javascript·node.js
糖拌西瓜皮1 小时前
Express框架快速上手:中间件、路由与错误处理
javascript·node.js
半个落月4 小时前
从递归到快速排序:用 JavaScript 把分治思想讲明白
javascript·算法·面试
小兔崽子去哪了4 小时前
Vue3 + Pinia 集成 IGV.js 实现 BAM 文件在线浏览
javascript·vue.js·后端
小月土星5 小时前
JavaScript 快速排序:从 pivot、双指针到分治思想
javascript·算法·面试
小月土星5 小时前
JavaScript 递归入门:从 1 到 n 求和,再到数组扁平化
javascript·算法·面试