Maison > développement back-end > tutoriel php > PHP réalise une conversion temporaire de l'enregistrement WeChat en partage d'instance de stockage permanent

PHP réalise une conversion temporaire de l'enregistrement WeChat en partage d'instance de stockage permanent

小云云
Libérer: 2023-03-19 17:18:02
original
2254 Les gens l'ont consulté

Cet article présente principalement en détail la conversion temporaire des enregistrements WeChat en stockage permanent développée par PHP WeChat. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer.

J'ai rencontré ce problème récemment lors du développement. Party A espère que les enregistrements des utilisateurs sur WeChat seront toujours valides. Ouvrez simplement le partage de votre ami à tout moment et vous pourrez écouter l'enregistrement de votre ami. On peut trouver dans le manuel de développement officiel de WeChat que le fichier d'enregistrement WeChat ne peut être conservé sur WeChat que pendant 3 jours après avoir été téléchargé, et il deviendra invalide après 3 jours. Ce qu'il faut faire?

1. Téléchargez l'enregistrement WeChat au niveau local en appelant l'interface de téléchargement des ressources multimédias 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}
Copier après la connexion

2. côté local Le format de fichier d'enregistrement est amr et le navigateur Web WeChat ne prend pas en charge la lecture de fichiers audio des fichiers amr. Nous devons donc convertir l'amr au format mp3 qui puisse être reconnu par les
pages Web.

Comment convertir ? J'ai trouvé une plate-forme qui peut prendre en charge cette conversion, Qiniu Cloud Storage Platform, grâce à Qiniu Cloud Storage, nous pouvons convertir amr en 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(&#39;本地amr文件路径&#39;);
//mp3 在七牛上的访问地址
var_dump($amrToMp3);
/**
 * 如果你希望将这个mp3 存储在本地而不是在七牛上,那么你需要在程序上等待几秒,因为这时七牛在转换改amr的格式
 */
 sleep(10);
$res = curlHttp($amrToMp3);    //curlHttp 就是 php  curl 机制 不懂的可以看下我下面文章机制
$open = fopen(&#39;demo.mp3&#39;,&#39;w&#39;);
fwrite($open,$res);
fclose($open);
Copier après la connexion

php curlHttp

Recommandations associées :


Tutoriel de développement PHP WeChat : Comment rechercher des images et des textes envoyés et répondre avec des mots-clés correspondants

Vidéo recommandée ressources pour le développement PHP WeChat

Fonction de partage pratique du développement WeChat

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal