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安全错误
数据库的锁怎样保障安全
网络安全手炒抄报
软件开发前沿
聚合 数据库
yml文件连接linux数据库
移动终端使用最多的数据库软件
奇迹服务器
网络安全被动威胁
美国国会网络安全立法
c s架构的软件开发工具
信创系统数据库
数据库与集群搭建
tbl服务器备份哪个好
系统网络安全级别
武汉软件开发哪家公司好
奉贤区一站式软件开发电话多少
java类型的软件开发
金蝶eas数据库类型
民航网络安全解决方案
联想sr658服务器初始密码
松江区咨询软件开发要多少钱
软件开发前沿
思科路由中网络安全都有哪些
软件开发需求的重要性
中文科技期刑数据库
四川安卓软件开发定做
服务器常见的安全设施
视频云存储管理服务器实现
一个公司的网络安全防范与管理
如何查看数据库登录名密码
兰州中心支行网络安全微视频