微信小程序背景音乐播放和进度条

1、通过文档中的BackgroundAudioManager对音频进行操作
引入dayjs (这儿是我的dayjs位置)

import dayjs from '../../lib/dayjs.min.js'

js文件的最顶部定义一个全部变量

let bg = wx.getBackgroundAudioManager() //全局变量

2、对 bg.srcbg.title属性赋值
可以放在请求中 可以放在onLoad中

bg.src = res.data[0].url  //这里是音频url(存放自己的url)
bg.title = "播放音乐"		//title属性必须要有

3、绑定滑块value max属性 实现滑块的正常移动
在这里插入图片描述
html代码:

	<!-- 进度条 -->
	<view class="pro">
		<view>{{currentTime}}</view>  //左边显示的时间
		<view class="pro1">
			<slider bindchange="changed1" min="0" max="{{max}}" bindchanging="changing" value="{{value}}" block-size="12" />
		</view>
		<view>{{totalTime}}</view>//右边显示的总时间
	</view>

		</view>

js代码:
data代码

  data: {
    totalTime: '', //总时长
    max: 0, //滑块最大值
    value: 0, //进度条进程
    currentTime: 0, //当前时长
    flag: false //是否在拖动滑块
  },

定时器 建议放在onLoad中

    setInterval(() => {
    //判断滑块是否在推动
      if (this.data.flag === false) {  //滑块没有拖动
        let a = dayjs(bg.duration * 1000).format("mm:ss") //总时长 用dayjs对总时长进行处理
        let b = parseInt(bg.duration) //滑块最大值
        let c = dayjs(bg.currentTime * 1000).format('mm:ss') //当前时长
        let d = parseInt(bg.currentTime) //滑块值
        this.setData({
          totalTime: a, ///总时长 对数据进行处理后
          max: b, //滑块最大数
          currentTime: c,
          value: d,
        })
        console.log('定时器', this.data.currentTime)
      }
    }, 1000)

4、实现滑动中左边时间的改变
在这里插入图片描述

js代码

 changed1(e) { //滑动拖动完成后执行
    console.log('拖动后', e.detail.value)
    let a = e.detail.value
    this.setData({
      flag: false,
    })
    bg.seek(a)
  },
  //拖动滑块中
  changing(e) { 
    console.log('滑块数字', e.detail.value)
    let b = e.detail.value
    let a = dayjs(b * 1000).format("mm:ss")
    // console.log(a)
    this.setData({
      currentTime: a,
      flag: true
    })
  },
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值