WeChat 미니 프로그램에서는 음성 메시지가 공통 기능이며 사용자는 음성을 통해 상호 작용할 수 있습니다. 그렇다면 PHP의 WeChat 애플릿에서 음성 메시지를 구현하는 방법은 무엇입니까? 아래에서 자세히 소개하겠습니다.
1. 위챗 미니 프로그램의 음성 메시지
위챗 미니 프로그램에서는 음성으로 메시지를 주고받을 수 있습니다. 구체적인 사용법은 다음과 같습니다.
사용자는 미니 프로그램의 채팅 창에서 "길게 눌러 말하기" 버튼을 길게 눌러 음성 메시지 녹음을 시작할 수 있습니다. 녹음이 완료되면 사용자가 버튼을 놓으면 음성 메시지가 전송됩니다.
사용자가 음성 메시지를 받으면 미니 프로그램이 자동으로 음성을 재생하고 음성 메시지의 지속 시간과 문자 인식 결과(있는 경우)를 표시합니다.
2. PHP를 사용하여 WeChat 미니 프로그램에서 음성 메시지 구현
PHP에서 WeChat 미니 프로그램에서 음성 메시지를 구현하려면 다음 단계가 필요합니다.
access_token은 WeChat 인터페이스를 호출하는 것입니다. 매개변수를 사용하려면 먼저 access_token을 얻어야 합니다. 이는 다음 코드를 통해 달성할 수 있습니다:
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; }
음성 자료를 업로드하려면 POST 요청을 WeChat 서버에 보내고 요청 헤더에 Content-Type을 multipart/form-data로 지정해야 합니다. 구체적인 코드는 다음과 같습니다.
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; }
그 중 $filePath는 업로드할 음성 파일의 경로를 나타내고, $media_id는 업로드 성공 후 반환되는 미디어 ID를 나타냅니다.
음성 메시지를 보내려면 WeChat 서버에 POST 요청을 보내고 요청 본문에 메시지 내용을 xml 형식으로 지정해야 합니다. 구체적인 코드는 다음과 같습니다.
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; }
그 중 $openId는 음성 메시지를 받는 사용자의 openid를 나타냅니다.
위는 PHP를 사용하여 WeChat 애플릿에서 음성 메시지를 구현하는 단계입니다. 특정 작업은 위의 코드를 참조하고 실제 상황에 따라 수정할 수 있습니다.
위 내용은 PHP를 사용하여 WeChat 애플릿에서 음성 메시지를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!