收藏
回答

关于backgroundAudioManager.duration不太理解

问题模块
API和组件

play: function () {

var that = this

backgroundAudioManager.src = this.data.musicitem[this.data.index].url

backgroundAudioManager.play()

backgroundAudioManager.onPlay( function(){

var maxnum = Math.floor(backgroundAudioManager.duration)

that.setData({ maxnum })

console.log(that.data.maxnum)

})

backgroundAudioManager.onEnded(function () {

that.next()

})

},

如代码backgroundAudioManager.onPlay( function(){})中先给了url播放地址然后在播放事件中获取音频长度,获取到为0。在控制台输入wx.getBackgroundAudioManager().duration 后能获取到音频长度,也就是说获取音频长度的代码在给定url和播放之前执行了。为什么写在播放时间中,依旧获取不到??

最后一次编辑于  2017-11-26
回答关注问题邀请回答
收藏

4 个回答

  • George (乔治)
    George (乔治)
    2017-11-26

    同问,为什么wx.getBackgroundAudioManager()没有回调?想在获取玩文件后设置duration数据,但没法设置

    2017-11-26
    赞同 1
    回复
  • 落空
    落空
    2018-03-15

    小伙子 很强


    2018-03-15
    赞同
    回复
  • 刘小磊🍧
    刘小磊🍧
    2018-01-27

    学习了。

    2018-01-27
    赞同
    回复
  • 墨咎
    墨咎
    2017-11-27

    已解决,用这个函数可以获取到

    onShow: function () {

    var that = this

    backgroundAudioManager.onTimeUpdate(function () {

    var maxnum = Math.ceil(backgroundAudioManager.duration * 1000000)

    var active = Math.ceil(backgroundAudioManager.currentTime * 1000000)

    that.setData({ maxnum, active })

    })

    },



    2017-11-27
    赞同
    回复