天天看點

微信公衆号開發筆記(九)發送語音消息

上一篇我們用代碼實作發送圖檔消息,接下來我們來實作發送語音消息功能

發送語音消息

代碼實作

1.在Message.util工具類中新增 buildVoiceMessag方法

/**
* 構造語音消息
* @param map
* @return
*/
private static String buildVoiceMessage(Map<String, String> map) {
String fromUserName = map.get("FromUserName");
String toUserName = map.get("ToUserName");
/*傳回使用者發過來的語音*/
String media_id = map.get("MediaId");
return String.format(
"<xml>" +
"<ToUserName><![CDATA[%s]]></ToUserName>" +
"<FromUserName><![CDATA[%s]]></FromUserName>" +
"<CreateTime>%s</CreateTime>" +
"<MsgType><![CDATA[voice]]></MsgType>" +
"<Voice>" +
" <MediaId><![CDATA[%s]]></MediaId>" +
"</Voice>" +
"</xml>",
fromUserName,toUserName, getUtcTime(),media_id
);
}
           

2. 在 buildXml 建構消息的方法中新增代碼

//如果使用者發送的消息類型為語音格式,傳回使用者發過來的語音
        if (msgType.toUpperCase().equals("VOICE")){
            String fromUserName = map.get("FromUserName");
            String toUserName = map.get("ToUserName");
            /*傳回使用者發過來的語音*/
            String media_id = map.get("MediaId");
            return String.format(
                    "<xml>" +
                            "<ToUserName><![CDATA[%s]]></ToUserName>" +
                            "<FromUserName><![CDATA[%s]]></FromUserName>" +
                            "<CreateTime>%s</CreateTime>" +
                            "<MsgType><![CDATA[voice]]></MsgType>" +
                            "<Voice>" +
                            " <MediaId><![CDATA[%s]]></MediaId>" +
                            "</Voice>" +
                            "</xml>",
                    fromUserName,toUserName, getUtcTime(),media_id
            );
        }
           

3.打開微信公衆号,發送語音測試

當使用者發送語音,公衆号就回複你語音

微信公衆号開發筆記(九)發送語音消息