您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“PHP微信開發之微信錄音臨時轉永久存儲的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“PHP微信開發之微信錄音臨時轉永久存儲的示例分析”這篇文章吧。
1、通過調用微信媒體資源下載接口將微信錄音下載到本地
@params String access_token 微信公眾號access_token String serverId 通過錄音上傳接口獲取到的serverId http://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','w'); fwrite($open,$res); fclose($open);
以上是“PHP微信開發之微信錄音臨時轉永久存儲的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。