上一篇我們用代碼實作發送圖檔消息,接下來我們來實作發送語音消息功能
發送語音消息
代碼實作
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.打開微信公衆号,發送語音測試
當使用者發送語音,公衆号就回複你語音