根据公众号JS-SDK的官网文档(连接),能够比较方便的集成录音和播放功能。但录音保存的文件至多在他们服务器上保存3天,全部若是要长期保存,得下载到本身的服务器上(下载的方法),但下载的格式是AMR的,在手机和网站上都不能直接使用,并且微信的API下载多媒体文件接口也无法指定我要下载的类型是MP3仍是AMR(我已经向他们反馈此问题,不过让他们提供转换可能机会不大),目前经测试音频在手机上要兼容的好还只有MP3这种格式了。MP3经测试在safari和微信里均可以正常播放。javascript
剩下的问题就是将下载的AMR格式转成MP3了。html
选择的转换工具固然是ffmpeg了。下面就是例行公事的几步了(环境centos 7)。java
下载最新版本centos
http://ffmpeg.org/releases/ffmpeg-3.0.2.tar.bz2 服务器
下载AMR编解码器微信
https://sourceforge.net/projects/opencore-amr/?source=directory工具
下载MP3编解码器测试
https://sourceforge.net/projects/lame/?source=directory 网站
编译ffmpegspa
./configure --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --disable-yasm --enable-libmp3lame --disable-libvpx
make -s && make install
若是你的/usr/local/lib不在/etc/ld.so.conf里面,加上,而后ldconfig刷新。
运行 ffmpeg 能够看到help。
好了,能够测试下转换文件格式了,直接命令
ffmpeg -i xxxx.amr xxx.mp3
试下在微信页面里播放下音频。
如html
<a href="javascript:void(0);" class="btn btn-default" onclick="play_audio();">播放</a> <audio id="audio_player" src="http://secret8.net/u/2016-05/amr2wav.mp3"/> <script type="text/javascript"> function play_audio(){ document.getElementById('audio_player').play(); } </script>