0

0

微信三、歌曲点播

php中文网

php中文网

发布时间:2016-06-07 11:42:48

|

1491人浏览过

|

来源于php中文网

原创

歌曲点播
微信点歌其实已有很多博客写过,不过重复超超轮子就当锻炼锻炼身体嘛。先上效果图

微信三、歌曲点播

回复2.2@谢谢你的爱,它先会去找这首歌,然后返回回来,如果找的不是你想点的歌曲,则需要中上歌手名称,如2.2@谢谢你的爱谢霆锋

微信三、歌曲点播

代码部分如下

1、统一回复调用方法//这里只对文本消息进行处理
private function reply($data){
    if('text' == $data['MsgType']){
        $text=$data["Content"];
        if($text=="?"){
            return $this->get_main_datas();
        }
        $_menu_text=strpos($text,"@")===false?$text:(string)doubleval($text);//当需要查询时,指令为1.1@xxx使用进行doubleval转换
        if(array_key_exists($_menu_text, $this->all_info)){//存在于菜单中,当输入,1 2 3 时
            return $this->get_replay_datas($_menu_text,$text,$data["FromUserName"]);
        }
        return $this->hello();
    } elseif('event' == $data['MsgType'] && 'subscribe' == $data['Event']){
        //订阅写入数据表
        return $this->hello();
        //$reply = array('欢迎您关注桂林小魔方童装公众助手! 打开我们的网站:http://aidemofang.com 可以了解最新的款式和价格.', 'text');
    } else {
        exit;
    }
}
     
    //取得回复的信息
    private function get_replay_datas($_menu_text,$text,$fromUser){
        $menu_text=strlen($_menu_text)==1?$_menu_text-1:$_menu_text;
        $method = $this->get_method($menu_text);
        $param=null;
        if(strpos($text,"@")!==false){
            $arr = preg_split("/@/", $text);
            $param=$arr[1];
        }
        return $this->$method($param,$fromUser);
    }
2、点歌实现//歌曲点播
    public function get_song($song_title,$fromUser){
        //$song_title="春天里";
  
        $m_param=array(
            "op"    =>"7",
            "mode"  =>"1",
            "count" =>"1",
            "title" =>$song_title
        );
        $song_datas=http("http://box.zhangmen.baidu.com/x",$m_param);  
        $song_utf8=utf8($song_datas,"gbk");
  
        preg_match_all('/\(.*?)\/s', $song_utf8, $matchs); 
        if(count($matchs)>1){
            $song_name=$matchs[1][0];
        }
        if(empty($song_name)){
            return array("未找到这首歌,检查一下网络或咱们换一首吧.","text");
        }
  
        $param=array(
            "op"    =>"12",
            "count" =>"1",
            "title" =>trim("$song_name")
        );
        //查找作者的这首歌
        $datas=http("http://box.zhangmen.baidu.com/x",$param);
  
        $xml = new DOMDocument(); 
        $xml->loadXML($datas);
  
        $lst=$xml->getElementsByTagName('encode');
  
        //普通质量地址
        $item=$lst->item(0);
        $pre=$item->nodeValue;
        $suffix=$item->nextSibling->nodeValue;
        $MusicURL=str_replace(strrchr($pre, "/"),"",$pre)."/".str_replace(strrchr($suffix, "&"),"",$suffix);
  
  
        //高质量地址
        $item=$lst->item(0);
        $pre=$item->nodeValue;
        $suffix=$item->nextSibling->nodeValue;
        $HQMusicUrl=str_replace(strrchr($pre, "/"),"",$pre)."/".str_replace(strrchr($suffix, "&"),"",$suffix);
  
  
        $datas=array();
        $datas[]=str_replace('$', "", $song_name);//音乐标题
        $datas[]="来自互联网";//音乐描述
        $datas[]="$MusicURL";//音乐链接
        $datas[]="$HQMusicUrl";//高质量音乐链接,WIFI环境优先使用该链接播放音乐
  
        $this->sendLyric(str_replace('$$', "-", $song_name),$fromUser);
        return array($datas,"music");
  
    }
  
    private function sendLyric($song_name,$fromUser){
        $param=array(
            "key"   => "free",
            "appid" =>   "0",
            "msg"   =>   "歌词".$song_name
        );
        $datas=http("http://api.ajaxsns.com/api.php",$param);
        $json=json_decode($datas);
        if($json->result==0){
            $content=str_replace("{br}","\n",$json->content);
            $content.="\n\n小助手:回复 @ 进入主界面";
            import('@.ORG.ThinkWechat');
            $weixin = new ThinkWechat ();
            $result=$weixin->sendMsg($content, $fromUser, "text" );//发送歌词
  
            Log::write(" init data ->".$fromUser." ,content =$content");
            Log::write("result -> ".print_r($result,true));
        }
          
    }
\>
微信三、歌曲点播

微信三、歌曲点播

休闲豆http://www.xiuxiandou.com

AD:真正免费,域名+虚机+企业邮箱=0元

微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.2万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号