上一篇我们用代码实现发送图片消息,接下来我们来实现发送语音消息功能
发送语音消息
代码实现
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.打开微信公众号,发送语音测试
当用户发送语音,公众号就回复你语音