微信JSSDK—录音文件amr格式转换mp3

微信,是一个生活方式

前言:笔者近期基于微信公众号开发一个类似于微信聊天中长按说话功能,这里就先说说录音结束后PHP对于录音数据的处理。暂时不讲述如何实现录音长按录音,开发教程各大网站也都有太多示例,后续会补充!

开发环境:centos 7.4 

当前端将录音数据 serverId(返回音频的服务器端ID)传递给后端,后端利用下方接口获取微信服务器存储的录音数据。

http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=access_token&media_id=media_id

access_token 获取方式可以查询相对应的接口,media_id 即为前端传递过来的 serverId。

获取数据后将文件存储到自己服务器上,存储的音频格式为amr。接下来就是比较关键的地方了。

// 将 amr 文件格式转换成 mp3 格式

$filename = "example";

$amrFile = "./upload/voice/" . $filename . ".amr";

$mp3File = "./upload/voice/" . $filename . ".mp3";

// 调用PHP命令,将amr格式文件转换为mp3

$command = "ffmpeg -i " . $amrFile . " " . $mp3File . " 2>&1";

exec($command);

// 此刻在服务器中切换到项目对应的目录下,将发现有同名的mp3音频文件

// 再将最终生成的mp3文件名存入数据库,既可随时调用了,大功告成!

网上查询了其他方法,有些朋友是从微信接口获取的音频文件存储到其他平台上,貌似平台可以自动将音频格式转换为mp3,由于时间有限,并未尝试操作使用,有兴趣的朋友可以尝试下,给我反馈留言。希望能帮助到遇到同样问题的小伙伴们。

你可能感兴趣的:(微信JSSDK—录音文件amr格式转换mp3)