国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > PHP > 正文

PHP微信開(kāi)發(fā)之微信錄音臨時(shí)轉(zhuǎn)永久存儲(chǔ)

2024-05-05 00:02:06
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

最近做開(kāi)發(fā)的時(shí)候碰到了這個(gè)問(wèn)題,甲方希望用戶在微信端的錄音能夠一直有效。就是隨時(shí)打開(kāi)好友的分享就能聽(tīng)到好友的錄音。可在微信官方開(kāi)發(fā)手冊(cè)上查到微信錄音文件上傳后只能在微信端保留3天時(shí)間,3天后就失效了。怎么辦呢?

1、通過(guò)調(diào)用微信媒體資源下載接口將微信錄音下載到本地

@paramsString access_token 微信公眾號(hào)access_tokenString serverId 通過(guò)錄音上傳接口獲取到的serverIdhttp://file.api.weixin.qq.com/cgi-bin/media/get?access_token={$access_token}&media_id={$serverId}

2、從微信方下載到本地的錄音文件格式是amr,而微信網(wǎng)頁(yè)瀏覽器并不支持amr文件的音頻文件播放。所以我們需要將amr 轉(zhuǎn)換成
網(wǎng)頁(yè)能夠識(shí)別的mp3格式。

怎么轉(zhuǎn)換呢?我找到了一個(gè)平臺(tái)可以支持這種轉(zhuǎn)換,七牛云存儲(chǔ)平臺(tái).通過(guò)七牛云存儲(chǔ)我們可以將amr轉(zhuǎn)換成mp3

require("./extension/autoload.php");//官方開(kāi)發(fā)包 可在官方下載 php版本 載入其中的autoload.php extension 是隨意 起的名字/** * @param * String $filepa 本地amr文件路徑 * @return * String 解析后存儲(chǔ)在七牛存儲(chǔ)空間中的mp3遠(yuǎn)程地址 */function upchange($filepa){  $accessKey="七牛accessKey 在七牛后臺(tái)獲取";  $secretKey="七牛secretKey 在七牛后臺(tái)獲取";  $httpUrl ="七牛分配的訪問(wèn)地址 在七牛后臺(tái)獲取";  $bucket = "存儲(chǔ)空間對(duì)象bucket 在七牛后臺(tái)創(chuàng)建";  //轉(zhuǎn)碼時(shí)使用的隊(duì)列名稱  $pipeline = '轉(zhuǎn)碼隊(duì)列名稱 在七牛后臺(tái)創(chuàng)建';  $auth = new /Qiniu/Auth($accessKey, $secretKey);  $rand_name = getRandChar__(6).time().'.mp3';  //要進(jìn)行轉(zhuǎn)碼的轉(zhuǎn)碼操作  $fops = "avthumb/mp3/ab/64k/ar/22050";  //$fops = "mp3";  //可以對(duì)轉(zhuǎn)碼后的文件進(jìn)行使用saveas參數(shù)自定義命名,當(dāng)然也可以不指定文件會(huì)默認(rèn)命名并保存在當(dāng)間  $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兩個(gè)數(shù)之間的一個(gè)隨機(jī)整數(shù)  }  return $str;}$amrToMp3 = upchange('本地amr文件路徑');//mp3 在七牛上的訪問(wèn)地址var_dump($amrToMp3);/** * 如果你希望將這個(gè)mp3 存儲(chǔ)在本地而不是在七牛上,那么你需要在程序上等待幾秒,因?yàn)檫@時(shí)七牛在轉(zhuǎn)換改amr的格式 */ sleep(10);$res = curlHttp($amrToMp3);    //curlHttp 就是 php  curl 機(jī)制 不懂的可以看下我下面文章機(jī)制$open = fopen('demo.mp3','w');fwrite($open,$res);fclose($open);

php curlHttp

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到PHP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 建宁县| 滦平县| 昭通市| 美姑县| 伊金霍洛旗| 沙湾县| 西畴县| 定远县| 南陵县| 阿尔山市| 商南县| 峨山| 资阳市| 许昌市| 星座| 乡城县| 民和| 汉源县| 龙南县| 正宁县| 山西省| 马鞍山市| 庆城县| 华容县| 滁州市| 屏东县| 新建县| 河南省| 隆林| 枝江市| 电白县| 潮州市| 惠来县| 攀枝花市| 赞皇县| 延津县| 贺州市| 青浦区| 靖边县| 哈密市| 通州区|