• 微信公众平台消息接口开发(50)在线点歌/在线音乐


    微信 在线听歌 在线点歌 在线点播 音乐API 公众平台 微信公众平台消息接口 微信开发模式  
    作者:http://www.cnblogs.com/txw1958/
    原文:http://www.cnblogs.com/txw1958/archive/2013/02/25/weixin-if50-music.html

    微信公众平台在年前开放了新的消息接口-音乐消息,这是广大微信公众平台开发者的福音。
    根据这一功能,如果能做出在微信中点歌功能,那么我们以后就可以不用安装其他APP,
    直接在微信里面关注一个账号,就可以听歌了,还省去了安装的麻烦,而且不用再占用空间。如果音乐资源足够好,那将秒杀一切手机上在线听歌软件也不是没有可能的。


    一、获取音乐资源
    方倍工作室推出音乐API接口,目前处于测试阶段,欢迎各位试用。

    调用方法:

    如调用“最炫民族风” ,传递其其URL编码 %e6%9c%80%e7%82%ab%e6%b0%91%e6%97%8f%e9%a3%8e 就可以了。

    以下url可以直接在IE8中打开,能自动转码。

    http://api2.sinaapp.com/search/music/?appkey=0020130430&appsecert=fa6095e1133d28ad&reqtype=music&keyword=%e6%9c%80%e7%82%ab%e6%b0%91%e6%97%8f%e9%a3%8e

    返回格式:与微信音乐格式类似,json型:

    {
        "errcode": 0,
        "msgtype": "music",
        "music": {
            "title": "最炫民族风",
            "description": "music",
            "musicurl": "http://stream10.qqmusic.qq.com/31432174.mp3",
            "hqmusicurl": "http://stream10.qqmusic.qq.com/31432174.mp3"
        }
    }

     失败时返回文本信息

    {
        "errcode": "1",
        "msgtype": "text",
        "text": {
            "content": "检索音乐失败!"
        }
    }

    二、封装音乐消息

    获取该音乐消息的代码如下:

    else if(substr($keyword,0,6) == "点歌"){
        $entityName = trim(substr($keyword,6,strlen($keyword)));
        if ($entityName == ""){
            $contentStr = "发送“点歌”加上歌名,如“点歌最炫民族风”";
            $resultStr = $this->transmitText($object, $contentStr, $funcFlag);
            return $resultStr;
        }
        $apihost = "http://api2.sinaapp.com/";
        $apimethod = "search/music/?";
        $apiparams = array('appkey'=>"0020120430", 'appsecert'=>"fa6095e113cd28fd", 'reqtype'=>"music");
        $apikeyword = "&keyword=".urlencode($entityName);
        $apicallurl = $apihost.$apimethod.http_build_query($apiparams).$apikeyword;
        $api2str = file_get_contents($apicallurl);
        $api2json = json_decode($api2str, true);
        $musicUrl = $api2json['music']['hqmusicurl'];
        if ($musicUrl == ""){
            $contentStr = "没有找到音乐,可能不是歌名或者检索失败,请换首歌试试!";
            $resultStr = $this->transmitText($object, $contentStr, $funcFlag);
        }else{
            $musicArray = array("title"=>$api2json['music']['title'],
                                "description"=>$api2json['music']['description'],
                                "MusicUrl"=>$api2json['music']['musicurl'],
                                "HQMusicUrl"=>$api2json['music']['hqmusicurl']);
            $resultStr = $this->transmitMusic($object, $musicArray, $funcFlag);
        }
        return $resultStr;
    }

    三、与微信对接

    音乐消息格式如下

     

    参数 描述

    ToUserName  接收方帐号(收到的OpenID)
    FromUserName  开发者微信号
    CreateTime  消息创建时间
    MsgType  music
    MusicUrl  音乐链接
    HQMusicUrl  高质量音乐链接,WIFI环境优先使用该链接播放音乐
    FuncFlag  位0x0001被标志时,星标刚收到的消息。

    四、效果演示
    需要添加 天气神 ,然后发送m,可以看到相关使用说明

    1. 发送“点歌”加歌名,如“点歌最炫民族风”,返回指定的歌曲。
    2. 只发送“点歌”两个字,系统为您选择一首热门歌曲。
    3. 按住说话按钮2秒钟再松开,随机返回一首热门歌曲。

    歌曲在WIFI环境中播放很流畅,有很好地体验。

    这是点歌成功的界面

    这是最上边栏时的显示

    这是音乐播放界面

    原文:http://www.cnblogs.com/txw1958/archive/2013/02/25/weixin-if50-music.html

    =============================================================

    关注豆立方(账号BeanCube)方法:
    1. 依次进入以下路径:朋友们—>添加朋友—>搜号码,输入beancube,不区分大小写,点击查找,然后点击关注。
    2. 扫描二维码:

     

  • 相关阅读:
    【机房收费系统】—— VB中 MSHFlexgrid控件导出Excel
    解决“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”
    手把手教你将Python程序打包为DLL
    电脑C盘(系统盘)怎么清理,以下6个方法你学会了么?
    win7旗舰版怎么降级到专业版|win7旗舰版改成专业版的方法
    UltraISO 软碟通注册码
    “永恒之蓝”处置流程
    C#连接 ORACLE,提示System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本
    RegAsm安装卸载办法
    解决Visual Studio:"无法导入以下密钥文件: xxxx.pfx,该密钥文件可能受密码保护"
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6467817.html
Copyright © 2020-2023  润新知