Maison >Applet WeChat >Développement WeChat >Introduction à la fonction de demande de chanson en ligne développée par la plateforme publique WeChat

Introduction à la fonction de demande de chanson en ligne développée par la plateforme publique WeChat

高洛峰
高洛峰original
2017-03-23 11:58:583718parcourir

L'interface de message de la plateforme publique WeChat - message musical, c'est une bonne nouvelle pour la majorité des développeurs de la plateforme publique WeChat. Selon cette fonction, si la fonction de demande de chansons dans WeChat peut être réalisée, nous n'aurons pas besoin d'installer d'autres applications à l'avenir. Nous pouvons suivre directement un compte dans WeChat et écouter des chansons. Cela évitera les problèmes d'installation. et ne nécessite pas de prendre plus de place. Si les ressources musicales sont suffisamment bonnes, il n’est pas impossible de tuer tous les logiciels d’écoute de musique en ligne sur téléphones mobiles.

Répondre au message musical

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[music]]></MsgType>
<Music>
<Title><![CDATA[TITLE]]></Title>
<Description><![CDATA[DESCRIPTION]]></Description>
<MusicUrl><![CDATA[MUSIC_Url]]></MusicUrl>
<HQMusicUrl><![CDATA[HQ_MUSIC_Url]]></HQMusicUrl>
<ThumbMediaId><![CDATA[media_id]]></ThumbMediaId>
</Music>
</xml>

Introduction à la fonction de demande de chanson en ligne développée par la plateforme publique WeChat

Code principal :

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, &#39;SimpleXMLElement&#39;, 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,&#39;/&#39;) + 1);
                        $url_suffix = substr($menus->url[0]->decode,0,strripos($menus->url[0]->decode,&#39;&&#39;));
                        $durl_prefix = substr($menus->durl[0]->encode,0,strripos($menus->durl[0]->encode,&#39;/&#39;) + 1);
                        $durl_suffix = substr($menus->durl[0]->decode,0,strripos($menus->durl[0]->decode,&#39;&&#39;));
                        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;
        }

Appel d'interface :

include (&#39;music.class.php&#39;);
$m = new MusicApi($musicContent);
$mArr = $m->getMusicInfo();
return $this->responseMusic($mArr["Title"], $mArr["Description"], $mArr["MusicUrl"], $mArr["HQMusicUrl"], 0);

Démonstration d'effet :

Introduction à la fonction de demande de chanson en ligne développée par la plateforme publique WeChat

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn