微信开发之消息接收--语音消息(七)
一、消息格式
<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>
四、测试 测试截图如下:
所有博文内容,全部是自己一步一步操作出来的,请尊重版权,若转载请说明出处,谢谢。
不为失败找借口,只为成功找方法。欢迎各位和我一起遨游code世界!!!