需求:利用微信公众号开发接口下载语音,展示并可以收听语音

1.利用微信公众平台开发接口下载语音文件至本机

 /*** 下载多媒体文件* @param string $mediaId* @return string*/function downloadWeixinFile($mediaId,$msgId){if($this->issenior=='Y'){try{$access_token=$this->GetAccessToken();$url = "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=$access_token&media_id=$mediaId";$ch = curl_init($url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_NOBODY, 0);    //只取body头curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$package = curl_exec($ch);$httpinfo = curl_getinfo($ch);curl_close($ch);$prefix=explode("/", $httpinfo["content_type"]);$filename=$msgId.".".$prefix[1];//$this->saveWeixinFile($filename, $package);$local_file = fopen(getcwd()."/upload/".$filename, 'w');$state=fwrite($local_file, $package);fclose($local_file);return $fliename;}catch (Exception $e){ return "";}}return "";}

2.由于下载下来的文件是amr格式,需要转换成MP3格式才能在web播放,所以利用ffmpeg来进行视频转换工作。生产环境部署在ubuntu下,安装步骤如下:

1)首先安装系统基础环境

apt-get install automake autoconf libtool gcc gcc-c++

PS:   Ubuntu缺省情况下,并没有提供C/C++的编译环境

可以使用bulid-essential软件包

安装方法如下:

$sudo apt-get installbuild-essential

2)编译所需源码包

yasm:http://yasm.tortall.net/Download.html

lame:http://kakola.googlecode.com/files/lame-3.98.4.tar.gz

PS:一定要下载最新版本,否则后续FFMPEG转换时无法正确解码mp3

OpenCore AMR:http://sourceforge.net/projects/opencore-amr

AmrWB:http://www.penguin.cz/~utx/amr

FFMpeg:http://ffmpeg.org/download.html。

sudo apt-get install ffmpeg libavcodec-extra-53

其中FFMPEG直接使用static bulid 。省去很多编译中出现的问题。

MP3转换AMR: ffmpeg -y -i 1.mp3 -1.amr

3.通过php来调用系统命令进行音频文件实时转换

exec("ffmpeg -y -i ".getcwd()."/upload/".$filename." ".getcwd()."/upload/".$msgId.".mp3");

至此,web页面就可以使用播放器来播放已经转换完毕的MP3格式音频文件。

微信公众号开发接口语音下载解决方案相关推荐

  1. 急急急求微信公众号开发接口-php如何实现获取用户发送的微信表情,并返回一个链接,用户点击进去链接就是刚才发的表情,用户可以保存表情?

    求微信公众号开发接口-php如何实现获取用户发送的微信表情,并返回一个链接,用户点击进去链接就是刚才发的表情,用户就可以保存表情到手机? 需求描述 1.用户在公众号对话框发送微信表情(GIF) 2.公 ...

  2. 微信公众号开发接收语音消息时权限

    1.登录微信公众号 开发 -接口权限 2.开通接收语音识别结果权限 3.点击确定

  3. 微信公众号开发(—)接口与服务器关联

    微信公众号开发(-) 以下都是借鉴的微信公众平台的文档加老师指点和自行的理解. 1.一台有微信的手机.(别问我老人机可以不 有微信就可以!!!) 2.需要有一个微信公众平台的测试号(订阅号,服务号也可 ...

  4. 微信公众号开发 接口配置信息 配置失败

    之前和室友合租的服务器到期了,现在自己租了一个,想把之前开发的公众号搬过来.然后就换配置接口的URL后提交.一致提示配置失败,后台没看到请求进来,也没看到错误日志.想想是不是请求发到别的地方去了,才突 ...

  5. 微信语音识别 php,微信公众号开发之语音消息识别php代码

    本文实例为大家分享了php微信语音消息识别代码,供大家参考,具体内容如下 1.开通语音识别(默认关闭) 2.语音识别 请注意,开通语音识别后,用户每次发送语音给公众号时,微信会在推送的语音消息XML数 ...

  6. 微信公众号开发之语音消息识别

    1.开通语音识别(默认关闭) 2.语音识别 请注意,开通语音识别后,用户每次发送语音给公众号时,微信会在推送的语音消息XML数据包中,增加一个Recognition字段(注:由于客户端缓存,开发者开启 ...

  7. PHP微信公众号开发接口封装

    <?php namespace Common\Model; /*** 微信公众平台PHP-SDK, 官方API部分* @author dodge <dodgepudding@gmail.c ...

  8. 微信公众号开发--消息接收与回复

    在上篇文章中已经说明如何接入微信服务器,此篇直接接着上篇文章介绍公众号的消息接收与回复,可以结合上篇文章阅读本文,微信公众号开发–服务器接入. 微信公众号开发接口文档: https://mp.weix ...

  9. .net微信公众号开发——基础接口

    作者:王先荣     本文讲述微信公众号开发中基础接口的使用,包括以下内容:     (1)获取许可令牌(AccessToken):     (2)获取微信服务器地址:     (3)上传.下载多媒体 ...

最新文章

  1. windows程序崩溃生成dump文件
  2. cap流程图_化工工艺流程图制图图例汇编.pdf
  3. 这个黑科技小音箱,不用连蓝牙、一触即播
  4. java二进制 字节数组 字符 十六进制 BCD编码转换
  5. Terraform学习总结(2)——Terraform 语法详解
  6. 消息中间件学习总结(3)——RocketMQ之十分钟入门RocketMQ
  7. 利用C#开发基于snmpsharpnet基础的SNMP开发应用
  8. Mysql初级第二天(wangyun)
  9. JavaScript的语法规则
  10. 解决mavencommons-cli:commons-cli:jar:1.0 下载不下来的错误
  11. SRv6可编程技术-SRv6 Policy
  12. Word批量生成软件
  13. 桌面计算机找不到硬盘,bios找不到硬盘完美解决方法 选择STATConfigur
  14. Unity立体几何 点到直线距离计算
  15. C语言使用代码绘制爱心
  16. Java 全栈知识体系
  17. 在ENSP中配置DHCP服务器
  18. Python 从函数 def 到类 Class
  19. Android Audio 架构分析
  20. Android中图片的裁剪与压缩

热门文章

  1. Cocos2d-x 3D渲染技术 (三)
  2. linux 进程亲缘性,Linux线程亲缘性
  3. python注释多行代码快捷键_python学习笔记(五)---sublime text 多行代码注释快捷键...
  4. 联想Lenove台式机进入BIOS,设置U盘为启动项+破解电脑密码(老毛桃+cmd)
  5. 【ZBrush雕刻】3D机械模型!LOL英雄联盟“烬”教程分享
  6. java计算机毕业设计智能小区物业管理系统源码+系统+lw+数据库+调试运行
  7. 南大通用数据库-Gbase-8a-学习-15-Gbase8a通过Dblink访问Gbase8a(95->86)
  8. 在Linux系统上安装并使用UltraEdit
  9. 蓝桥杯单片机第十二届省赛题源码
  10. 基于一道例题进行QR分解三种方法的讲解:CGS算法,MGS算法,以及Householder算法的QR分解