微信公众号开发接口语音下载解决方案
需求:利用微信公众号开发接口下载语音,展示并可以收听语音
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如何实现获取用户发送的微信表情,并返回一个链接,用户点击进去链接就是刚才发的表情,用户可以保存表情?
求微信公众号开发接口-php如何实现获取用户发送的微信表情,并返回一个链接,用户点击进去链接就是刚才发的表情,用户就可以保存表情到手机? 需求描述 1.用户在公众号对话框发送微信表情(GIF) 2.公 ...
- 微信公众号开发接收语音消息时权限
1.登录微信公众号 开发 -接口权限 2.开通接收语音识别结果权限 3.点击确定
- 微信公众号开发(—)接口与服务器关联
微信公众号开发(-) 以下都是借鉴的微信公众平台的文档加老师指点和自行的理解. 1.一台有微信的手机.(别问我老人机可以不 有微信就可以!!!) 2.需要有一个微信公众平台的测试号(订阅号,服务号也可 ...
- 微信公众号开发 接口配置信息 配置失败
之前和室友合租的服务器到期了,现在自己租了一个,想把之前开发的公众号搬过来.然后就换配置接口的URL后提交.一致提示配置失败,后台没看到请求进来,也没看到错误日志.想想是不是请求发到别的地方去了,才突 ...
- 微信语音识别 php,微信公众号开发之语音消息识别php代码
本文实例为大家分享了php微信语音消息识别代码,供大家参考,具体内容如下 1.开通语音识别(默认关闭) 2.语音识别 请注意,开通语音识别后,用户每次发送语音给公众号时,微信会在推送的语音消息XML数 ...
- 微信公众号开发之语音消息识别
1.开通语音识别(默认关闭) 2.语音识别 请注意,开通语音识别后,用户每次发送语音给公众号时,微信会在推送的语音消息XML数据包中,增加一个Recognition字段(注:由于客户端缓存,开发者开启 ...
- PHP微信公众号开发接口封装
<?php namespace Common\Model; /*** 微信公众平台PHP-SDK, 官方API部分* @author dodge <dodgepudding@gmail.c ...
- 微信公众号开发--消息接收与回复
在上篇文章中已经说明如何接入微信服务器,此篇直接接着上篇文章介绍公众号的消息接收与回复,可以结合上篇文章阅读本文,微信公众号开发–服务器接入. 微信公众号开发接口文档: https://mp.weix ...
- .net微信公众号开发——基础接口
作者:王先荣 本文讲述微信公众号开发中基础接口的使用,包括以下内容: (1)获取许可令牌(AccessToken): (2)获取微信服务器地址: (3)上传.下载多媒体 ...
最新文章
- windows程序崩溃生成dump文件
- cap流程图_化工工艺流程图制图图例汇编.pdf
- 这个黑科技小音箱,不用连蓝牙、一触即播
- java二进制 字节数组 字符 十六进制 BCD编码转换
- Terraform学习总结(2)——Terraform 语法详解
- 消息中间件学习总结(3)——RocketMQ之十分钟入门RocketMQ
- 利用C#开发基于snmpsharpnet基础的SNMP开发应用
- Mysql初级第二天(wangyun)
- JavaScript的语法规则
- 解决mavencommons-cli:commons-cli:jar:1.0 下载不下来的错误
- SRv6可编程技术-SRv6 Policy
- Word批量生成软件
- 桌面计算机找不到硬盘,bios找不到硬盘完美解决方法 选择STATConfigur
- Unity立体几何 点到直线距离计算
- C语言使用代码绘制爱心
- Java 全栈知识体系
- 在ENSP中配置DHCP服务器
- Python 从函数 def 到类 Class
- Android Audio 架构分析
- Android中图片的裁剪与压缩
热门文章
- Cocos2d-x 3D渲染技术 (三)
- linux 进程亲缘性,Linux线程亲缘性
- python注释多行代码快捷键_python学习笔记(五)---sublime text 多行代码注释快捷键...
- 联想Lenove台式机进入BIOS,设置U盘为启动项+破解电脑密码(老毛桃+cmd)
- 【ZBrush雕刻】3D机械模型!LOL英雄联盟“烬”教程分享
- java计算机毕业设计智能小区物业管理系统源码+系统+lw+数据库+调试运行
- 南大通用数据库-Gbase-8a-学习-15-Gbase8a通过Dblink访问Gbase8a(95->86)
- 在Linux系统上安装并使用UltraEdit
- 蓝桥杯单片机第十二届省赛题源码
- 基于一道例题进行QR分解三种方法的讲解:CGS算法,MGS算法,以及Householder算法的QR分解