微信开发之消息接收--视频消息(八)

一、消息格式

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1357290913</CreateTime>
<MsgType><![CDATA[video]]></MsgType>
<MediaId><![CDATA[media_id]]></MediaId>
<ThumbMediaId><![CDATA[thumb_media_id]]></ThumbMediaId>
<MsgId>1234567890123456</MsgId>
</xml>

  

参数描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType 视频为video
MediaId 视频消息媒体id,可以调用多媒体文件下载接口拉取数据。
ThumbMediaId 视频消息缩略图的媒体id,可以调用多媒体文件下载接口拉取数据。
MsgId 消息id,64位整型

 

 

 

 

 

 

 

 

二、编写视频消息实体类,VideoMessage.java  代码如下:

package com.weixin.message;

public class VideoMessage extends BaseMessage {

	public long MediaId ;
	public long ThumbMediaId ;
	public long MsgId ;
	public long getMediaId() {
		return MediaId;
	}
	public void setMediaId(long mediaId) {
		MediaId = mediaId;
	}
	public long getThumbMediaId() {
		return ThumbMediaId;
	}
	public void setThumbMediaId(long thumbMediaId) {
		ThumbMediaId = thumbMediaId;
	}
	public long getMsgId() {
		return MsgId;
	}
	public void setMsgId(long msgId) {
		MsgId = msgId;
	}
	
}

  

三、向微信服务器发送一段视频,服务器返回消息:"这是视频消息"

   在WeixinService.java中添加 视频消息的判断 ,代码如下:

//video消息
		if(messageType.equals(MessageUtil.REQ_MESSAGE_TYPE_VIDEO)){
			
			            // 打印接收所有参数
						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_204936aea56d
FromUserName:ojpX_jig-gyi3_Q9fHXQ4rdHniQs
CreateTime:1463301378
MsgType:video
PicUrl:null
MediaId:DBVFRIj29LB2hxuYpc0R6VLyxwgyCHZPbRj_IIs6YaGhutyXUKtFSDcSCPeoqUYr
MsgId:1234567890abcdef

回复的xml信息

<xml>
  <ToUserName><![CDATA[ojpX_jig-gyi3_Q9fHXQ4rdHniQs]]></ToUserName>
  <FromUserName><![CDATA[gh_204936aea56d]]></FromUserName>
  <CreateTime>1463301378145</CreateTime>
  <MsgType><![CDATA[text]]></MsgType>
  <Content><![CDATA[这是视频消息]]></Content>
  <MsgId>0</MsgId>
</xml>

 

三、测试截图如下:

    

四、注意:

    微信视频分有两种,一种为视频、一种为小视频,MsgType 类型是不一样的。

    视频类新为 video  小视频类型为 shortvideo  望各位多加注意。

 

 

另外,感谢各位对我的关注,相信各位在微信的入门开发中已经学到了一些技巧和方法,为了方便各位后续的学习,我会在下次博文中推出微信的开发工具:weixin-java-tools,欢迎各位和我一起来用这个工具来构建我们的微信项目,另外我还会使用maven来构建项目,如不了解maven如何创建项目,请查看相关博文:http://www.cnblogs.com/codejackanapes/p/5461940.html   谢谢各位~~欢迎关注和订阅。

 

 

 

 

    

posted @ 2016-05-15 20:14  Code猿猿  阅读(1310)  评论(0编辑  收藏  举报