예제 #1
0
        public List <HtmlNodesClass> XmlReader(string ListType)
        {
            XDocument             xdoc          = XDocument.Load(ApplicationData.Current.LocalFolder.Path + "\\Xml" + "\\" + ListType + ".xml");
            XElement              xElement      = XElement.Parse(xdoc.Document.ToString());
            List <HtmlNodesClass> htmlNodesList = new List <HtmlNodesClass>();

            var root = from x in xElement.DescendantsAndSelf("Item") select x;

            foreach (var item in root)
            {
                HtmlNodesClass htmlNodes = new HtmlNodesClass
                {
                    ID             = item.Element("ID").Value.Trim(),
                    Date           = item.Element("Date").Value.Trim(),
                    LocalImagePath = item.Element("LocalImagePath").Value.Trim(),
                    NetImagePath   = item.Element("NetImagePath").Value.Trim(),
                    TitleCN        = item.Element("TitleCN").Value.Trim(),
                    TitleEN        = item.Element("TitleEN").Value.Trim(),
                    Brief          = item.Element("Brief").Value.Trim()
                };

                htmlNodesList.Add(htmlNodes);
            }
            return(htmlNodesList);
        }
예제 #2
0
        private async void PlayBtn_Click(object sender, RoutedEventArgs e)
        {
            ListViewItem   listViewItem = new ObjectFinder().GetParentObject <ListViewItem>((AppBarButton)sender, "");
            HtmlNodesClass content      = (HtmlNodesClass)listViewItem.DataContext;

            List <LyricClass> lyricClasses = await new LyricCreator().GetVOALyric(content.ID);

            Ins_PlayItem.ins_PlayItem.ID             = content.ID;
            Ins_PlayItem.ins_PlayItem.Date           = content.Date;
            Ins_PlayItem.ins_PlayItem.TitleEN        = content.TitleEN;
            Ins_PlayItem.ins_PlayItem.TitleCN        = content.TitleCN;
            Ins_PlayItem.ins_PlayItem.NetImagePath   = content.NetImagePath;
            Ins_PlayItem.ins_PlayItem.LocalImagePath = content.LocalImagePath;
            Ins_PlayItem.ins_PlayItem.Lyric          = lyricClasses;
            //Ins_PlayItem.ins_PlayItem.TotalTime= Convert.ToInt32(Ins_PlayItem.ins_PlayItem.Lyric[Ins_PlayItem.ins_PlayItem.Lyric.Count() - 1].Timing);
            Ins_PlayItem.ins_PlayItem.Status = "play";

            //Ins_PlayItem.mediaPlayer.Source = MediaSource.CreateFromUri(new Uri("http://static.iyuba.com/sounds/minutes/" + Ins_PlayItem.ins_PlayItem.ID + ".mp3"));
            //Ins_PlayItem.mediaPlayer.Source = MediaSource.CreateFromUri(new Uri("http://118.190.169.68/sounds/voa/" + Ins_PlayItem.ins_PlayItem.Date.Split('-')[0] + Ins_PlayItem.ins_PlayItem.Date.Split('-')[1] + "/" + Ins_PlayItem.ins_PlayItem.ID + ".mp3"));
            MediaSource mediaSource = MediaSource.CreateFromUri(new Uri("http://118.190.169.68/sounds/voa/" + Ins_PlayItem.ins_PlayItem.Date.Split('-')[0] + Ins_PlayItem.ins_PlayItem.Date.Split('-')[1] + "/" + Ins_PlayItem.ins_PlayItem.ID + ".mp3"));

            Ins_PlayItem.mediaPlaybackItem = new MediaPlaybackItem(mediaSource);

            var props = Ins_PlayItem.mediaPlaybackItem.GetDisplayProperties();

            props.Type = Windows.Media.MediaPlaybackType.Music;

            props.MusicProperties.Title  = content.TitleCN;
            props.MusicProperties.Artist = content.TitleEN;
            props.Thumbnail = RandomAccessStreamReference.CreateFromUri(new Uri(content.NetImagePath));
            Ins_PlayItem.mediaPlaybackItem.ApplyDisplayProperties(props);
            Ins_PlayList.mediaPlaybackList.Items.Add(Ins_PlayItem.mediaPlaybackItem);
            Ins_PlayItem.mediaPlayer.Source = Ins_PlayList.mediaPlaybackList;
            Ins_PlayItem.mediaPlayer.Play();
        }
예제 #3
0
        private static List <HtmlNodesClass> VOAClassWriter(HtmlNodeCollection html_li)
        {
            List <HtmlNodesClass> htmlNodesList = new List <HtmlNodesClass>();

            foreach (var li in html_li)
            {
                HtmlNodesClass htmlNodes = new HtmlNodesClass();

                htmlNodes.ID           = li.SelectSingleNode(".//a").Attributes["href"].Value.Split('_')[2].Split('.')[0].ToString();
                htmlNodes.TitleCN      = li.SelectSingleNode(".//a/div[@class='caption']//span[@class='desc_cn']").InnerText.Split('】')[1];
                htmlNodes.TitleEN      = li.SelectSingleNode(".//a//div[@class='caption']//span[@class='desc_en']").InnerText;
                htmlNodes.NetImagePath = li.SelectSingleNode(".//a//div[@class='image ']//img").Attributes["src"].Value.ToString();
                htmlNodes.Date         = li.SelectSingleNode(".//a//div[@class='caption']//span[@class='date']").InnerText;

                htmlNodesList.Add(htmlNodes);
            }
            return(htmlNodesList);
        }
예제 #4
0
        private static List <HtmlNodesClass> BBCClassWriter(HtmlNodeCollection html_a)
        {
            List <HtmlNodesClass> htmlNodesList = new List <HtmlNodesClass>();

            foreach (var a in html_a)
            {
                HtmlNodesClass htmlNodes = new HtmlNodesClass
                {
                    ID           = a.Attributes["href"].Value.Split('_')[2].Split('.')[0].ToString(),
                    TitleCN      = a.SelectSingleNode(".//dl//dd//h2//strong").InnerText,
                    TitleEN      = a.SelectSingleNode(".//dl//dd//h2//span").InnerText,
                    Brief        = a.SelectSingleNode(".//dl//dd//p").InnerText,
                    NetImagePath = a.SelectSingleNode(".//dl//dt//img").Attributes["src"].Value.ToString(),
                    Date         = a.SelectSingleNode(".//dl//dd//ul//li[@class='deta']").InnerText,
                    View         = a.SelectSingleNode(".//dl//dd//ul//li[1]").InnerText
                };
                htmlNodesList.Add(htmlNodes);
            }
            return(htmlNodesList);
        }