WeChat ミニ プログラムでは、音声メッセージが一般的な機能であり、ユーザーは音声を通じて対話できます。では、PHP の WeChat アプレットに音声メッセージを実装するにはどうすればよいでしょうか?以下で詳しく紹介していきましょう。
1. WeChat ミニ プログラムの音声メッセージ
WeChat ミニ プログラムでは、ユーザーは音声を通じてメッセージを送受信できます。具体的な使用方法は以下の通りです。
ミニプログラムのチャットウィンドウで、「長押しするとメッセージが送信されます」を長押しすることができます。 「話す」ボタンを押して音声メッセージの録音を開始します。録音が完了したら、ユーザーがボタンを放すと、音声メッセージが送信できるようになります。
ユーザーが音声メッセージを受信すると、ミニ プログラムが自動的に音声を再生し、音声メッセージの長さとテキスト認識結果を表示します。 (あれば) 。
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; }
音声マテリアルをアップロードするには、WeChat サーバーに POST リクエストを送信し、コンテンツ タイプを指定する必要があります。リクエストヘッダー.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 を表します。
音声メッセージを送信するには、POST リクエストを WeChat サーバーに送信し、リクエスト本文にメッセージの内容を 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 中国語 Web サイトの他の関連記事を参照してください。