微信公眾平台消息接口開發 在線點歌/在線音樂


微信 在線聽歌 在線點歌 在線點播 音樂API 公眾平台 微信公眾平台消息接口 微信開發模式  

微信公眾平台在年前開放了新的消息接口-音樂消息,這是廣大微信公眾平台開發者的福音。
根據這一功能,如果能做出在微信中點歌功能,那么我們以后就可以不用安裝其他APP,
直接在微信里面關注一個賬號,就可以聽歌了,還省去了安裝的麻煩,而且不用再占用空間。如果音樂資源足夠好,那將秒殺一切手機上在線聽歌軟件也不是沒有可能的。


一、獲取音樂資源

調用方法:

  返回格式:與微信音樂格式類似,json型:

 

{
    "errcode": 0,
    "msgtype": "music",
    "music": {
        "title": "歌曲名稱",
        "description": "music",
        "musicurl": "音樂地址",
        "hqmusicurl": "音樂地址"
    }
}

失敗時返回文本信息

{
    "errcode": "1",
    "msgtype": "text",
    "text": {
        "content": "檢索音樂失敗!"
    }
}

  

二、封裝音樂消息

獲取該音樂消息的代碼如下:

 public string GetMusic(string MusicName)
        {
            WebClient MyWebClient = new WebClient();
            MyWebClient.Credentials = CredentialCache.DefaultCredentials;//獲取或設置用於對向Internet資源的請求進行身份驗證的網絡憑據。

            Byte[] Comp = MyWebClient.DownloadData("http://api2.sinaapp.com/search/music/?appkey=0020130430&appsecert=fa6095e1133d28ad&reqtype=music&keyword=" + MusicName); //獲取快遞公司數據 
            var pageHtml = Encoding.UTF8.GetString(Comp); //如果獲取網站頁面采用的是UTF-8,則使用這句
            JavaScriptSerializer js = new JavaScriptSerializer();
            var obj = js.DeserializeObject(pageHtml);
            Dictionary<string, object> dic = obj as Dictionary<string, object>;
            if (dic["errcode"].ToString() == "0")
            {
                Dictionary<string, object> dic2 = dic.Values.ToArray()[2] as Dictionary<string, object>;
                string title = dic2["title"].ToString();
                string musicurl = dic2["musicurl"].ToString();
                string hqmusicurl = dic2["hqmusicurl"].ToString();
                return ResponseMusicMsg(title, "按住可轉發好友,播放失敗請換首歌!", musicurl, hqmusicurl);
            }
            else {
                return ResponseText("[流淚] Sorry~ 你要的音樂我沒有找到~ [流淚]");
            }
           
        }

  

生成微信相對應的xml

 /// <summary>
        /// 回復音樂內容
        /// </summary>
        /// <param name="to">接收者</param>
        /// <param name="from">消息來源</param>
        /// <param name="title">標題</param>
        /// <param name="description">描述信息</param>
        /// <param name="musicurl">音樂鏈接</param>
        /// <param name="hqmusicurl">高質量音樂鏈接,WIFI環境優先使用該鏈接播放音樂</param>
        /// <returns>生成的輸出文本</returns>
        public string ResponseMusicMsg(string title, string description, string musicurl, string hqmusicurl)
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendFormat("<xml>");
            sb.AppendFormat("<ToUserName><![CDATA[{0}]]></ToUserName>", clientUser);
            sb.AppendFormat("<FromUserName><![CDATA[{0}]]></FromUserName>", serverUser);
            sb.AppendFormat("<CreateTime>{0}</CreateTime>", DateTime.Now.Ticks.ToString());
            sb.AppendFormat("<MsgType><![CDATA[music]]></MsgType>");
            sb.AppendFormat("<Music>");
            sb.AppendFormat("   <Title><![CDATA[{0}]]></Title>", title);
            sb.AppendFormat("   <Description><![CDATA[{0}]]></Description>", description);
            sb.AppendFormat("   <MusicUrl><![CDATA[{0}]]></MusicUrl>", musicurl);
            sb.AppendFormat("   <HQMusicUrl><![CDATA[{0}]]></HQMusicUrl>", hqmusicurl);
            sb.AppendFormat("   <FuncFlag>0</FuncFlag>");
            sb.AppendFormat("</Music>");
            sb.AppendFormat("</xml>");
            return sb.ToString();
        }

  

二、效果展示

建議使用wifi時候聽歌

關注重慶足下軟件職業培訓學院(賬號cqzuxia)方法:
1. 依次進入以下路徑:朋友們—>添加朋友—>搜號碼,輸入cqzuxia,不區分大小寫,點擊查找,然后點擊關注。
2. 掃描二維碼:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM