首页 > 代码库 > 05微信公众平台 - 实现【点歌】功能函数,返回一个文本字符串。

05微信公众平台 - 实现【点歌】功能函数,返回一个文本字符串。

一、功能代码函数实现

    /*
     * 功能5:根据歌名点歌功能,输入歌名即可,传入参数为输入对象$postObj
     */
    private function _listenMusic($postObj)
    {
        $ret=   "<xml>
            <ToUserName><![CDATA[%s]]></ToUserName>
            <FromUserName><![CDATA[%s]]></FromUserName>
            <CreateTime>%s</CreateTime>
            <MsgType><![CDATA[music]]></MsgType>
            <Music>
            <Title><![CDATA[%s]]></Title>
            <Description><![CDATA[]]></Description>
            <MusicUrl><![CDATA[%s]]></MusicUrl>
            <HQMusicUrl><![CDATA[%s]]></HQMusicUrl>
            <FuncFlag><![CDATA[1]]></FuncFlag>
            </Music>
            </xml>";
        //$recognition=$postObj->Recognition;  语音识别功能
        //$keywordc= urlencode($recognition);  语音识别功能
        $keyword = trim($postObj->Content);
        $musicapi =  "http://box.zhangmen.baidu.com/x?op=12&count=1&title={$keyword}\$\$";
        $simstr=file_get_contents($musicapi);
        $musicobj=simplexml_load_string($simstr);
        $i=0;
        foreach($musicobj->url as $itemobj)
        {
            $encode = $itemobj->encode;
            $decode = $itemobj->decode;
            $removedecode = end(explode(‘&‘, $decode));
            if($removedecode<>"")
            {
                $removedecode="&".$removedecode;
            }
            $decode = str_replace($removedecode,"", $decode);
            $musicurl= str_replace(end(explode(‘/‘, $encode))   ,$decode,$encode);
            break;
        }
    
        $resultStr = sprintf($ret, $postObj->FromUserName, $postObj->ToUserName,time(), $keyword,$musicurl,$musicurl);
        return $resultStr;
    
    }

 

二、运行测试结果

三、支持关注

请关注 金融知识平台 微信公众帐号,金融知识平台 基于SAE 平台开发,针对于主流的微信功能进行开发测试。

您可以关注 金融知识平台 公众帐号进行功能测试,以及获取新的应用开发。

1. 登录微信客户端,通讯录 -> 添加朋友 -> 查找公众号 -> f_jinrong,查找并关注。

2. 扫描二维码: