最近接手了一个微信公众平台的项目,历时两个月,基本完工,终于有时间可以总结一下这过程当中遇到的点点滴滴。
1、关于微信的内置浏览器
开始以为,微信内置浏览器是一个浏览器,对于安卓机和苹果机都是一样的,后来发现不是,苹果机和安卓机的内核是不一样的,所以前端设计过程中一定要考虑浏览器的兼容问题。苹果机的微信内置浏览器也并不是纯粹的safri内核,微信有自己的处理,比如,safri并不支持h5的audio,但苹果机的微信内置浏览器是支持的。最坑的一点,是苹果机的语音播放,调了很久,因为苹果机是不允许在异步中调用audio的播放的,所以,如果想要在请求后台后播放audio,不能用post,必须用原生的ajax同步。
2、关于amr格式
audio本身是不支持amr格式的播放的,但调用微信得录音接口,生成的就是amr格式,直接用audio是无法播放的。需要将amr转换成mp3格式,需要注意的是,从微信服务器直接保存成mp3格式是不行的。这样会造成文件的损坏。这就需要用一些专门的转换工具进行转换。我用的是ffmpeg。转换完成以后,直接播放mp3格式即可,速度还是比较快的。