关于微信开发有时我们可能会用到语音的接收存储功能,因此将我这一周在语音这块碰到的问题共享给大家。
微信提供的官方文档里关于接收语音这块的说明是:语音的格式Format为amr或者speex等格式,因此第一次我默认把语音存为.arm的格式,但是过程中发现几乎没有软件支持amr格式数据的播放,因此就涉及到格式转换的问题,但格式如何来转,第一次我以为是直接可以改后缀名,我直接在存储的时候就将语音格式存储为.mp3格式的数据,但是研究中发现pc端还是不可以播放该类型数据,但是从互联上下载的MP3格式文件是可以正常播放的,因此判定这样直接改后缀名的方式是错误的。通过查看手机中的微信语音文件,发现都是.amr格式的数据,然后我就觉得语音文件默认应该就是.amr格式的数据。
接下来我就下载了一些格式转换的软件(例如格式工厂之类的),但是发现,它们并不支持对.amr格式的数据格式进行转换。追根溯源,我就了解到了ffmpeg这个多媒体处理工具,然后就直接调用该工具在代码中实现将.amr格式的数据转为.mp3格式的数据(ffmpeg - i demo.amr demo.mp3),执行结束发现mp3文件可正常播放。则微信语音的播放即可解决。