k8w.io
解决iOS微信支付后H5页面声音无法播放的问题
2018-02-08作者:k8w

如果你是用AudioContext播放的声音(例如Howler),那么在微信中,支付成功后,很可能声音就无法播放了。

同样的问题,如果在播放声音途中,来了一个电话,那么电话挂断后,可能声音也无法正常播放。

失败的尝试

在Google之后,我们尝试了几种方法,但均已失败告终。

  1. 支付前调用ctx.suspend(),支付后调用ctx.resume()
  2. 支付后重新解锁iOS音频
  3. 支付前ctx.close(),支付后重新初始化一个AudioContext

解决办法

  1. 支付前,使用HTML5的<Audio>标签(不是AudioContext)循环播放一段空白音频,不要停止。
  2. 支付过程中,这段音频会一直保持播放。
  3. 支付后,停止这段音频播放。
  4. 我们发现,只要支付结束后,页面有音频在播放,那么AudioContext就不会失效。
(正文完)
标签:H5游戏
留言(0条)
发表新留言
您的大名:
必填
电子邮箱:
不公开,仅用于向你发送回复