美文网首页互联网科技闲聊微信公众号开发
微信JSSDK—录音文件amr格式转换mp3

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

作者: 陳偉PHPer | 来源:发表于2018-06-27 18:09 被阅读6次
    微信,是一个生活方式

    前言:笔者近期基于微信公众号开发一个类似于微信聊天中长按说话功能,这里就先说说录音结束后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

        本文链接:https://www.haomeiwen.com/subject/nzhiyftx.html