vue中怎么使用SVG实现圆形进度条音乐播放
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,今天小编给大家分享一下vue中怎么使用SVG实现圆形进度条音乐播放的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获
千家信息网最后更新 2026年11月03日vue中怎么使用SVG实现圆形进度条音乐播放
今天小编给大家分享一下vue中怎么使用SVG实现圆形进度条音乐播放的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
效果图:
实现过程
一、实现步骤
圆形进度条的实现
音乐播放/暂停的控制
二、步骤分解
这里先放一下 audio标签引入音频文件的代码:
/* timeupdate() 方法 实时获取 音频当前播放时长 ended() 方法 播放结束的时候触发*/// 实时获取音频当前播放时长 timeupdate(e) { // console.log("e===>", e.target.currentTime); this.current = e.target.currentTime; let duration = document.getElementsByTagName("audio")[0].duration; let percent = Math.min(1, this.current / duration); this.dashOffset = (1 - percent) * this.dashArray; }, ended() { console.log("播放结束~~~"); this.isStatus = false; // 初始化 圆形进度条的周长 let circleWidth = document.getElementById("progressCircle").offsetWidth; this.dashArray = Math.PI * circleWidth; this.dashOffset = Math.PI * circleWidth; },1. 圆形进度条的实现
这里通过SVG画两个一模一样的圆,设置一定的宽度,然后第二个圆使用stroke-dasharray和stroke-dashoffset来动态控制进度变化情况。stroke-dashoffset的变化情况要结合音乐的时长来设置。
computed: { // 实时监听播放进度 getDashOffset() { let percent = 0; if (document.getElementsByTagName("audio")[0]) { // 计算播放进度比例 let duration = document.getElementsByTagName("audio")[0].duration; percent = Math.min(1, this.current / duration); this.dashOffset = (1 - percent) * this.dashArray; } else { this.dashOffset = (1 - 0) * this.dashArray; } } }, mounted() { this.$nextTick(() => { // 初始化圆角周长 let circleWidth = document.getElementById("progressCircle").offsetWidth; this.dashArray = Math.PI * circleWidth; this.dashOffset = Math.PI * circleWidth; }); }2. 音乐播放/暂停的控制
音乐的暂停和播放状态可以通过document.getElementById("audio").paused来判断,如果返回false则说明当前是播放状态,我们需要触发 document.getElementById("audio").pause()方法实现暂停操作,反之,触发document.getElementById("audio").play()方法实现播放操作。
// 操作音乐播放/暂停 let audio = document.getElementById("audio"); console.log("this.audio.paused===>", audio.paused); if (audio.paused) { audio.play(); } else { audio.pause(); }下面方法全部的代码,大家可直接复制到自己的编辑器中运行(记得修改音频路径)
你,好不好? 周兴哲
以上就是"vue中怎么使用SVG实现圆形进度条音乐播放"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
进度
音乐
圆形
实时
方法
音频
周长
时长
知识
篇文章
状态
控制
代码
内容
情况
步骤
比例
变化
监听
不同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海睿民互联网科技有限公司
互联网科技巨头监管
科技互联网龙头
重庆互联网络科技
关于新基建和互联网科技
与互联网科技公司
互联网医疗科技
中国互联网科技发展
互联网金融科技平台
丰台科技园 互联网公司
四个字互联网科技公司取名
互联网科技产品
语蝶互联网科技有限公司
赶超互联网科技 微信多开
广州市恰铎互联网科技有限公司
济南有互联网科技公司吗
中科明德北京互联网科技
滨湖区互联网智能科技产品有哪些
数字科技和互联网金融哪个好
银川新华互联网科技学校招聘
朗新科技与工业互联网
互联网科技排名
互联网科技公司介绍
互联网公司会议桌创意科技软装饰
以后互联网后是啥科技
广州恒生互联网科技有限
燊美集互联网科技有限公司
富国互联网金融科技混合基金
互联网科技快讯热点
九思连强互联网电子科技有限公司