>위챗 애플릿 >위챗 개발 >WeChat 공개 플랫폼에서 개발한 온라인 노래 요청 기능 소개

WeChat 공개 플랫폼에서 개발한 온라인 노래 요청 기능 소개

高洛峰
高洛峰원래의
2017-03-23 11:58:583662검색

WeChat 공개 플랫폼의 메시지 인터페이스 - 음악 메시지는 대다수의 WeChat 공개 플랫폼 개발자에게 좋은 소식입니다. 이 기능에 따르면 WeChat에서 노래를 요청하는 기능을 만들 수 있다면 앞으로는 다른 앱을 설치할 필요가 없이 WeChat에서 직접 계정을 팔로우하고 노래를 들을 수 있습니다. 더 많은 공간을 차지하지 않습니다. 음악 자원이 충분하다면 휴대폰의 온라인 음악 청취 소프트웨어를 모두 죽이는 것이 불가능하지 않습니다.

음악 메시지 답장

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

WeChat 공개 플랫폼에서 개발한 온라인 노래 요청 기능 소개

핵심 코드:

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

인터페이스 호출:

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

효과 시연:

WeChat 공개 플랫폼에서 개발한 온라인 노래 요청 기능 소개

위 내용은 WeChat 공개 플랫폼에서 개발한 온라인 노래 요청 기능 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.