Maison >développement back-end >tutoriel php >Comment utiliser PHP pour implémenter des messages vocaux dans l'applet WeChat
Dans les mini-programmes WeChat, les messages vocaux sont une fonction courante et les utilisateurs peuvent interagir par la voix. Alors, comment implémenter des messages vocaux dans l’applet WeChat en PHP ? Présentons-le en détail ci-dessous.
1. Messages vocaux dans le programme WeChat Mini
Dans le programme WeChat Mini, les utilisateurs peuvent envoyer et recevoir des messages par la voix. L'utilisation spécifique est la suivante :
Les utilisateurs peuvent commencer à enregistrer des messages vocaux en appuyant longuement sur le bouton "Appuyez et maintenez pour parler" dans la fenêtre de discussion du mini programme. Une fois l'enregistrement terminé, l'utilisateur relâche le bouton et le message vocal peut être envoyé.
Lorsque l'utilisateur reçoit un message vocal, le mini programme jouera automatiquement la voix et affichera la durée du message vocal et le résultat de la reconnaissance de texte (le cas échéant).
2. Utilisez PHP pour implémenter des messages vocaux dans les mini-programmes WeChat
En PHP, pour implémenter des messages vocaux dans les mini-programmes WeChat, les étapes suivantes sont requises :
access_token consiste à appeler l'interface WeChat Nécessaire paramètres, nous devons d’abord obtenir access_token. Cela peut être réalisé via le code suivant :
function getAccessToken(){ $appid = ""; // 小程序的appid $secret = ""; // 小程序的secret $url = sprintf("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s",$appid,$secret); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $output = curl_exec($ch); curl_close($ch); $json = json_decode($output,true); $access_token = $json["access_token"]; return $access_token; }
Le téléchargement de matériel vocal nécessite l'envoi d'une requête POST au serveur WeChat et la spécification de Content-Type comme multipart/form-data dans l'en-tête de la requête. Le code spécifique est le suivant :
function uploadVoice($access_token, $filePath){ $url = sprintf("https://api.weixin.qq.com/cgi-bin/media/upload?access_token=%s&type=%s",$access_token,"voice"); $postdata = array( "media" => new CURLFile(realpath($filePath)) ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); $output = curl_exec($ch); curl_close($ch); $json = json_decode($output,true); $media_id = $json["media_id"]; return $media_id; }
Parmi eux, $filePath représente le chemin du fichier vocal à télécharger, et $media_id représente l'identifiant média renvoyé une fois le téléchargement réussi.
L'envoi d'un message vocal nécessite l'envoi d'une requête POST au serveur WeChat et la spécification du contenu du message au format XML dans le corps de la requête. Le code spécifique est le suivant :
function sendVoiceMessage($access_token, $openId, $mediaId){ $url = sprintf("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=%s", $access_token); $xml = sprintf('<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[voice]]></MsgType><Voice><MediaId><![CDATA[%s]]></MediaId></Voice></xml>', $openId, "", time(), $mediaId); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); $output = curl_exec($ch); curl_close($ch); return $output; }
Parmi eux, $openId représente l'openid de l'utilisateur qui reçoit le message vocal.
Voici les étapes ci-dessus pour utiliser PHP pour implémenter des messages vocaux dans l'applet WeChat. Vous pouvez vous référer au code ci-dessus pour des opérations spécifiques et le modifier en fonction de la situation réelle.
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!