微信JSSDK录音功能的使用

根据公众号JS-SDK的官网文档(链接),可以比较方便的集成录音和播放功能。但录音保存的文件至多在他们服务器上保存3天,所有如果要长期保存,得下载到自己的服务器上(下载的方法),但下载的格式是AMR的,在手机和网站上都不能直接使用,而且微信的API下载多媒体文件接口也没法指定我要下载的类型是MP3还是AMR(我已经向他们反馈此问题,不过让他们提供转换可能机会不大),目前经测试音频在手机上要兼容的好还只有MP3这种格式了。MP3经测试在safari和微信里都可以正常播放。

剩下的问题就是将下载的AMR格式转成MP3了。

选择的转换工具当然是ffmpeg了。下面就是例行公事的几步了(环境centos 7)。

下载最新版本

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

编译ffmpeg

./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>


你可能感兴趣的:(微信JSSDK录音功能的使用)