一、消息格式
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1357290913</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<MediaId><![CDATA[media_id]]></MediaId>
<Format><![CDATA[Format]]></Format>
<MsgId>1234567890123456</MsgId>
</xml>
参数 | 描述 |
---|---|
ToUserName | 开发者微信号 |
FromUserName | 发送方帐号(一个OpenID) |
CreateTime | 消息创建时间 (整型) |
MsgType | 语音为voice |
MediaId | 语音消息媒体id,可以调用多媒体文件下载接口拉取数据。 |
Format | 语音格式,如amr,speex等 |
MsgID | 消息id,64位整型 |
二、创建语音消息实体类,VoiceMessage.java 代码如下:
package com.weixin.message;
public class VoiceMessage extends BaseMessage {
public long MediaId ;
public String Format ;
public long MsgID ;
public long getMediaId() {
return MediaId;
}
public void setMediaId(long mediaId) {
MediaId = mediaId;
}
public String getFormat() {
return Format;
}
public void setFormat(String format) {
Format = format;
}
public long getMsgID() {
return MsgID;
}
public void setMsgID(long msgID) {
MsgID = msgID;
}
}
三、向公众号发送语音消息,公众号返回消息:"这是语音消息" 在WeixinService.java中添加 语音消息的判断 ,代码如下:
//voice消息
if(messageType.equals(MessageUtil.REQ_MESSAGE_TYPE_VOICE)){
// 打印接收所有参数
System.out.println("ToUserName:" + message.get("ToUserName"));
System.out.println("FromUserName:" + message.get("FromUserName"));
System.out.println("CreateTime:" + message.get("CreateTime"));
System.out.println("MsgType:" + message.get("MsgType"));
System.out.println("PicUrl:" + message.get("PicUrl"));
System.out.println("MediaId:" + message.get("MediaId"));
System.out.println("MsgId:" + message.get("MsgId"));
TextMessage textMessage = new TextMessage();
textMessage.setToUserName(message.get("FromUserName"));
textMessage.setFromUserName(message.get("ToUserName"));
textMessage.setCreateTime(new Date().getTime());
textMessage.setContent("这是语音消息");
textMessage.setMsgType("text"); //文本消息
xml = MessageUtil.textMessageToXml(textMessage);
System.out.println("xml:"+xml);
}
公众号接收到的参数和回复的xml如下:
接收到的参数信息:
ToUserName:gh_525b860fccf8
FromUserName:oXWYmsyz4fv17mCihzDFzk_ecLFU
CreateTime:1463300507
MsgType:voice
PicUrl:null
MediaId:TVwQaa0KMaRSWMR8WPsOv8y4V_uRXHOo49enlnj7Hzj1klFhldyNfapqe9K2i9w1
MsgId:6284827822231388344
回复的xml信息
<xml>
<ToUserName><![CDATA[oXWYmsyz4fv17mCihzDFzk_ecLFU]]></ToUserName>
<FromUserName><![CDATA[gh_525b860fccf8]]></FromUserName>
<CreateTime>1463300508012</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[这是声音消息]]></Content>
<MsgId>0</MsgId>
</xml>
四、测试 测试截图如下: