Exemplo n.º 1
0
        //Lấy thông tin bài hát Top 100
        private void layThongTin(int stt, HtmlNode item, string what)
        {
            CauHinh.ThongTinBaiHat baiHat = new CauHinh.ThongTinBaiHat();
            var khungThongTin             = item.QuerySelector("div.box_info_field");
            //Lấy thông tin chính
            var thongTin = khungThongTin.QuerySelector("a");

            baiHat.urlBai = thongTin.Attributes["href"].Value;
            //Lấy hình, tên, ca sĩ
            var hinh = thongTin.QuerySelector("img");

            if (what == "top100")
            {
                baiHat.urlHinh = hinh.Attributes["data-src"].Value;
            }
            else
            {
                baiHat.urlHinh = hinh.Attributes["src"].Value;
            }
            var arr = hinh.Attributes["title"].Value.Split('-');

            baiHat.tenBaiHat = arr[0];
            baiHat.tenCaSi   = arr[1];

            TableLayoutPanel panel = customView(stt, baiHat);

            fpnlMain.Controls.Add(panel);
        }
Exemplo n.º 2
0
        private void LblBai_Click(object sender, EventArgs e)
        {
            Label lbl = sender as Label;

            viTri = Convert.ToInt32(lbl.Parent.Parent.Controls[0].Text);
            CauHinh.ThongTinBaiHat baiHat = lbl.Parent.Parent.Tag as CauHinh.ThongTinBaiHat;
            choiNhac(baiHat);
        }
Exemplo n.º 3
0
        private void Picture_Click(object sender, EventArgs e)
        {
            PictureBox pic = sender as PictureBox;

            viTri = Convert.ToInt32(pic.Parent.Controls[0].Text);
            CauHinh.ThongTinBaiHat baiHat = pic.Parent.Tag as CauHinh.ThongTinBaiHat;
            choiNhac(baiHat);
        }
Exemplo n.º 4
0
        private void Panel_Click(object sender, EventArgs e)
        {
            TableLayoutPanel panel = sender as TableLayoutPanel;

            viTri = Convert.ToInt32(panel.Controls[0].Text);
            CauHinh.ThongTinBaiHat baiHat = panel.Tag as CauHinh.ThongTinBaiHat;
            choiNhac(baiHat);
        }
Exemplo n.º 5
0
        //Lấy thông tin bài hát theo thể loại
        private void layThongTinTheoTheLoai(int stt, HtmlNode item)
        {
            CauHinh.ThongTinBaiHat baiHat = new CauHinh.ThongTinBaiHat();
            var      khungThongTin        = item.QuerySelector("div.item_content");
            HtmlNode main;

            //Lấy thông tin chính
            main = khungThongTin.QuerySelector("h2");
            if (main == null)
            {
                main = khungThongTin.QuerySelector("h3");
            }
            var thongTin = main.QuerySelectorAll("a").ToList();

            for (int i = 0; i < thongTin.Count; i++)
            {
                if (i == 0)
                {
                    baiHat.urlBai    = thongTin[i].Attributes["href"].Value;
                    baiHat.tenBaiHat = thongTin[i].InnerText;
                    continue;
                }
                if (thongTin.Count == 2)
                {
                    baiHat.tenCaSi += thongTin[i].InnerText;
                    continue;
                }
                else
                {
                    if (i == thongTin.Count)
                    {
                        baiHat.tenCaSi += thongTin[i].InnerText;
                    }
                    else
                    {
                        baiHat.tenCaSi += thongTin[i].InnerText + ",";
                    }
                }
            }
            //Lấy hình, tên, ca sĩ
            baiHat.urlHinh = null;
            TableLayoutPanel panel = customView(stt, baiHat);

            panel.Tag = baiHat;
            fpnlMain.Controls.Add(panel);
        }
Exemplo n.º 6
0
        //Choi nhac
        private void choiNhac(CauHinh.ThongTinBaiHat baiHat)
        {
            JSON = new Dictionary <string, string>();
            WebClient client = new WebClient();

            client.Encoding = Encoding.UTF8;
            string url;

            if (baiHat.urlBai.Contains("?"))
            {
                string viTri = baiHat.urlBai.Substring(baiHat.urlBai.LastIndexOf("=") + 1);
                htmlDocument = htmlWeb.Load(baiHat.urlBai);
                HtmlNode liID = htmlDocument.DocumentNode.QuerySelector("li#itemSong_" + viTri);
                var      meta = liID.QuerySelectorAll("meta").ToList();
                var      link = meta[1].Attributes["content"].Value;
                url = CauHinh.urlAPI + link;
            }
            else
            {
                url = CauHinh.urlAPI + baiHat.urlBai;
            }

            try
            {
                string content = client.DownloadString(url);
                content = content.Substring(content.IndexOf("{") + 1);
                content = content.Substring(0, content.IndexOf("}"));

                var arr = content.Split(',');
                foreach (string line in arr)
                {
                    string x = line.Replace("\"", "").Replace("\\", "") + "\n";
                    try
                    {
                        JSON.Add(x.Substring(0, x.IndexOf(":")), x.Substring(x.IndexOf(":") + 1));
                    }
                    catch
                    {
                        JSON.Add(x, x);
                    }
                }
                wmpMedia.URL = JSON["link128"];
                //frm.wmpMedia.Ctlcontrols.play();
            }
            catch (Exception ex)
            {
                MessageBox.Show(CauHinh.CString.loi + "\n Mở bài thất bại.",
                                CauHinh.CString.thongBao,
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
            }
            //Load thong tin
            picHinh.ImageLocation = baiHat.urlHinh;
            lblTenBaiHat.Text     = baiHat.tenBaiHat;
            lblTenCaSi.Text       = baiHat.tenCaSi;
            //Load control
            btnPlayPause.BackgroundImage = NCTOnline.Properties.Resources.pausex48;
            thoiGianChay();
            //Doi mau che do nhac
            doiMau(128);
        }
Exemplo n.º 7
0
        //Custom view
        private TableLayoutPanel customView(int stt, CauHinh.ThongTinBaiHat baiHat)
        {
            TableLayoutPanel panel = new TableLayoutPanel();

            panel.BackColor   = Color.White;
            panel.Size        = new Size(fpnlMain.Size.Width - 30, panel.Size.Height);
            panel.RowCount    = 1;
            panel.ColumnCount = 3;
            panel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 15f));
            panel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 35f));
            panel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
            panel.RowStyles.Add(new RowStyle(SizeType.Absolute, 100F));

            Label lblSTT = new Label();

            lblSTT.Text      = stt.ToString();
            lblSTT.Dock      = DockStyle.Fill;
            lblSTT.TextAlign = ContentAlignment.MiddleCenter;
            lblSTT.AutoSize  = false;
            if (stt == 1)
            {
                lblSTT.ForeColor = Color.Red;
            }
            else if (stt == 2)
            {
                lblSTT.ForeColor = Color.Green;
            }
            else if (stt == 3)
            {
                lblSTT.ForeColor = Color.Orange;
            }
            panel.Controls.Add(lblSTT, 0, 0);

            PictureBox picture = new PictureBox();

            if (baiHat.urlHinh != null)
            {
                picture.ImageLocation = baiHat.urlHinh;
            }
            else
            {
                picture.Image = NCTOnline.Properties.Resources.musicx48;
            }
            picture.Dock     = DockStyle.Fill;
            picture.SizeMode = PictureBoxSizeMode.CenterImage;
            picture.Click   += Picture_Click;
            panel.Controls.Add(picture, 1, 0);

            TableLayoutPanel pnl = new TableLayoutPanel();

            pnl.RowStyles.Add(new RowStyle(SizeType.Percent, 50f));
            pnl.RowStyles.Add(new RowStyle(SizeType.Percent, 50f));
            pnl.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100f));
            pnl.Dock = DockStyle.Fill;
            //
            Label lblBai = new Label
            {
                Text      = baiHat.tenBaiHat,
                Dock      = DockStyle.Fill,
                TextAlign = ContentAlignment.BottomLeft,
                AutoSize  = false,
            };

            lblBai.Click += LblBai_Click;
            pnl.Controls.Add(lblBai, 0, 0);
            Label lblCaSi = new Label
            {
                Text      = baiHat.tenCaSi,
                Dock      = DockStyle.Fill,
                TextAlign = ContentAlignment.TopLeft,
                AutoSize  = false,
                ForeColor = Color.Gray
            };

            lblCaSi.Click += LblCaSi_Click;
            pnl.Controls.Add(lblCaSi, 0, 1);

            panel.Controls.Add(pnl, 2, 0);
            panel.Tag    = baiHat;
            panel.Click += Panel_Click;
            return(panel);
        }