Heim  >  Artikel  >  WeChat-Applet  >  Einführung in die Online-Song-Anfragefunktion, die von der öffentlichen WeChat-Plattform entwickelt wurde

Einführung in die Online-Song-Anfragefunktion, die von der öffentlichen WeChat-Plattform entwickelt wurde

高洛峰
高洛峰Original
2017-03-23 11:58:583656Durchsuche

Die Nachrichtenschnittstelle der öffentlichen WeChat-Plattform – Musiknachricht, das sind gute Nachrichten für die Mehrheit der Entwickler der öffentlichen WeChat-Plattform. Wenn die Funktion zum Anfordern von Songs in WeChat möglich ist, müssen wir in Zukunft keine weiteren APPs installieren. Wir können einem Konto in WeChat direkt folgen und uns die Mühe der Installation ersparen und benötigt nicht mehr Platz. Wenn die Musikressourcen gut genug sind, ist es nicht unmöglich, alle Online-Musikhörsoftware auf Mobiltelefonen zu töten.

Auf Musiknachricht antworten

<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>

Einführung in die Online-Song-Anfragefunktion, die von der öffentlichen WeChat-Plattform entwickelt wurde

Kerncode:

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;
        }

Schnittstellenaufruf:

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);

Wirkungsdemonstration:

Einführung in die Online-Song-Anfragefunktion, die von der öffentlichen WeChat-Plattform entwickelt wurde

Das obige ist der detaillierte Inhalt vonEinführung in die Online-Song-Anfragefunktion, die von der öffentlichen WeChat-Plattform entwickelt wurde. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn