收藏
回答

微信音乐播放器快进功能 ,调用启动不超过100毫秒

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 音乐播放器 客户端 6.5.3 2.2.4

- 需求的场景描述(希望解决的问题)

音乐播放器启动时间无法计算,拖拉也是

- 希望提供的能力

音乐播放器可以添加一个 快进功能么  谢谢 大佬 尽快 急着上线

最后一次编辑于  2018-12-23
回答关注问题邀请回答
收藏

1 个回答

  • 黄思程
    黄思程
    2018-12-20

    是指哪个接口?

    2018-12-20
    有用
    回复 5
    • Carlos
      Carlos
      2018-12-20

      getBackgroundAudioManager  这个方法,不管是获取背景音乐播放器还是说直接调用播放器只要启动,还有seek都会有停顿,停顿 会有大概几百毫秒的时间 如果手机卡顿可能会有1秒钟以上的 时间 ,是否有热启动方案 或者说,快进 这类型的方法不用再次调用seek而是顺畅的 播放


      2018-12-20
      回复
    • Carlos
      Carlos
      2018-12-21

      请问 这个问题可以解决么 ,如果暂时不行,我们得要及时换方案,怎么说兄嘚

      2018-12-21
      回复
    • 黄思程
      黄思程
      2018-12-24回复Carlos

      这样描述我需要靠猜去判断你的操作,能否提供代码片段,我看看你都是调用了哪个操作,以及怎么计算的耗时

      2018-12-24
      回复
    • Carlos
      Carlos
      2018-12-24回复黄思程

      抱歉 描述的可能不是很清楚,代码在公司 这是我手写的 大概思路就是这样


      const audio = wx.getBackgroundAudioManager()//全局变量


      let dateNow = new Date();

      wcs = dateNow.getSeconds()

      wcss = dateNow.getMilliseconds()

      //获取当前时间

      //开始播放

      audio.play();


      let startPlayTimes;

      let startPlayTimess;

      audio.onPlay((res) => {

      //播放完成

      let dateNowPlay = new Date();

      startPlayTimes = dateNowPlay.getSeconds()

      startPlayTimess = dateNowPlay.getMilliseconds()

      //获取已播放当前时间

      //这里是播放完成的时间,用这个时间减去上面的 时间 得出 时间差(wcs 播放完成前的秒   wcss 播放完全前毫秒)

      audio.seek(当前播放时间和耗时操作时间);

      })


      audio.onSeeked((res) => {

      let dateNowSeek = new Date();

      startSeekTimes = dateNowSeek.getSeconds()

      startSeekTimess = dateNowSeek.getMilliseconds()


      //这里是跳转完成的一个时间 获取时间戳,的到秒以及毫秒,减去上面的播放时间得出 跳转之后的耗时

      })


      2018-12-24
      回复
    • Carlos
      Carlos
      2018-12-24回复Carlos

      跳转完成的时间 是减去 上面onPlay 监听里面的时间

      2018-12-24
      回复
登录 后发表内容