vue中怎么使用SVG实现圆形进度条音乐播放
发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,今天小编给大家分享一下vue中怎么使用SVG实现圆形进度条音乐播放的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获
千家信息网最后更新 2024年11月28日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安全错误
数据库的锁怎样保障安全
北京系统软件开发怎么样
黑暗与光明手游如何进服务器
中国大学生在线网络安全答题
数据库系统安全是
鑫淘网络技术有限有限公司
修改数据库表空间大小
专业数据库营销公司
我的世界服务器末地烛的正确用法
宝山区信息化软件开发答疑解惑
好好优选互联网科技有限公司
软件开发的几个基本流程
数据库技术的局限
专业服务器地址怎么填
中华人民共和国网络安全法作用
数据库安全主要包括
网络安全落网记
数据库中的红字是什么意思
服务器主机启动要很久吗
如何把服务器的图片资源替换掉
陕西手机软件开发定制
万方数据库收录年代
天津智联网络技术
网络安全秦安博士公众号
二手dell服务器选购
数据库数据级别
南京坤汇网络技术有限公司
服务器 品牌
服务器断电修复数据
计算机网络技术的技能证
技术部软件开发的奖罚办法