关于backgroundAudioManager.duration不太理解
发布于 6 年前 作者 shenyan 13004 次浏览 来自 问答

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和播放之前执行了。为什么写在播放时间中,依旧获取不到??

4 回复

学习了。

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

小伙子 很强

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

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 })

})

},

回到顶部