根據公衆號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>