位置: 编程技术 - 正文

vue-music关于Player播放器组件详解(vue music)

编辑:rootadmin

推荐整理分享vue-music关于Player播放器组件详解(vue music),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue音乐,vue music,vuevideoplayer,vuevideoplayer,vue实现音乐播放器,vue music,vue里的音乐会侵权吗,vue音乐播放列表,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例为大家分享了关于Player播放器组件的具体内容,供大家参考,具体内容如下

迷你播放器:

1.播放器组件会在各个页面的情况下会打开。 首先在vuex state.js 中定义全局的播放器状态

2.进入播放器页面时获取播放列表数据,改变播放状态 在music-list列表中打开

在song-list 组件中派发事件到父组件,传入当前歌曲的信息和索引

在music-list 组件中接受派发事件。

3. 如果commit 多个状态在actions 里设置

4. 在music-list 组件中 用mapActions提交 改变值

5.在palyer 中获取vuex 全局状态,赋值状态到相应位置(代码为完整代码,对照后面讲解慢慢理解)

打开播放器的状态

注意:不可在组件中直接赋值改版vuex 中的状态 this.fullScreen = false 需要通过mutations 改变,定义mutation-types 和mutations 然后 用vuex的 mapMutations 代理方法调用

vue-music关于Player播放器组件详解(vue music)

设置点击播放按钮方法

设置点击播放上一首和下一首按钮方法。用mapGetters 获取currentIndex 的值(加一或减一) 并改变,从而改变 currentSong 的状态,监听切换播放。判断播放列表界限重置。

监听audio 元素标签的canpaly 事件,当歌曲加载就绪 和 error 事件,当歌曲发生错误的时候,做用户体验,防止用户快速切换导致报错。

设置songReady 标志位 如果歌曲没有准备就绪,点击下一首的时候直接return false

进度条

audio元素监听 timeupdate 事件获取当前播放时间的 可读写属性 时间戳。用formt做格式化时间处理,(_pad 为补零函数 )

获取音频总时长 currentSong.duration

建立progress-bar 组件 接收pencent 进度参数,设置进度条宽度和小球的位置。player组件 设置计算属性percent

progress-bar 组件

设置拖动

在进度条小按钮progressBtn 上添加touchstart,touchmove,touchend 事件监听方法,事件添加 prevent 防止拖动默认浏览器行为,获取拖动的信息进行计算

在实例上创建一个touch 对象维护不同的回调之间的通讯共享状态信息。 touchstart事件方法中 ,首先设置this.touch.initated为true,表示拖动开始。 记录开始点击位置 e.touches[0].pageX 存到 touch 对象上,记录当前的进度宽度。

在touchmove 中首先判断 是否先进入了 touchstart 方法,计算得到 移动的位置 减去 点击开始的位置的 偏移量长度。 let deltax = e.touches[0].pageX - this.touch.startX

就可以 设置进度条 已有的长度加上偏移量长度。最大不能超过父级progressbar 的宽度

调用this._offset(offsetWidth) 方法设置进度条宽度

在touchend 事件方法中将 this.touch.initated 设置为false,表示拖动结束,并派发事件到player 组件将audio的currentTime 值设置为正确值,参数为pencent

在progressbar 中增加点击事件,调用this._offset(e.offsetX),并且派发事件

标签: vue music

本文链接地址:https://www.jiuchutong.com/biancheng/378927.html 转载请保留说明!

上一篇:关于angularJs清除浏览器缓存的方法(angularjs删除数组元素)

下一篇:解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题(解决在基层)

  • 资源税应该如何计算
  • 计提税金账务处理
  • 递延所得税资产和递延所得税负债
  • 买车哪些费用不该交
  • 企业季度报什么税
  • 暂估入库可以跨年吗
  • 分期付款没有发票吗
  • 承包经营所得发包方如何纳税
  • 平销返利如何开红字发票
  • 营业以后再次装修进什么会计科目?
  • 非营利性企业要交企业所得税吗
  • 企业怎么进行税务申报
  • 营改增后计税依据
  • 关于设备安装调试的说法
  • 企业没交社保年限怎么算
  • 商品流水账怎么做
  • 未弥补完亏损可以计提盈余公积
  • 进项税额忘了抵扣
  • 挂靠别人的施工单位资质,要交什么税?
  • 未抵扣增值税入什么科目
  • 增值税各科目账务处理
  • 会计账目怎么理
  • 现金分红和红利再投是什么意思
  • 收到的投资收益属于经营活动产生的现金流量吗
  • 会计的运费怎么写分录
  • 劳务费意思
  • 出租商品计入什么科目
  • 信号差的要死
  • PHP:curl_share_close()的用法_cURL函数
  • 工资结算单什么时候签
  • 解决办法总比困难多
  • 入固定资产含税吗
  • 直接计入所有者权益的交易或事项
  • 出口货物如何开票入账
  • ipad air3发布会价格
  • findfont: Font family [‘Times New Roman‘] not found. Falling back to DejaVu Sans.
  • pytorch train()
  • php实现文件上传需要使用哪个全局变量
  • thinkphp案例
  • 退货业务增值税税务处理
  • fdisk cfdisk
  • 2020年防洪基金计算公式
  • 计入资本公积的金额怎么算
  • 超市小票可以作为证据吗
  • vue移动组件
  • mysql存二进制用哪个字段
  • php 缓存
  • 材料短缺计入成本吗
  • 减免增值税要计入营业外收入
  • 租赁厂房对方不租怎么办
  • 没收到发票也可以入账吗
  • 投资性房地产从成本模式转为公允价值模式
  • 公司从员工工资扣水电费
  • 会计里面的管理费用
  • 年报和汇算清缴的顺序
  • 人力资源公司的名字
  • 收到赠送的东西,并给员工自用,怎么做账
  • 案例解析企业所需资金
  • 饭店会计做账流程
  • 劳务派遣人员能有营业执照吗
  • ubuntu16.04.1下 mysql安装和卸载图文教程
  • Win10 Mobile Creators预览版14959更新修复内容与已知问题汇总
  • mac修改用户名称
  • Ubuntu如何安装软件
  • 如何用u盘安装win8操作系统
  • 升级win10后c盘满了
  • linux安装bz2
  • .android
  • 一键删除通讯录联系人
  • vuex的作用和使用场景
  • android 动效
  • shell脚本定时执行命令
  • shell脚本语句
  • unity5用什么语言
  • 安卓接口分类
  • js类的定义方法
  • 用于赞助的消费品需要缴纳消费税吗
  • 国家税务总局四川省电子税务局界面
  • 财政部监制的发票
  • 社保申报每月几号申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设