• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP操作微信录音临时转永久存储步骤详解

php 搞代码 3年前 (2022-01-22) 35次浏览 已收录 0个评论

这次给大家带来PHP操作微信录音临时转永久存储步骤详解,PHP操作微信录音临时转永久存储的注意事项有哪些,下面就是实战案例,一起来看一下。

最近做开发的时候碰到了这个问题,甲方希望用户在微信端的录音能够一直有效。就是随时打开好友的分享就能听到好友的录音。可在微信官方开发手册上查到微信录音文件上传后只能在微信端保留3天时间,3天后就失效了。怎么办呢?

1、通过调用微信媒体资源下载接口将微信录音下载到本地

@paramsString access_token 微信公众号access_tokenString serverId 通过录音上传接口获取到的serverIdhttp://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' => 'http://',  );  $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',&#3<mark>(本文来)源gaodaimacom搞#^代%!码&网(</mark><pre>搞gaodaima代码

9;w');fwrite($open,$res);fclose($open);

php curlHttp

相信看了本文案例你已经掌握了方法,更多精彩请关注搞代码其它相关文章!

推荐阅读:

PHP如何操作可以记录访客浏览信息

PHP运用foreach转换数组步骤详解

以上就是PHP操作微信录音临时转永久存储步骤详解的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP操作微信录音临时转永久存储步骤详解
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址