In WeChat-Miniprogrammen sind Sprachnachrichten eine häufige Funktion und Benutzer können über Sprache interagieren. Wie implementiert man also Sprachnachrichten im WeChat-Applet in PHP? Lassen Sie uns es unten im Detail vorstellen.
1. Sprachnachrichten im WeChat Mini-Programm
Im WeChat Mini-Programm können Benutzer Nachrichten per Sprache senden und empfangen. Die spezifische Verwendung ist wie folgt:
Benutzer können mit der Aufzeichnung von Sprachnachrichten beginnen, indem sie im Chatfenster des Miniprogramms lange auf die Schaltfläche „Zum Sprechen gedrückt halten“ drücken. Sobald die Aufnahme abgeschlossen ist, lässt der Benutzer die Taste los und die Sprachnachricht kann gesendet werden.
Wenn der Benutzer eine Sprachnachricht erhält, spielt das Miniprogramm automatisch die Stimme ab und zeigt die Dauer der Sprachnachricht und das Texterkennungsergebnis (falls vorhanden) an.
2. Verwenden Sie PHP, um Sprachnachrichten in WeChat-Miniprogrammen zu implementieren.
In PHP sind zur Implementierung von Sprachnachrichten in WeChat-Miniprogrammen die folgenden Schritte erforderlich:
access_token ist zum Aufrufen der WeChat-Schnittstelle erforderlich Parameter müssen wir zuerst access_token erhalten. Dies kann durch den folgenden Code erreicht werden:
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; }
Das Hochladen von Sprachmaterial erfordert das Senden einer POST-Anfrage an den WeChat-Server und die Angabe des Inhaltstyps als Multipart/Formulardaten im Anforderungsheader. Der spezifische Code lautet wie folgt:
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; }
Darunter stellt $filePath den Pfad der hochzuladenden Sprachdatei dar und $media_id stellt die Medien-ID dar, die nach erfolgreichem Hochladen zurückgegeben wird.
Das Senden einer Sprachnachricht erfordert das Senden einer POST-Anfrage an den WeChat-Server und die Angabe des Nachrichteninhalts im XML-Format im Anfragetext. Der spezifische Code lautet wie folgt:
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; }
Dabei stellt $openId die OpenID des Benutzers dar, der die Sprachnachricht empfängt.
Die oben genannten Schritte sind die Schritte zur Verwendung von PHP zur Implementierung von Sprachnachrichten im WeChat-Applet. Sie können sich für bestimmte Vorgänge auf den obigen Code beziehen und ihn entsprechend der tatsächlichen Situation ändern.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP zum Implementieren von Sprachnachrichten im WeChat-Applet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!