微信公众平台的消息接口-音乐消息,这是广大微信公众平台开发者的福音。 根据这一功能,如果能做出在微信中点歌功能,那么我们以后就可以不用安装其他APP, 直接在微信里面关注一个账号,就可以听歌了,还省去了安装的麻烦,而且不用再占用空间。如果音乐资源足够好,那将秒杀一切手机上在线听歌软件也不是没有可能的。
回复音乐消息
12345678
核心代码:public function getMusicInfo() {
if ($this->name == ""){
$content = array( "Title"=>"",
"Description"=>"你还没告诉我音乐名称呢?",
"MusicUrl"=>"",
"HQMusicUrl"=>"");
} else {
if (strpos($this->name, "+")){
$music = explode("+",$this->name);
$url = "http://box.zhangmen.baidu.com/x?op=12&count=1&title=".$music[1]."$$".$music[0]."$$$$";
}else{
$url = "http://box.zhangmen.baidu.com/x?op=12&count=1&title=".$this->name."$$";
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
$content = array( "Title"=>"歌曲【".$this->name."】",
"Description"=>"检索失败",
"MusicUrl"=>"",
"HQMusicUrl"=>"");
try{
@$menus = simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA);
if ($menus->count > 0 && isset($menus->url[0]) && isset($menus->durl[0])){
$url_prefix = substr($menus->url[0]->encode,0,strripos($menus->url[0]->encode,'/') + 1);
$url_suffix = substr($menus->url[0]->decode,0,strripos($menus->url[0]->decode,'&'));
$durl_prefix = substr($menus->durl[0]->encode,0,strripos($menus->durl[0]->encode,'/') + 1);
$durl_suffix = substr($menus->durl[0]->decode,0,strripos($menus->durl[0]->decode,'&'));
if (strpos($this->name, "+")){
$content = array( "Title"=>$music[1],
"Description"=>$music[0],
"MusicUrl"=>$url_prefix.$url_suffix,
"HQMusicUrl"=>$durl_prefix.$durl_suffix);
}else{
$content = array( "Title"=>$this->name,
"Description"=>"百度音乐提供",
"MusicUrl"=>$url_prefix.$url_suffix,
"HQMusicUrl"=>$durl_prefix.$durl_suffix);
}
}
}catch(Exception $e){
}
}
return $content;
}
接口调用:include ('music.class.php');
$m = new MusicApi($musicContent);
$mArr = $m->getMusicInfo();
return $this->responseMusic($mArr["Title"], $mArr["Description"], $mArr["MusicUrl"], $mArr["HQMusicUrl"], 0);
效果演示: