小程序 自定义slider组件音频播放实例

作者: 杰铭的博客 | 来源:发表于2018-03-22 20:47 被阅读397次

    上面两篇文章介绍了一下自定义的progressslider 组件,这篇文章介绍一下slider组件应用的实例

    代码可在文末下载

    这里的音频播放用的是后台音频播放的API:

    wx.getBackgroundAudioManager()
    

    在js文件中初始化这个api(全局)
    需要用到该对象的方法如下

    音频播放进度,建议在这个方法里更新当前播放时间,而不是自己另写一个计时器计时,因为当你狂按暂停播放的时候,你会发现计时器没走,音频却走了
    audioManager.onTimeUpdate() 
    
    缓冲
    audioManager.onWaiting()
    
    音频播放结束
    audioManager.onEnded()
    
    快进 该方法快进到音频还剩6-10秒时在跳转到前面的时间会失效,目前还不知道原因,有知道的同学请留言解释一下
    audioManager.seek()
    
    暂停
    audioManager.pause()
    
    播放
    audioManager.play()
    
    停止
    audioManager.stop()
    

    用到的属性如下

    audioManager.title
    audioManager.epname
    audioManager.singer
    audioManager.coverImgUrl
    audioManager.src
    audioManager.paused
    audioManager.buffered
    

    以下五个方法监听slider的滑动和点击事件
    在tap end 和 cancel 方法里执行seek事件

    // 点击slider时调用
      sliderTap: function (e) {
        console.log("sliderTap")
        this.seek()
      },
    
      // 开始滑动时
      sliderStart: function (e) {
        console.log("sliderStart")
      },
    
      // 正在滑动
      sliderChange: function (e) {
        console.log("sliderChange")
      },
    
      // 滑动结束
      sliderEnd: function (e) {
        console.log("sliderEnd")
        this.seek()
      },
    
      // 滑动取消 (左滑时滑到上一页面或电话等情况)
      sliderCancel: function (e) {
        console.log("sliderCancel")
        this.seek()
      },
    

    有问题请留言哦!

    下载地址: demo

    ************ 更新 ***********
    1、添加了控制监听的参数isMonitoring, 在滑动时取消ontimeupdate监听

    相关文章

      网友评论

      • 渴望天空的井底之蛙:感谢!音频和slider联动这个功能找了好长时间,好人一生平安!
      • 南陈_:小白表示看的好懵啊, 还是不知道slider是怎么跟着音频播放移动的:persevere:
        南陈_:谢谢
        杰铭的博客:onTimeUpdate 在这个方法里面给把value赋值
      • 丆詓惪咼罖:大神,滑动过程中如何取消(ontimeUpdate)进度的监听....滑动时效果(长时间按住小滑块左右滑)好尴尬,谢谢啦
        杰铭的博客:@logyoo max参数就是给你设置时长的
        87190eb5fd1a:不同时长的音频文件如何动态设定进度条的频宽(比如我现在改用一个2分钟的音频,进度条移动到中间就结束播放了)?还有max参数是什么意义呢?
        杰铭的博客:是的,这里有个bug:joy: 我改一下

      本文标题:小程序 自定义slider组件音频播放实例

      本文链接:https://www.haomeiwen.com/subject/uujzqftx.html