php 微信 语音,PHP语言微信开发:微信录音临时转永久存储
本文主要向大家介绍了PHP语言微信开发:微信录音临时转永久存储,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。
最近做开发的时候碰到了这个问题,甲方希望用户在微信端的录音能够一直有效。就是随时打开好友的分享就能听到好友的录音。可在微信官方开发手册上查到微信录音文件上传后只能在微信端保留3天时间,3天后就失效了。怎么办呢?
1、通过调用微信媒体资源下载接口将微信录音下载到本地
@params
String access_token 微信公众号access_token
String serverId 通过录音上传接口获取到的serverId
https://file.api.weixin.qq.com/cgi-bin/media/get?access_token={$access_token}&media_id={$serverId}
2、从微信方下载到本地的录音文件格式是amr,而微信网页浏览器并不支持amr文件的音频文件播放。所以我们需要将amr 转换成
网页能够识别的mp3格式。
怎么转换呢?我找到了一个平台可以支持这种转换,七牛云存储平台.通过七牛云存储我们可以将amr转换成mp3
require("./extension/autoload.php");//官方开发包 可在官方下载 php版本 载入其中的autoload.php extension 是随意 起的名字
/**
* @param
* String $filepa 本地amr文件路径
* @return
* String 解析后存储在七牛存储空间中的mp3远程地址
*/
function upchange($filepa){
$accessKey="七牛accessKey 在七牛后台获取";
$secretKey="七牛secretKey 在七牛后台获取";
$httpUrl ="七牛分配的访问地址 在七牛后台获取";
$bucket = "存储空间对象bucket 在七牛后台创建";
//转码时使用的队列名称
$pipeline = '转码队列名称 在七牛后台创建';
$auth = new \Qiniu\Auth($accessKey, $secretKey);
$rand_name = getRandChar__(6).time().'.mp3';
//要进行转码的转码操作
$fops = "avthumb/mp3/ab/64k/ar/22050";
//$fops = "mp3";
//可以对转码后的文件进行使用saveas参数自定义命名,当然也可以不指定文件会默认命名并保存在当间
$savekey = Qiniu\base64_urlSafeEncode('kepei:'.$rand_name);
$fops = $fops.'|saveas/'.$savekey;
$policy = array(
'persistentOps' => $fops,
'persistentNotifyUrl' => 'https://',
);
$uptoken = $auth->uploadToken($bucket, null, 3600, $policy);
//上传文件的本地路径
$filePath = $filepa;
$key = $rand_name;
//$key = '';
$uploadMgr = new \Qiniu\Storage\UploadManager();
list($ret, $err) = $uploadMgr->putFile($uptoken, $key, $filePath);
if ($err !== null) {
return false;
} else {
return $httpUrl.$rand_name;
}
}
function getRandChar__($length){
$str = null;
$strPol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
$max = strlen($strPol)-1;
for($i=0;$i
$str.=$strPol[rand(0,$max)];//rand($min,$max)生成介于min和max两个数之间的一个随机整数
}
return $str;
}
$amrToMp3 = upchange('本地amr文件路径');
//mp3 在七牛上的访问地址
var_dump($amrToMp3);
/**
* 如果你希望将这个mp3 存储在本地而不是在七牛上,那么你需要在程序上等待几秒,因为这时七牛在转换改amr的格式
*/
sleep(10);
$res = curlHttp($amrToMp3); //curlHttp 就是 php curl 机制 不懂的可以看下我下面文章机制
$open = fopen('demo.mp3','w');
fwrite($open,$res);
fclose($open);
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言PHP频道!
php 微信 语音,PHP语言微信开发:微信录音临时转永久存储相关推荐
- 微信小游戏申请注册流程+开发微信小游戏类目需要具备条件
微信小游戏申请注册流程+开发微信小游戏类目需要具备条件 在这里先讲一下,小程序和小游戏前面的注册流程都是一样的,在注册完毕登录小程序后台后选择类目时需要注意一下,我下面讲解的是已经通过认证的服务号进行 ...
- 微信公众号H5页面开发--微信JS-SDK引用
微信公众号H5页面开发–微信JS-SDK引用 微信提供了微信公众号开发者手册,官方地址:https://mp.weixin.qq.com/ 公众号内许多复杂的业务场景,都是通过网页形式来提供服务,这时 ...
- 添加文件夹语音_微信语音导出方法大全,微信群语音转发只需3步
微信现在越来越受欢迎,因为它很大程度上方便人们分享他们的照片,生活事件,以及与他人随时随地聊天.但是如果给你一段会议录音让你整理出来打成音频文件,你是不是会感觉到头疼麻烦呢?这时候你一定会想如果能有一 ...
- 微信语音能保存多久服务器,微信语音播放失败?可能是这几个原因导致的,看完你就懂了...
很多朋友在使用手机播放其他好友发送给自己的语音消息时,会出现"语音播放失败"的提示,不知道是什么原因导致的,本期文章就说说导致微信语音播放失败的几个原因,以及可行的解决办法. 一. ...
- 微信小程序经典案例开发(微信开发)
课程介绍: 非常值得推荐的一套微信小程序开发视频教程,来自极客学院全套的微信实战开发程序,值得学习 -------------------课程目录------------------- ├<; ...
- android studio微信界面设计,android studio开发微信界面
android studio开发微信界面 android studio开发微信界面 功能说明:主要是做微信的简单的聊天界面,利用Fragment,进行微信界面的跳转 项目代码: 源代码地址 MainA ...
- php 下载微信语音文件怎么打开软件,微信群讲课或语音讨论交流 如何把大家讲的微信语音合成一个音频文件mp3格式...
想要将一些微信群讲课或语音讨论交流的微信语音导出来,然后把大家讲的微信语音合成一个音频文件mp3格式,这个过程怎么来实现的呢,嗯~ o(* ̄▽ ̄*)o .最终的效果是可是实现的,在这之前需要先分几个步 ...
- 微信开发 - 微信录音临时转永久存储
标题 最近做开发的时候碰到了这个问题,甲方希望用户在微信端的录音能够一直有效.就是随时打开好友的分享就能听到好友的录音.可在微信官方开发手册上查到微信录音文件上传后只能在微信端保留3天时间,3天后就失 ...
- 微信jsapi支付获取code_JAVA开发微信支付-公众号支付/微信浏览器支付(JSAPI)
写这篇文章的目的有2个,一是自己的项目刚开发完微信支付功能,趁热回个炉温习一下,二也是帮助像我这样对微信支付不熟悉,反复看了多天文档还是一知半解,原理都没摸清,更不要说实现了.本以为网上的微信开发教程 ...
最新文章
- linux dmesg命令参数及用法详解(linux显示开机信息命令)
- 数据结构C#版笔记--树与二叉树
- UVa10911 Forming Quiz Teams(dp)
- Android项目笔记整理(1)
- 2pc_two phase commit详情
- 单元测试框架之Robolectric踩坑
- Tomcat Script(python)
- wps中的相交_如何在wps中添加交叉引用 - 卡饭网
- 批量导入经纬度点到奥维地图中
- 观察数据时易出错的点
- 科来网络回溯分析系统-回溯追踪ARP扫描攻击
- deamon(守护进程)的实现
- 扫地机器人的“新故事”,从“第三次革命”开始
- 使用CSS画一个扇形
- 三代终端容器 KUN 的首次大考【架构演进】
- 中南大学材料院matlab考试题,中南大学材料院matlab操作题集答案
- cf Round#779 D 388535
- Redis教程之基础-五种数据基本操作
- office回退版本,从2021到2019
- 职业生涯人物访谈作业格式