小程序
小游戏
企业微信
微信支付
扫描小程序码分享
- 当前 Bug 的表现
播放特定声音文件,在安卓机上随机闪退。
- 预期表现
正常播放声音
- 复现路径
创建一个innerAudioContext反复播放例子中的给定的声音文件,一般5-10秒内就会使微信闪退,给出的代码片段约有60%概率会引发闪退。
- 提供一个最简复现 Demo
代码片段:https://developers.weixin.qq.com/s/oNyh98mx7u7o
实测会发生闪退的机型列表,全部为华为的机器。
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
暴力测试发现ipad pro容易在快速多次播放短声音时(useWebAudioImplement: true时),很容易会导致微信闪退,iphone手机、android手机上则很难出现。useWebAudioImplement: false时则不会,但是声音会有咔哒的杂音。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
楼主你好,请问你最后解决这个问题了吗
发现是使用安卓系统组件android.media.MediaExtractor.readSampleData(Native Method)解码读取文件流时发生的异常,
java.lang.IllegalArgumentException
at android.media.MediaExtractor.readSampleData(Native Method)
从而导致调用MediaExtractor relase释放资源时发生系统底层的JNI crash,
可能是文件的问题,建议试试重编码一下
感谢官方反馈。
但是我们这边各种编码器都试过,总是会有一部分文件随机出现类似问题。
想问下这个报错能否在微信层面catch住,哪怕播放不出声音,至少避免闪退。现在我们添加音效进游戏总是要提心吊胆,测试也没法覆盖所有安卓机型,生怕产生大量闪退。
另外如果确实是文件编码问题,为什么不是在播放第一遍的时候就crash呢?而且声音还能正常播放出来,还放了很多遍之后才出现问题。
有没有可能是innerAudioContext传递的数据流在反复播放过程中发生了变化?
现在还不确定是什么原因导致的问题,我们是解码过程出错的,这个错误是catch不了的,是JNI的crash,
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
暴力测试发现ipad pro容易在快速多次播放短声音时(useWebAudioImplement: true时),很容易会导致微信闪退,iphone手机、android手机上则很难出现。useWebAudioImplement: false时则不会,但是声音会有咔哒的杂音。
楼主你好,请问你最后解决这个问题了吗
发现是使用安卓系统组件android.media.MediaExtractor.readSampleData(Native Method)解码读取文件流时发生的异常,
java.lang.IllegalArgumentException
at android.media.MediaExtractor.readSampleData(Native Method)
从而导致调用MediaExtractor relase释放资源时发生系统底层的JNI crash,
可能是文件的问题,建议试试重编码一下
感谢官方反馈。
但是我们这边各种编码器都试过,总是会有一部分文件随机出现类似问题。
想问下这个报错能否在微信层面catch住,哪怕播放不出声音,至少避免闪退。现在我们添加音效进游戏总是要提心吊胆,测试也没法覆盖所有安卓机型,生怕产生大量闪退。
另外如果确实是文件编码问题,为什么不是在播放第一遍的时候就crash呢?而且声音还能正常播放出来,还放了很多遍之后才出现问题。
有没有可能是innerAudioContext传递的数据流在反复播放过程中发生了变化?
现在还不确定是什么原因导致的问题,我们是解码过程出错的,这个错误是catch不了的,是JNI的crash,