微信打开网页,快速切换点击操作播放audio,会把微信玩死?
发布于 5 年前 作者 ppeng 3075 次浏览 来自 问答

首先,抱歉,我不知道这个贴适不适合发在这里,因为这只是一个普通的网页,不是小程序也不是小游戏。

----------- 分割线 ------------

微信h5,疯狂点击切换操作,直接把微信玩卡死。

这个问题我已经很久之前就遇过,最近又有几个玩家反馈,经过我们自己测试,偶尔复现,的确如此。

最关键的是,卡死以后,强退微信可以,但是再次打开此网页的时候,会特别特别卡,甚至有时候 js 加载都会加载不了。

必须重启iphone,再打开微信,一切就恢复ok。

这个情况出现是有概率性的,目前用户报错的机型,主要是iphone6, 6plus , 6s, 6s plus 。我们使用iphone 6s plus测试,复现过

发一个我们目前测试的链接:http://m.primedu.cn/wx-game/linklinklook/index.php (手机微信环境下,请来回快速切换点击1,和2 两个图片)

我怀疑过是不是声音导致的,接着,我做了一下测试。

去掉< audio > 标签以后,无声状态,确实没发生干死微信的情况,但是不敢说100%一定就是这个原因,因为本身出现干死微信的情况就是偶发的。


加上< audio > 标签以后,有声状态,来回多次切换,确实会发生干死微信的情况。


另外测试发现,只要卡死过一次,后面再次进入页面,一定还会卡死。

只有必须强制再次重启手机才能避免下次再次进入不会干死微信。



这个问题纠结了我很久,麻烦官方团队如果有空,帮忙看看,谢谢了~~~

5 回复

刚刚又测试了一波,新的发现:

如果使用传统的dom标签的网页,<audio >并不会卡死整个微信。

而我上面那个页面是基于<canvas >开发的页面,快速来回播放<audio > 就是会干死整个微信。

非常感谢官方团队重视这个问题,非常非常的期待你们的结果。

刚刚又测试了一波,好像是这个this._domAudio.load()方法有问题(之前每次点击都会load一次)。

现在使用:

this._domAudio.pause();

this._domAudio.currentTime = 0;

this._domAudio.play();

这样解决了一个问题,播放声音的时候,没有滞后很严重了。

但是会不会干死微信,暂时不清楚,没有 ios 11.2.6 系统的机器了。昨天同事的机器升级到ios11.3了。

感谢反馈,我们查一下。

前面发现,只要卡死过一次,后面强退微信(不强重启手机),再次进入页面,一定还会卡死微信。

刚刚又测试,把所有的< audio > 标签去掉,再次进入页面,没有强制重启手机的情形下,也不会卡死,看样子,真的是< audio >的问题啊。

回到顶部