微信公众号开发整理(四)--音乐消息回复

1.首先,我们先看回复音乐消息数据格式:


2.与回复图片消息一样,首先我们需要先创建音乐消息的实体类

public class Music {
private String Title;
private String Description;
private String MusicUrl;
private String HQMusicUrl;//高质量的链接
private String ThumbMediaId;
set、get方法略。。。

}

public class MusicMessage extends BaseMessage{
private Music Music;


public Music getMusic() {
return Music;
}


public void setMusic(Music music) {
Music = music;
}

}


3.组装消息 音乐消息转XML及XML转音乐消息:

//音乐消息转XML
public static String musicMessageToXml(MusicMessage musicMessage){
XStream xstream = new XStream();
xstream.alias("xml", musicMessage.getClass());
return xstream.toXML(musicMessage);

}

获取缩略图的媒体ID,运行测试方法:


得到音乐消息缩略图的媒体ID


进行消息的组装,先把我们的音乐文件准备好:


实现代码如下:

//XML转音乐消息(即音乐消息的组装)
public static String initMusicMessage(String toUserName,String fromUserName){
String message = null;
Music music = new Music();
music.setThumbMediaId("50R-CSj0i8fv9lIWB7vpDtFObkD_uTKJVouTS8axKrCbvkIH-W4c2Pj_cx3hJXbK");//测试获取到的ThumbMediaId
music.setTitle("青春");
music.setDescription("激情");
music.setMusicUrl("http://588979f4.ngrok.io/WeiXinTest/resource/music.mp3");//这里http为ngrok映射的网址
music.setHQMusicUrl("http://588979f4.ngrok.io/WeiXinTest/resource/music.mp3");
MusicMessage musicMessage = new MusicMessage();
musicMessage.setFromUserName(toUserName);
musicMessage.setToUserName(fromUserName);
musicMessage.setMsgType(MESSAGE_MUSIC);
musicMessage.setCreateTime(new Date().getTime());
musicMessage.setMusic(music);
message = musicMessageToXml(musicMessage);
return message;
}

4.补全业务逻辑,完成音乐消息的回复功能:


运行结果截图:


至此,音乐消息被动回复完成!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值