1、当小程序处于后台情况下,如果通过微信的音乐播放控制去停止播放(包括安卓通知栏的×和全屏音乐播放控制下暂停后微信自动停止播放),都不会回调到小程序。而如果仅仅是通过通知栏进行暂停,即使小程序在后台,还是有回调的,只是后续的停止不会回调。
2、在以上情况下回到小程序后,在app的onShow方法里去查询wx.getBackgroundAudioManager()的url、paused、currentTime等参数:
在开发者工具中,会正确重置成url为undefined,paused为true,currentTime为0,即无歌曲在播放状态;
在远程调试(开发版)情况下,url为undefined,paused为true,currentTime却为停止时的时间;
而在体验版情况下,url为null,paused为false,currentTime却是切后台的时间。
三种环境,三种情况,这让我们如何开发?
从现象上看,是当小程序处于后台的时候,微信没有将播放器的状态改变正确同步到小程序js中的BackgroundAudioManager中。
开发者工具的行为是正确的,微信自身什么时候能把这些bug修复呢?
你好,这里确实有问题,我们尽快解决,谢谢反馈
您好,这个问题解决了吗?
只想知道为啥 paused 这个属性是 enumerable=false 的, 既想隐藏起来, 干嘛又开放出来?
为什么都三个月过去了,还没有修复呢,有看到的官方给个回复
最近也在做后台播放,请问你们最后是怎么解决这个问题的?
另外小程序退到后台后,回调函数还正常吗?我们这边需要把播放进度每隔10秒同步到服务器端。
回调函数还是正常的;当时是查询播放返回的状态,真机和开发平台上不一致;后来好像改逻辑了