今天碰到一个Vue点击mp3播放及进度条动态走动的小功能,记录一下:

首先是通过HTML5 audio标签引入音频:

{{footer.title}}

{{footer.subTitle}}

在data中静态定义我们需要的数据及定义调用点击方法,并获取当前mp3的时间长短,通过定时器转换成百分比实现进度条的播放走动:

export default {

props: ['link'],

data () {

return {

isStore: true,

progress: '0%',

footer: {

title: '一条狗的使命',

subTitle: '俗事杂谈论坛直播',

startIcon: './static/img/start.svg',

stopIcon: './static/img/stop.svg',

imgUrl: './static/img/header1.jpg',

songs: './static/music/aixiangsui.mp3'

}

}

},

mounted: function () {

document.getElementById('musicMp3').pause()

this.changeProgress()

},

methods: {

changeStart: function () {

this.isStore = !this.isStore

const musicMp3 = document.getElementById('musicMp3')

if (!this.isStore) {

musicMp3.play()

} else {

musicMp3.pause()

}

},

changeProgress: function () {

const musicMp3 = document.getElementById('musicMp3')

const timer = setInterval(() => {

const numbers = musicMp3.currentTime / musicMp3.duration

let perNumber = (numbers * 100).toFixed(2)

if (perNumber >= 100) {

this.isStore = true

this.progress = 0

clearInterval(timer)

}

perNumber += '%'

this.progress = perNumber

}, 30)

}

}

}

给添加的结构定义样式(css调用有一些是定义的全局变量,需要注意):

.x-footer{

position: fixed;

background-color: $primary;

width: 100%;

display: flex;

justify-content: space-between;

bottom: 0;

left: 0;

padding: 20px;

.x-meida{

display: inline-flex;

.x-meida-img{

width: 88px;

height: 88px;

overflow: hidden;

@include border-radius(5px);

> img{

width:100%;

}

}

.x-media-name{

padding: 10px 20px;

color: #ffffff;

text-align: left;

> h3{

}

}

}

.x-media-btn{

width: 56px;

height: 56px;

@include border-radius(50%);

border: 3px solid #ffffff;

padding: 10px;

align-self: center;

audio{

display: none;

}

> img{

width: 100%;

}

}

.x-media-menu{

display: inline-flex;

width: 43px;

height: 43px;

align-self: center;

> img{

width: 100%;

}

}

}

.x-mp3-progress{

width: 100%;

position: absolute;

height: 6px;

overflow: hidden;

bottom: 0;

left: 0;

.x-now-progress{

position: relative;

@extend %transition;

height: 6px;

background-color: $orange;

}

}

这样媒体mp3播放就完成。下面是媒体播放的vue静态项目,如果您没太明白,可以用作参考: https://github.com/mralins/xinfeeFM

vue音乐卡住_Vue实现mp3音乐播放及动态进度条相关推荐

  1. React Native (一) react-native-video实现音乐播放器和进度条的功能

    React Native (一) react-native-video实现音乐播放器和进度条的功能 功能: 1.卡片滑动切歌 2.显示进度条 效果图: 第三方组件: 1.react-native-vi ...

  2. 57.音乐播放器的进度条

    给音乐播放器添加进度条: SeekBar:除了反应播放进度,还可以拖动 ProgressBar:只能显示当前的进度,不能进行拖动编辑 自动改变进度条 音乐播放器通过下面的方法来获取进度条的总时间和当前 ...

  3. [工具]更新音乐下载软件工具音乐下载网站,MP3音乐无损音乐下载器

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 今天推荐几个音乐下载的网站,想当年音乐随便下,这几年因为版权神马问题下个歌都费尽,今天 ...

  4. [工具]再更新音乐下载软件,MP3音乐无损音乐下载器

    昨天发的音乐下载软件我没有多做几次测试,导致误导大家了,昨天分享的那个只能听音乐不能下载,知道后我又赶紧为大家找了一款(一个网站),不知道什么情况链接不能发自动回复里,我也不敢直接放文章里,大家回复转 ...

  5. [工具]更新音乐下载网站,MP3音乐无损音乐下载器

    分享两个音乐下载网站,都是今天测试过可以正常使用的.这种网站不知道会存在多久,老样子不放文章里,回复关键字 1.疯狂音乐搜索(直接下载) 这是一个音乐聚集平台,支持国内大部分音乐平台. 我们可以通过音 ...

  6. 使用python加PyQt5,利用QMediaPlayer写一个简易的音乐播放器(进度条拖动,音量改变,播放停止切换,歌曲列表))

    当你学习了python之后,总想着利用它去做些什么,无论是制作小工具还是小游戏,都是一种锻炼. 那么,利用python加上PyQt5写一个简单的音乐播放器,可能会是一个有趣的体验. 下面我会分享一下如 ...

  7. C#/音乐播放器/带进度条/歌词滚动、颜色变化/桌面应用程序设计

    用基本C#知识实现制作一个音乐播放器 前言 写这个博客并不是说我的作品多么高级或完美,只是希望能在一些功能方面给你们一些启发,能帮助到你们做出真正好的程序,这就足够了 话不多说,让我们开始吧~~~ 截 ...

  8. zepto+less写QQ音乐播放界面,进度条同步,歌词同步高亮等等(带注释,可参考可直接使用)

    这是效果图,小编截下来的是静态图片,真是都是可以动的 不多说,直接上代码,注释都写在代码里清清楚楚 less @sizeMan:100%; //关键帧动画函数 .keyframes(@name:mov ...

  9. 【微信小程序】简易音乐播放器,进度条拖拉、音乐的播放与暂停

    小程序简易音乐播放器实现 粗糙的页面设计: wxml部分: <view class="test"><view class="img">& ...

最新文章

  1. 为什么每家公司都需要协作工具?
  2. CString转换成char*
  3. Oracle用户相关命令
  4. Android中Dialog与DialogFragment的对比
  5. 部分排序算法c语言实现
  6. java面试总结(一)-----如何准备Java初级和高级的技术面试
  7. 使用TopShelf做windows服务
  8. sparse-to-dense.pytorch 代码主流程
  9. 云南计算机网络技术排名,2017年云南大学排名
  10. navicat导入excel表中数据出错问题
  11. EXCEL通过IF与COUNTIF嵌套解决多条件筛选需要注意的问题
  12. MySQL数据库(九) 集群 Cluster 和性能优化
  13. GA遗传算法实现记录 C++版本 解决多元函数最值问题
  14. php转换时间戳的一些方法
  15. Java数据结构学习——排序二叉树
  16. python bar函数循环_python bar函数怎么使用
  17. 饮用水用 降低COD的树脂,医药行业除COD
  18. Python绘图添加背景图片
  19. Python气象图形的绘制——预
  20. Qt显示视频流——nginx+rtmp搭建直播服务器(二)

热门文章

  1. 谷歌外链发多少合适?谷歌seo外链建设
  2. python人物代码_Python 超级玛丽代码实现:人物行走和碰撞检测
  3. 云渲染是您3D项目的最佳选择吗?
  4. 关于wkhtmltopdf支持表格
  5. Linux的SOCKET编程详解
  6. Python3实现抢火车票功能
  7. python模拟火车票订票系统_小时光提醒:2021年元旦火车票今日开售 你抢到了吗?...
  8. 跨境电商产品描述怎么写好?有什么技巧?
  9. java毕业设计线上书城系统源码+lw文档+mybatis+系统+mysql数据库+调试
  10. 战神 中文博客(附图)