1. 消息识别
MsgType="video":代表用户发送视频消息- XML包含两个核心节点:
MediaId:视频文件媒体ID,调用微信多媒体下载接口,获取视频原文件ThumbMediaId:视频缩略图的媒体ID,同样可以调用下载接口拿到视频封面图
视频消息XML没有
Content文本节点。
2. C#代码示例
case "video":
VideoHandle(xmldoc);
break;
private void VideoHandle(XmlDocument xmldoc)
{
// 获取视频媒体ID
XmlNode MediaId = xmldoc.SelectSingleNode("/xml/MediaId");
// 获取缩略图媒体ID
XmlNode ThumbMediaId = xmldoc.SelectSingleNode("/xml/ThumbMediaId");
string videoMediaId = MediaId.InnerText;
string thumbMediaId = ThumbMediaId.InnerText;
// 可调用微信接口下载视频和缩略图
}
Code language: JavaScript (javascript)
3. 消息类型汇总表(文本/图片/语音/视频)
| 消息类型 | MsgType | 核心XML节点 |
|---|---|---|
| 文本消息 | text | Content |
| 图片消息 | image | PicUrl、MediaId |
| 语音消息 | voice | MediaId、Format |
| 视频消息 | video | MediaId、ThumbMediaId |
4. 要点
- MediaId资源有有效期,需要及时下载保存视频和缩略图。
- ThumbMediaId只是视频封面,不是视频本体。
- 视频消息和图片、语音消息处理逻辑非常相似,都是依靠MediaId拉取资源。