这个问题可能是因为在多次切换后台和前台时,没有正确地销毁之前创建的音频实例。可以尝试在小程序生命周期的onHide和onUnload方法中调用音频实例的destroy方法来销毁实例,以确保在切换到后台时停止播放并释放资源。

const innerAudioContext = wx.createInnerAudioContext();
// ...
Page({
  onHide() {
    innerAudioContext.destroy();
  },
  onUnload() {
    innerAudioContext.destroy();
  }
})

另外,也可以在切换到前台时判断当前音频是否正在播放,如果正在播放,则调用pause方法暂停播放。

Page({
  onShow() {
    if (innerAudioContext.paused === false) {
      innerAudioContext.pause();
    }
  }
})
微信小程序createInnerAudioContext从后台多次切到前台 语音会重复播放

原文地址: https://www.cveoy.top/t/topic/bDIs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录