用getBackgroundAudioManager()创建的audioContext触发onEnded 时会重置src属性,这是有意设计的吗?
另外Ended事件之后还会触发一次onTimeUpdate(可能是因为重置src引起的)。
网友回复:
你好,请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码示例。
唔,测试了一下是开发者工具的问题,手机上并不会重置src。
开发者工具版本v1.01.1711160。
audioContext.onEnded( this .audioEnded) audioContext.onTimeUpdate( this .updateTime)
|
updateTime: function () { console.log( 'update currentTime' ) }, audioEnded: function () { console.log( 'audio ended' ) } |
另外,在开发者工具中,背景音乐暂停(paused 为 true)时调用seek无法更改currentTime。真机没问题。
另外,开发者工具设置audioContext的title,epname,singer,coverImgUrl,webUrl等属性无效,真机没问题。
updateAudio: function () { console.log( 'update audio' , this .data.item) const audioContext = wx.getBackgroundAudioManager() audioContext.title = this .data.item.name audioContext.epname = this .data.item.parentName || '专辑名' audioContext.singer = this .data.item.authorName audioContext.coverImgUrl = this .data.item.cover audioContext.webUrl = this .data.item.url audioContext.src = this .data.item.src console.log(audioContext, audioContext.coverImgUrl, audioContext.title) }, |
这些属性在开发者工具里始终为"",在真机上可以正确显示。
另外,在微信的正在播放音乐条中暂停小程序的背景音乐,之后再打开小程序调用play()无法重新播放背景音乐。
爱盈利-运营小咖秀(www.aiyingli.com) 始终坚持研究分享移动互联网App运营推广经验、策略、全案、渠道等纯干货知识内容;是广大App运营从业者的知识启蒙、成长指导、进阶学习的集聚平台;
想了解更多移动互联网干货知识,请关注微信公众号运营小咖秀(ID: yunyingshow)