Rumah >pembangunan bahagian belakang >tutorial php >Cara menggunakan PHP untuk melaksanakan mesej suara dalam applet WeChat

Cara menggunakan PHP untuk melaksanakan mesej suara dalam applet WeChat

王林
王林asal
2023-06-01 21:31:342128semak imbas

Dalam program mini WeChat, mesej suara ialah fungsi biasa dan pengguna boleh berinteraksi melalui suara. Jadi bagaimana untuk melaksanakan mesej suara dalam applet WeChat dalam PHP? Mari perkenalkan secara terperinci di bawah.

1. Mesej suara dalam program mini WeChat

Dalam program mini WeChat, pengguna boleh menghantar dan menerima mesej melalui suara. Kaedah penggunaan khusus adalah seperti berikut:

  1. Hantar mesej suara

Dalam tetingkap sembang program mini, pengguna boleh menekan lama butang "tekan dan tahan untuk butang bercakap" untuk mula merakam mesej suara . Setelah rakaman selesai, pengguna melepaskan butang dan mesej suara boleh dihantar.

  1. Terima mesej suara

Apabila pengguna menerima mesej suara, program mini akan memainkan suara secara automatik dan memaparkan tempoh mesej suara dan hasil pengecaman teks (jika ada).

2. Gunakan PHP untuk melaksanakan mesej suara dalam program mini WeChat

Dalam PHP, untuk melaksanakan mesej suara dalam program mini WeChat, langkah berikut diperlukan:

  1. Dapatkan access_token

Access_token ialah parameter yang diperlukan untuk memanggil antara muka WeChat Kita perlu mendapatkan access_token terlebih dahulu. Ini boleh dicapai melalui kod berikut:

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;
}
  1. Muat naik bahan suara

Memuat naik bahan suara memerlukan menghantar permintaan POST ke pelayan WeChat dan menyatakan Jenis Kandungan dalam pengepala permintaan berbilang bahagian/data-bentuk. Kod khusus adalah seperti berikut:

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;
}

Antaranya, $filePath mewakili laluan fail suara yang hendak dimuat naik, dan $media_id mewakili id ​​media yang dikembalikan selepas muat naik berjaya.

  1. Hantar mesej suara

Menghantar mesej suara memerlukan menghantar permintaan POST ke pelayan WeChat dan menyatakan kandungan mesej dalam format xml dalam badan permintaan. Kod khusus adalah seperti berikut:

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;
}

Antaranya, $openId mewakili openid pengguna yang menerima mesej suara.

  1. Ringkasan

Di atas ialah langkah-langkah untuk menggunakan PHP untuk melaksanakan mesej suara dalam applet WeChat. Anda boleh merujuk kepada kod di atas untuk operasi tertentu dan mengubah suainya mengikut situasi sebenar.

Atas ialah kandungan terperinci Cara menggunakan PHP untuk melaksanakan mesej suara dalam applet WeChat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn