> 백엔드 개발 > PHP 튜토리얼 > PHP를 사용하여 WeChat 녹음을 영구 저장소로 임시 변환하는 단계에 대한 자세한 설명

PHP를 사용하여 WeChat 녹음을 영구 저장소로 임시 변환하는 단계에 대한 자세한 설명

php中世界最好的语言
풀어 주다: 2023-03-26 21:32:02
원래의
2184명이 탐색했습니다.

이번에는 PHP를 사용하여 WeChat 녹음을 영구 저장소로 임시 변환하는 단계에 대해 자세히 설명하겠습니다. PHP를 사용하여 WeChat 녹음을 영구 저장소로 임시 변환할 때의 주의 사항은 무엇입니까? 바라보다.

최근 개발 중에 이 문제가 발생했습니다. 당사자 A는 사용자의 WeChat 녹음이 항상 유효하기를 바랍니다. 언제든지 친구의 공유를 열어서 친구의 녹음 내용을 들을 수 있습니다. WeChat 공식 개발 매뉴얼에서 WeChat 녹음 파일을 확인할 수 있습니다. 업로드 후 3일 동안만 WeChat에 보관할 수 있으며 3일 후에는 무효화됩니다. 무엇을 해야 할까요?

1. WeChat 미디어 리소스 다운로드 인터페이스

@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를 호출하여 WeChat 녹음을 로컬로 다운로드합니다. WeChat에서 로컬로 다운로드한 녹음 파일 형식은 amr이지만 WeChat 웹 브라우저는 오디오 파일 재생을 지원하지 않습니다. amr 파일. 따라서 amr을

웹페이지에서 인식할 수 있는 mp3 형식으로 변환해야 합니다.

어떻게 변환하나요? 이 변환을 지원할 수 있는 플랫폼인 Qiniu Cloud Storage Platform을 찾았습니다. Qiniu Cloud Storage를 통해 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);
로그인 후 복사
phpcurlHttp

로 변환할 수 있습니다. 이 기사의 사례를 읽으신 후 이 방법을 마스터하셨다고 생각합니다. PHP 중국어 웹사이트의 다른 관련 기사도 주목해주세요!

추천 자료:

PHP를 작동하여 방문자 탐색 정보를 기록하는 방법

PHP가 foreach를 사용하여 배열을 변환하는 단계에 대한 자세한 설명

위 내용은 PHP를 사용하여 WeChat 녹음을 영구 저장소로 임시 변환하는 단계에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿