上一篇我们用代码实现发送图片消息,接下来我们来实现发送语音消息功能

发送语音消息

代码实现

1.在Message.util工具类中新增 buildVoiceMessag方法
/**
* 构造语音消息
* @param map
* @return
*/
private static String buildVoiceMessage(Map<String, String> map) {
String fromUserName = map.get("FromUserName");
String toUserName = map.get("ToUserName");
/*返回用户发过来的语音*/
String media_id = map.get("MediaId");
return String.format(
"<xml>" +
"<ToUserName><![CDATA[%s]]></ToUserName>" +
"<FromUserName><![CDATA[%s]]></FromUserName>" +
"<CreateTime>%s</CreateTime>" +
"<MsgType><![CDATA[voice]]></MsgType>" +
"<Voice>" +
" <MediaId><![CDATA[%s]]></MediaId>" +
"</Voice>" +
"</xml>",
fromUserName,toUserName, getUtcTime(),media_id
);
}
2. 在 buildXml 构建消息的方法中新增代码
 //如果用户发送的消息类型为语音格式,返回用户发过来的语音if (msgType.toUpperCase().equals("VOICE")){String fromUserName = map.get("FromUserName");String toUserName = map.get("ToUserName");/*返回用户发过来的语音*/String media_id = map.get("MediaId");return String.format("<xml>" +"<ToUserName><![CDATA[%s]]></ToUserName>" +"<FromUserName><![CDATA[%s]]></FromUserName>" +"<CreateTime>%s</CreateTime>" +"<MsgType><![CDATA[voice]]></MsgType>" +"<Voice>" +" <MediaId><![CDATA[%s]]></MediaId>" +"</Voice>" +"</xml>",fromUserName,toUserName, getUtcTime(),media_id);}
3.打开微信公众号,发送语音测试

当用户发送语音,公众号就回复你语音

微信公众号开发笔记(九)发送语音消息相关推荐

  1. 微信公众号开发C#系列-7、消息管理-接收事件推送

    1.概述 在微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器通过事件推送的形式通知到开发者在开发者中心处设置的服务器地址,从而开发者可以获取到该信息.其中,某些事件推送在发生后,是允许 ...

  2. 使用Python进行微信公众号开发(三)回复消息

    写在前面 <使用Python进行微信公众号开发>系列文章将与大家分享如何使用Python一步步搭建微信公众号后台服务器. 效果体验 扫码"是雯子吖"公众号进行体验 配置 ...

  3. 微信公众号开发--开通测试号及验证消息来自服务器

    微信公众号开发--开通测试号及验证消息来自服务器 一.服务器配置 1.开通测试号 2.域名申请(ngrok) 2.1.注册 2.2.下载客户端 二.验证消息来自服务器 一.服务器配置 1.开通测试号 ...

  4. 微信公众号开发笔记(四)搭建本地测试环境

    上一章给大家分享的是开发微信公众号(三) , 今天继续更新第四篇 搭建本地测试环境. 推荐一款软件: Ngrok(内网穿透工具) Ngrok可以实现内网穿透,也就是说我们可以将内网的服务器映射到外网给 ...

  5. 微信公众号开发(2)——文本消息、图文消息发送

    接上一讲,微信公众号开发(1)--服务器配置 新建几个信息类: package com.imooc.po;/*** 信息基类* @author lyj**/ public class BaseMess ...

  6. 使用Python进行微信公众号开发(二)接收消息

    写在前面 <使用Python进行微信公众号开发>系列文章将与大家分享如何使用Python一步步搭建微信公众号后台服务器. 效果体验 扫码"是雯子吖"公众号进行体验 配置 ...

  7. C#微信公众号开发系列教程三(消息体签名及加解密)

    http://www.cnblogs.com/zskbll/p/4139039.html C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C ...

  8. php公众号客服消息图文,微信公众号开发系列-发送客服消息(示例代码)

    下面是做微信公众号开发用到最多的两个客服消息发送类型,文本信息和图文信息. 1.发送文本消息{ "touser":"OPENID", "msgtype ...

  9. 微信公众号开发笔记(三):微信JSAPI支付功能开发

    很久之前做了微信支付,其中也趟过很多坑,现在有时间就做个自我梳理吧算是. 公众号开发的基本配置(不明白的可以参考https://blog.csdn.net/TOP__ONE/article/detai ...

最新文章

  1. 机器学习模型如何获得可重复的结果?最佳实践是什么?如何处理random_state参数?
  2. 晒加班晒熬夜……“晒勤奋”是一种病!
  3. Swift:在Safari中打开App
  4. Python的线性查找(作业)
  5. mysql 查看表v空间自增涨_mysql文件结构及InnoDB引擎表空间整理
  6. php强类型作用,php类、接口、抽象、trait、强类型使用
  7. selenium+python自动化80-文件下载(不弹询问框)
  8. (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  9. YellowBrick-聚类评估示例
  10. 小雷:我的核心定位和远大志向(上次更新2013年11月9日)
  11. 纯CSS在线气泡提示生成工具 - CSS ARROW PLEASE!
  12. csv文件转换成utf-8格式乱码
  13. 在WinCC V7.3中如何导出过程值进行数据归档
  14. 手机迅雷打不开html,苹果手机上迅雷怎么打不开秒退
  15. [Unity3D]Unity3D游戏开发之自由视角下的角色控制
  16. 性能测试监控TP50、TP99、TP999含义(99分位延时的含义)
  17. 重置计算机网络配置后上不了网,win10系统网络重置后不能连接网络如何解决
  18. ddl是什么意思网络语_ddl是什么意思(网络语ddl是什么梗)
  19. js 文本框获取焦点
  20. 面试——游戏测试工程师(20190918)

热门文章

  1. 论取经途中孙悟空为什么屡战屡败之真正原因(转贴)
  2. 中国5000年的婚姻搭配规律
  3. noobs_如何通过NOOBS享受死的简单Raspberry Pi设置
  4. touch bar的4个使用小技巧
  5. 毒霸网址大全的彻底删除
  6. Android原生SQLite操作以及greenDao框架操作SQLite
  7. 魅蓝note3 android6.0,魅蓝E和魅蓝note3买哪个比较好 魅蓝note3和魅蓝E全方位区别对比深度评测图解...
  8. windows电脑连接蓝牙耳机的正确步骤
  9. ntpd与ntpdate
  10. php获取接口url地址,PHP 获取完整URL地址