zoukankan      html  css  js  c++  java
  • 微信开发之消息接收--视频消息(八)

    一、消息格式

    <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   谢谢各位~~欢迎关注和订阅。

        

  • 相关阅读:
    Python将文件夹下的文件名写入excel方便统计
    Python利用openpyxl带格式统计数据(2)- 处理mysql数据
    Python利用openpyxl带格式统计数据(1)- 处理excel数据
    spfa 算法(队列优化的Bellman-Ford算法)
    bellman_ford算法(边数限制的最短路,边权可能为负)
    堆优化dijkstra
    朴素dijkstra
    1547. 切棍子的最小成本(区间dp)
    1546. 和为目标值的最大数目不重叠非空子数组数目(前缀和+dp)
    32场双周赛(模拟,模拟,前缀和加状态压缩)
  • 原文地址:https://www.cnblogs.com/codejackanapes/p/5495981.html
Copyright © 2011-2022 走看看