关于背景音乐不能循环播放引出的体验问题。
发布于 5 年前 作者 pwu 11911 次浏览 来自 问答

我们有一个需要在后台播放音乐并且需要具有循环播放的能力。

针对此功能我们做了如下尝试:

最初,我们在设计这个场景时,采用了 audio 组件,虽然满足了循环播放功能,但是在锁屏之后,音乐立刻停止,故而无法满足背景播放功能。


然后,想到了API 中的 playBackgroundAudio 方法,虽然解决了锁屏后的背景音乐播放问题,但是问题又来了,playBackgroundAudio  方法不能循环播放音乐,该方法还是无法满足最初的设想。


接着,我们想到了 监听音乐停止,然后重新启动播放,我们采用了 stopBackgroundAudio 来实现,可是这样虽然满足了手动循环播放的功能,但是由于监听停止播放和重新播放这中间有一定的时差,故而中间有那么一小段时间的停顿,体验感极差。


当然,我们还想到了 背景音乐管理器,即:getBackgroundAudioManager 的 seek 方法 和 startTime 属性,但是在手机上测试,要么就是没有效果,要么就是延迟特别严重,seekBackgroundAudio 方法也是同样的原理,总之还是无法达到最好的体验。


目前,我们是采用的 stopBackgroundAudio 来暂时实现,虽然有停顿,但是起码能够持续播放,不知道各位 朋友有没有更好的实现方法,也真诚的希望微信官方能够提供一个比较合理的实现方案。在此拜谢!





3 回复

楼上正解+1

如果是同一首音频的话,在onEnded事件监听里面重新给src赋值就可以实现循环播放

我再做音频连续播放的时候,

首先你play一个音频的时候 加一个事件监听,onEnded 当前播放完了你再onEnded里面继续再调用play方法去播放你想要播放的音频即可,希望对你有帮助~

回到顶部