微信公众号开发接口语音下载解决方案
2014-03-27 00:06
302 查看
需求:利用微信公众号开发接口下载语音,展示并可以收听语音
1.利用微信公众平台开发接口下载语音文件至本机
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来调用系统命令进行音频文件实时转换
至此,web页面就可以使用播放器来播放已经转换完毕的MP3格式音频文件。
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格式音频文件。
相关文章推荐
- 微信公众号红包接口开发PHP开发 CA证书出错,请登陆微信支付商户平台下载证书
- 微信公众号开发使用测试号不能测试支付接口的解决方案
- 微信公众号开发使用测试号不能测试支付接口的解决方案
- 微信公众号红包接口开发PHP开发 CA证书出错,请登陆微信支付商户平台下载证书
- 微信公众号接口深入剖析与应用——多接口集合应用与重用技术开发(图文导航)
- Java获取请求类型(Java获取浏览器请求类型;Java获取接口请求类型;微信公众号开发)
- C#微信公众号接口开发实例-高级接口-申请带参数的二维码
- 【iOS开发】CocoaPods下载、安装、更新、以及升级iOS9.0后源不可使用的解决方案
- 微信开发-----微信公众号调用微信上传图片接口
- 微信公众号开发80端口映射解决方案
- VC使用mysql.h的接口头文件进行连接mysql数据库开发的完整解决方案
- 微信公众号可通过现金红包接口发放微信支付现金红包(附开发教程)
- 微信公众号开发之测试号接口接入指南
- 微信公众号开发接口列表大全之根据code获取用户基本信息
- 分布式系统(面向接口开发等)事务一致性解决方案(转)
- 适合新手学习的laravel接入微信接口,实现微信公众号二次开发
- 微信公众号开发接口权限与次数限制-微信开发教程13
- 使用web api开发微信公众号,调用图灵机器人接口(二)
- Java微信公众平台开发(九)——关键字回复以及客服接口实现(该公众号暂时无法提供服务解决方案)
- 用30行代码开发一个上传、下载文件的接口