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修复呢?