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

        

  • 相关阅读:
    思维导图github地址
    python操作mongodb根据_id查询数据的实现方法
    如何让nginx显示文件夹目录
    Scrapy爬虫返回302重定向问题解决方法
    K8s
    Dockerfile文件详解
    k8s简介
    mongodb存储过程
    存储过程详解
    Docker 镜像加速
  • 原文地址:https://www.cnblogs.com/codejackanapes/p/5495981.html
Copyright © 2011-2022 走看看