0

0

PHP微信开发:微信录音临时转永久存储

jacklove

jacklove

发布时间:2018-05-22 16:12:50

|

1917人浏览过

|

来源于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格式。

立即学习PHP免费学习笔记(深入)”;

怎么转换呢?我找到了一个平台可以支持这种转换,七牛云存储平台.通过七牛云存储我们可以将amr转换成mp3   

IBM Watson
IBM Watson

IBM Watson文字转语音

下载
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<$length;$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使用imagecopymerge()函数创建半透明水印方法

Discuz!教程之如何通过简单php文件实现修改主题浏览量?

php 获取时间的方法

相关文章

微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

10

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

29

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

13

2026.01.22

PHP特殊符号教程合集
PHP特殊符号教程合集

本专题整合了PHP特殊符号相关处理方法,阅读专题下面的文章了解更多详细内容。

11

2026.01.22

PHP探针相关教程合集
PHP探针相关教程合集

本专题整合了PHP探针相关教程,阅读专题下面的文章了解更多详细内容。

8

2026.01.22

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

55

2026.01.22

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 9.2万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 10.4万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号