(11)java代码实现回复video类型的消息

本文介绍如何使用Java实现向微信用户发送视频消息的过程,包括视频压缩、上传至微信服务器及构造消息格式等关键步骤。

1 使用软件(格式工厂)准备视频材料

微信官方要求:视频(video)大小不超过10MB,并且视频为MP4格式
  • 以网易云MV为例,来说明使用步骤

    这里写图片描述

这里写图片描述

这里写图片描述
源视频的大小:
这里写图片描述

打开 格式工厂
这里写图片描述

这里写图片描述

这里写图片描述

到现在为止,视频素材准备完毕

2 java代码部分

  • 上传视频资源,获取微信服务器返回的video_mdeia_id
@Test
    public void testVideoThumbMediaId() throws Exception{
        String path = "D:/wxSource/Despacito.mp4";
        String mediaId = weiXinUtil.upload(path, weiXinUtil.getAccessToken().getAccess_token(), "video");
        System.out.println("上传video后的video_media_id:"+mediaId);
    }
  • 创建Video对象
public class Video {
    private String MediaId;
    private String Title;   
    private String Description;
    public String getMediaId() {
        return MediaId;
    }
    public void setMediaId(String mediaId) {
        MediaId = mediaId;
    }
    public String getTitle() {
        return Title;
    }
    public void setTitle(String title) {
        Title = title;
    }
    public String getDescription() {
        return Description;
    }
    public void setDescription(String description) {
        Description = description;
    }

}
  • 创建videoMessage 对象
public class videoMessage extends baseMessage {
    private Video Video;

    public Video getVideo() {
        return Video;
    }

    public void setVideo(Video Video) {
        this.Video = Video;
    }

}
  • videoMessageToXml方法拼装xml格式
public static String videoMessageToXml(videoMessage videoMessage){
        XStream stream = new XStream();//System.out.println(stream.toXML(text));//全类名<zk.entity.textMessage>
        stream.alias("xml",videoMessage.getClass());//首尾全类名改成<xml>
        return stream.toXML(videoMessage);
    }
  • sendVideoMessage方法返回xml格式数据
public static String sendVideoMessage(String toUserName,String fromUserName) throws Exception{
        String message = null;
        String video_mdeia_id ="uUmTa3ne1a8-5tayANf_gO5weB3pEa_UTRMFZxYQIMbMjYHESQEUlwsw696yUSiK";//检测是否在有效期内
        Video video = new Video();
        video.setMediaId(video_mdeia_id);
        video.setTitle("Despacito");
        video.setDescription("2017神曲");

        videoMessage videoMessage = new videoMessage();
        videoMessage.setToUserName(fromUserName);
        videoMessage.setFromUserName(toUserName);
        videoMessage.setCreateTime(new Date().getTime());
        videoMessage.setMsgType(userResp_message_type_video);
        videoMessage.setVideo(video);

        message = videoMessageToXml(videoMessage);
        System.out.println(message);
        return message;
    }
  • 如果用户输入D,就返回此视频
if ("D".equals(map.get("Content").toUpperCase())) {
                        reponseMessage = messageUtil.sendVideoMessage(toUserName, fromUserName);
                    }

3 效果测试

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值