Beispiel #1
0
        public async Task <BillboardInfo> GetGDbyWYAsync(string id)
        {
            string  data = HttpHelper.PostWeb("http://lab.mkblog.cn/music/api.php", "types=playlist&id=" + id);
            JObject o    = JObject.Parse(data);
            var     dt   = new BillboardInfo();

            dt.Title        = o["playlist"]["name"].ToString();
            dt.OnlineId     = o["playlist"]["id"].ToString();
            dt.AlbumArtPath = o["playlist"]["coverImgUrl"].ToString();
            for (int i = 0; i != o["playlist"]["tracks"].Count(); i++)
            {
                try
                {
                    var dtname   = o["playlist"]["tracks"][i]["name"].ToString();
                    var dtsinger = "";
                    for (int dx = 0; dx != o["playlist"]["tracks"][i]["ar"].Count(); dx++)
                    {
                        dtsinger += o["playlist"]["tracks"][i]["ar"][dx]["name"] + "&";
                    }
                    dtsinger = dtsinger.Substring(0, dtsinger.LastIndexOf("&"));
                    var dtf = await SearchMusicAsync(dtname + "-" + dtsinger);

                    if (dtf.Count > 0)
                    {
                        dt.Musics.Add(dtf[0]);
                    }
                }
                catch { }
            }
            return(dt);
        }
Beispiel #2
0
        public async Task <BillboardInfo> GetGDAsync(string id = "2591355982")
        {
            var s = await HttpHelper.GetWebDatacAsync($"https://c.y.qq.com/qzone/fcg-bin/fcg_ucc_getcdinfo_byids_cp.fcg?type=1&json=1&utf8=1&onlysong=0&disstid={id}&format=json&g_tk=1157737156&loginUin=2728578956&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8&notice=0&platform=yqq&needNewCode=0", Encoding.UTF8);

            JObject o  = JObject.Parse(s);
            var     dt = new BillboardInfo();

            dt.Title        = o["cdlist"][0]["dissname"].ToString();
            dt.AlbumArtPath = o["cdlist"][0]["logo"].ToString();
            dt.OnlineId     = id;
            int i = 0;

            while (i != o["cdlist"][0]["songlist"].Count())
            {
                try
                {
                    MusicInfo m = new MusicInfo()
                    {
                        Title        = o["cdlist"][0]["songlist"][i]["songname"].ToString().Replace("\\", "-").Replace("?", "").Replace("/", "").Replace(":", "").Replace("*", "").Replace("\"", "").Replace("<", "").Replace(">", "").Replace("|", ""),
                        Artist       = o["cdlist"][0]["songlist"][i]["singer"][0]["name"].ToString(),
                        GC           = o["cdlist"][0]["songlist"][i]["songid"].ToString(),
                        OnlineId     = o["cdlist"][0]["songlist"][i]["songmid"].ToString(),
                        AlbumArtPath = $"http://y.gtimg.cn/music/photo_new/T002R300x300M000{o["cdlist"][0]["songlist"][i]["albummid"]}.jpg"
                    };
                    m.Url = await GetUrlAsync(m.OnlineId);

                    dt.Musics.Add(m);
                    if (!mldata.ContainsKey(m.OnlineId))
                    {
                        mldata.Add(m.OnlineId, (m.Title + " - " + m.Artist).Replace("\\", "-").Replace("?", "").Replace("/", "").Replace(":", "").Replace("*", "").Replace("\"", "").Replace("<", "").Replace(">", "").Replace("|", ""));
                    }
                    i++;
                }
                catch { i++; }
            }
            return(dt);
        }