public static List <SongListItem> ParseSongs(string json) { try { List <SongListItem> songs = new List <SongListItem>(); JObject obj = JObject.Parse(json); JArray array = obj["results"] as JArray; for (int i = 1; i < array.Count; i++) { JObject songObject = array[i] as JObject; SongListItem song = new SongListItem(); song.Id = Convert.ToInt32(songObject["trackId"].ToString()); song.Name = songObject["trackName"].ToString(); song.ArtistName = songObject["artistName"].ToString(); song.ImageSource = new ImageSource() { Sizex30 = songObject["artworkUrl30"].ToString(), Sizex60 = songObject["artworkUrl60"].ToString(), Sizex100 = songObject["artworkUrl100"].ToString() }; songs.Add(song); } return(songs); } catch (Exception) { return(null); } }
private void RemovePlatformBase(PlatformData platform) { List <ListViewItem> toremove = new List <ListViewItem>(); foreach (ListViewItem songitem in SongList.Items) { SongListItem songtag = songitem.Tag as SongListItem; List <FormatData> ftoremove = new List <FormatData>(); foreach (FormatData data in songtag.Data) { if (data.PlatformData == platform) { ftoremove.Add(data); } } if (ftoremove.Count > 0) { toremove.Add(songitem); } foreach (FormatData data in ftoremove) { songtag.RemoveData(data); } } foreach (ListViewItem item in toremove) { SongList.Items.Remove(item); } }
private void HandleMostrarMusicaClick(object sender, RoutedEventArgs e) { object selected = lvSelecionadas.SelectedItem; if (selected != null) { SongListItem songListItem = selected as SongListItem; PlayingSong = PlayingSong.CreateInstance(songListItem.Song); dpPlayingSong.DataContext = PlayingSong; if (PresentationWindow == null) { PresentationWindow = new PresentationWindow(PresentationController, ResourceConfiguration, StateConfiguration); PresentationController.SetKeyEvents(PresentationWindow); StateConfiguration.UpdatePresentationWindowPosition(Left, Top, ActualWidth, ActualHeight, PresentationWindow.Width, PresentationWindow.Height); PresentationWindow.Left = StateConfiguration.PresentationWindowLeft; PresentationWindow.Top = StateConfiguration.PresentationWindowTop; PresentationWindow.Show(); } PresentationWindow.Visibility = Visibility.Visible; PresentationHidden = false; HandlePresentationWindowButtons(); PresentationController.ChangeSong(PlayingSong); } }
private void SongList_DrawSubItem(object sender, DrawListViewSubItemEventArgs e) { if (e.ColumnIndex == 5) { e.DrawBackground(); SongListItem item = e.Item.Tag as SongListItem; int x = e.Bounds.X; if (item.Images.Images[0]) { e.Graphics.DrawImage(Properties.Resources.IconFolder, x, e.Bounds.Y, 16, 16); } x += 20; if (SD != null) { if (item.Images.Images[1]) { e.Graphics.DrawImage(Properties.Resources.IconRSD, x, e.Bounds.Y, 16, 16); } x += 20; } if (item.Images.Game != Game.Unknown) { e.Graphics.DrawImage(item.Images.GameImage, x, e.Bounds.Y, 16, 16); } } else { e.DrawDefault = true; } }
public void ListView_ItemTapped(System.Object sender, Xamarin.Forms.ItemTappedEventArgs e) { SongListItem sli = SongsModel.userList[e.ItemIndex]; string uri = "https://www.smule.com" + sli.DownloadUri; Browser.OpenAsync(uri, BrowserLaunchMode.SystemPreferred); }
public MediaPlayerPlaylistItem(SongListItem songListItem) { this.Id = songListItem.Id; this.Title = songListItem.SongName; this.PlayableUrl = songListItem.PlayableUrl; this.ImageUrl = songListItem.ImageUrl; }
/// <summary> /// 搜索函数 /// </summary> /// <param name="Query">必选,关键字</param> /// <param name="PageNumber">可选,页码,默认为1</param> /// <param name="PageSize">可选,每页数据条数,默认为20</param> /// <returns>结果</returns> public static ResultData Search(string Query, int PageNumber = 1, int PageSize = 10) { HttpWebRequest Req; HttpWebResponse Rep; try { Req = (HttpWebRequest)WebRequest.Create(@"http://search.5sing.kugou.com/home/json?keyword=" + HttpUtility.UrlEncode(Query, Encoding.UTF8) + "&sort=1&page=" + PageNumber + "&filter=0&type=0"); Rep = (HttpWebResponse)Req.GetResponse(); StreamReader Reader = new StreamReader(Rep.GetResponseStream()); string str = Reader.ReadToEnd(); str = str.Replace("<em class=\\\\\\\"keyword\\\\\\\">", "").Replace("<\\/em>", ""); JObject p = JObject.Parse(str); ResultData Result = new ResultData { List1 = new List <SongListItem>() }; Result.Tot = int.Parse(p["pageInfo"]["totalCount"].ToString()); foreach (var songinfo in p["list"]) { SongListItem SLI = new SongListItem { Album1 = "", Singer1 = songinfo["singer"].ToString(), SongId1 = songinfo["songId"].ToString(), SongName1 = songinfo["songName"].ToString(), Lrc1 = "", Quality1 = new QualityList(), Pic1 = new SongPic(), SongInterval1 = "" }; SLI.Quality1.Qother = true; SLI.Quality1.Sother = songinfo["songSize"].ToString(); SLI.Quality1.Fother = songinfo["typeEname"].ToString() + "-" + songinfo["songId"].ToString(); Result.List1.Add(SLI); } return(Result); } catch (Exception ex) { return(new ResultData()); } }
public async Task Download(SongListItem obj) { SmuleClient client = new SmuleClient(); if (Device.RuntimePlatform == Device.Android) { DependencyService.Get <ISaveFile>().SaveFile(); //string thePath = Environment..GetExternalStoragePublicDirectory(Environment.DirectoryDocuments).AbsolutePath Environment.GetFolderPath(Environment.SpecialFolder.); await client.DownloadSong(obj.DownloadUri, obj.Title, "/storage/emulated/0/Music/"); } if (Device.RuntimePlatform == Device.iOS) { string downloadPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); downloadPath = Path.Combine(downloadPath, "Music"); if (!Directory.Exists(downloadPath)) { Directory.CreateDirectory(downloadPath); } //ToDo //There is some trouble with file.exists // if(!File.Exists(Path.Combine(downloadPath,obj.Title + ".mp4"))) var progress = new Progress <float>(); progress.ProgressChanged += Download_Progress_Changed; await client.DownloadSong(obj.DownloadUri, ReplaceIllegal(obj.Title, "_") + "_" + ReplaceIllegal(obj.Performare, "_"), downloadPath, obj.progress); } }
public static List <SongListItem> ParseTopSongs(string json) { try { List <SongListItem> songs = new List <SongListItem>(); JObject obj = JObject.Parse(json); JArray array = (obj["feed"])["entry"] as JArray; for (int i = 0; i < array.Count; i++) { JObject songObject = array[i] as JObject; SongListItem song = new SongListItem(); song.Sort = i + 1; song.Id = Convert.ToInt32(((songObject["id"])["attributes"])["im:id"].ToString()); song.Name = (songObject["im:name"])["label"].ToString(); int colID = 0; try { string collectionID = (((songObject["im:collection"])["link"])["attributes"])["href"].ToString(); string[] split = collectionID.Split('/'); string[] split2 = split[split.Length - 1].Split('?'); colID = Convert.ToInt32(split2[0].Replace("id", "")); } catch { } int artID = 0; try { string artistID = ((songObject["im:artist"])["attributes"])["href"].ToString(); string[] split = artistID.Split('/'); string[] split2 = split[split.Length - 1].Split('?'); artID = Convert.ToInt32(split2[0].Replace("id", "")); } catch { } try { song.ArtistName = (songObject["im:artist"])["label"].ToString(); song.ImageSource = new ImageSource() { Sizex30 = ((songObject["im:image"])[0])["label"].ToString(), Sizex60 = ((songObject["im:image"])[1])["label"].ToString(), Sizex100 = ((songObject["im:image"])[2])["label"].ToString() }; } catch { } song.ReleaseDate = Convert.ToDateTime((songObject["im:releaseDate"])["label"].ToString()); song.Sort = i + 1; songs.Add(song); } return(songs); } catch (Exception) { return(null); } }
public void Add(SongListItem song) { if (this.Playlist.Any(x => x.Id == song.Id)) { // Song already in the playlist return; } this.Playlist.Add(new MediaPlayerPlaylistItem(song)); this.Change(); }
public TestViewModel() { TestCommand = new Command((key) => { // Add the key to the input string. /*Random generator = new Random(); * setProgress(0, Double.Parse(generator.Next(0,100).ToString()));*/ setProgress(0, 100); }); Download_Clicked = new Command((key) => { }); SongListItem sli = new SongListItem(); { sli.DownloadUri = "http://www.testdownload.de"; sli.IsDownloaded = false; sli.MediaUri = "http://www.testmediadownload.de"; sli.PerformanceDate = "10.10.2010"; sli.Performare = "Niclani"; sli.Progress = 0; sli.Title = "Sing with me"; sli.IsDownloading = false; } SongListItem sli2 = new SongListItem(); { sli2.DownloadUri = "http://www.testdownload.de"; sli2.IsDownloaded = true; sli2.MediaUri = "http://www.testmediadownload.de"; sli2.PerformanceDate = "19.10.2010"; sli2.Performare = "Niclani"; sli2.Progress = 100; sli2.Title = "Sing with me again"; sli2.IsDownloading = false; } SongListItem sli3 = new SongListItem(); { sli3.DownloadUri = "http://www.testdownload.de"; sli3.IsDownloaded = false; sli3.MediaUri = "http://www.testmediadownload.de"; sli3.PerformanceDate = "19.10.2010"; sli3.Performare = "Niclani"; sli3.Progress = 50; sli3.Title = "Half way done"; sli3.IsDownloading = true; } testListe.Add(sli); testListe.Add(sli2); testListe.Add(sli3); }
private void PrepareAllSongs() { foreach (NoteChart nc in allNoteCharts) { GameObject createdSong = GameObject.Instantiate(songPrefab); createdSong.transform.SetParent(songListTransform); createdSong.transform.localScale = new Vector3(1, 1, 1); SongListItem sli = createdSong.GetComponent <SongListItem>(); sli.noteChart = nc; } }
/// <summary> /// 搜索函数 /// </summary> /// <param name="Query">必选,关键字</param> /// <param name="PageNumber">可选,页码,默认为1</param> /// <param name="PageSize">可选,每页数据条数,默认为20</param> /// <returns>结果</returns> public static ResultData Search(string Query, int PageNumber = 1, int PageSize = 20) { HttpWebRequest Req; HttpWebResponse Rep; try { Req = (HttpWebRequest)WebRequest.Create(@"http://songsearch.kugou.com/song_search_v2?clientver=8018&keyword=" + HttpUtility.UrlEncode(Query, Encoding.UTF8) + @"&pagesize=" + PageSize + @"&page=" + PageNumber); Rep = (HttpWebResponse)Req.GetResponse(); StreamReader Reader = new StreamReader(Rep.GetResponseStream()); string str = Reader.ReadToEnd(); JObject p = JObject.Parse(str); ResultData Result = new ResultData { List1 = new List <SongListItem>() }; Result.Tot = int.Parse(p["data"]["total"].ToString()); foreach (var songinfo in p["data"]["lists"]) { SongListItem SLI = new SongListItem { Album1 = songinfo["AlbumName"].ToString(), Singer1 = songinfo["SingerName"].ToString(), SongId1 = songinfo["ID"].ToString(), SongName1 = songinfo["SongName"].ToString(), Lrc1 = "", Quality1 = new QualityList(), Pic1 = new SongPic(), SongInterval1 = songinfo["Duration"].ToString() }; SLI.Lrc1 = "http://lyrics.kugou.com/search?ver=1&man=yes&client=pc&keyword=" + HttpUtility.UrlEncode(songinfo["SingerName"].ToString() + "-" + songinfo["SongName"].ToString(), Encoding.UTF8) + "&duration=" + songinfo["Duration"].ToString() + "000&hash=" + songinfo["FileHash"].ToString(); if (songinfo["FileHash"].ToString() != "00000000000000000000000000000000") { SLI.Quality1.Q128 = true; SLI.Quality1.S128 = songinfo["FileSize"].ToString(); SLI.Quality1.F128 = songinfo["FileHash"].ToString(); } if (songinfo["HQFileHash"].ToString() != "00000000000000000000000000000000") { SLI.Quality1.Q320 = true; SLI.Quality1.S320 = songinfo["HQFileSize"].ToString(); SLI.Quality1.F320 = songinfo["HQFileHash"].ToString(); } if (songinfo["SQFileHash"].ToString() != "00000000000000000000000000000000") { SLI.Quality1.Ape = true; SLI.Quality1.Sape = songinfo["SQFileSize"].ToString(); SLI.Quality1.Fape = songinfo["SQFileHash"].ToString(); } Result.List1.Add(SLI); } return(Result); } catch (Exception ex) { return(new ResultData()); } }
public void ToolTipGetter_ForActiveSong_ReturnsNull() { // Arrange var song = new SongModel(); var target = new SongListItem(song); // Act var toolTip = target.ToolTip; // Assert toolTip.Should().BeNull(); }
private void UpdateSongListBase(PlatformData data) { SongListItem item; foreach (FormatData song in data.GetChanges(false)) { SongData songdata = song.Song; item = null; foreach (ListViewItem songitem in SongList.Items) { SongListItem songtag = songitem.Tag as SongListItem; if (songtag.SongID == songdata.ID) { item = songtag; break; } } if (item == null) { ListViewItem listitem = new ListViewItem(""); listitem.Tag = new SongListItem(listitem, song, songdata); SongList.Items.Add(listitem); } else { item.AddData(song, songdata); } } foreach (FormatData song in data.GetChanges(true)) { foreach (ListViewItem songitem in SongList.Items) { item = songitem.Tag as SongListItem; if (item != null && item.HasData(song)) { item.RemoveData(song); if (!item.HasData()) { SongList.Items.Remove(songitem); } break; } } } }
private void MenuSongsEdit_Click(object sender, EventArgs e) { foreach (FormatData data in GetSelectedSongData()) { EditForm.Show(data, data.PlatformData == Storage, false, this); } foreach (ListViewItem listitem in SongList.SelectedItems) { SongListItem item = listitem.Tag as SongListItem; if (item != null) { item.Update(); } } SongListTimer_Tick(SongList, EventArgs.Empty); }
public void BitRateGetter_ForActiveSong_ReturnsCorrectValue() { // Arrange var song = new SongModel { BitRate = 320000, }; var target = new SongListItem(song); // Act var bitRate = target.BitRate; // Assert bitRate.Should().Be("320"); }
private void MenuSongsRefresh_Click(object sender, EventArgs e) { List <FormatData> list = new List <FormatData>(); foreach (var song in GetSelectedSongs()) { list.AddRange(song.Data); } if (list.Count == 0) { if (Storage != null) { list.AddRange(Storage.Songs); } foreach (PlatformData platform in Platforms) { list.AddRange(platform.Songs); } } QueueRefresh(list); List <ListViewItem> items; if (SongList.SelectedItems.Count == 0) { items = new List <ListViewItem>(SongList.Items.OfType <ListViewItem>()); } else { items = new List <ListViewItem>(SongList.SelectedItems.OfType <ListViewItem>()); } foreach (ListViewItem listitem in items) { SongListItem item = listitem.Tag as SongListItem; if (item != null) { item.Update(); } } SongListTimer_Tick(SongList, EventArgs.Empty); }
public void FileSizeGetter_ForActiveSong_ReturnsCorrectValue() { // Arrange var song = new SongModel { Size = 123456789, }; var target = new SongListItem(song); // Act var bitRate = target.FileSize; // Assert bitRate.Should().Be("117.7 MB"); }
public void FileSizeGetter_ForDeletedSong_ReturnsCorrectValue() { // Arrange var song = new SongModel { Size = null, DeleteDate = new DateTime(2021, 10, 25), }; var target = new SongListItem(song); // Act var bitRate = target.FileSize; // Assert bitRate.Should().Be("N/A"); }
public void ToolTipGetter_ForDeletedSongWithoutDeleteComment_ReturnsCorrectValue() { // Arrange var song = new SongModel { DeleteDate = new DateTime(2021, 10, 26), DeleteComment = null, }; var target = new SongListItem(song); // Act var toolTip = target.ToolTip; // Assert toolTip.Should().Be("The song was deleted on 2021.10.26 without comment"); }
GetFavorites() { SmuleClient client = new SmuleClient(); IsBusy = true; List <SmuleLib.Model.List> favSongs = await client.GetFavoritesAsync(userName, _count); IsBusy = false; if (Device.RuntimePlatform == Device.iOS) { string downloadPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); downloadPath = Path.Combine(downloadPath, "Music"); Random rnd = new Random(); foreach (SmuleLib.Model.List song in favSongs) { SongListItem item = new SongListItem(); item.Title = song.title; item.Performare = song.other_performers.Length > 0 ? (song.other_performers[0].handle + " - " + song.owner.handle) : song.owner.handle; item.PerformanceDate = song.created_at.ToString(); item.PerformareGroup = song.owner.handle; item.DownloadUri = song.web_url; item.Progress = rnd.Next(0, 100); string path = Path.Combine(downloadPath, ReplaceIllegal(item.Title, "_") + "_" + ReplaceIllegal(item.Performare, "_") + ".mp4"); if (!item.IsDownloaded && File.Exists(path)) { System.IO.FileInfo fi = new FileInfo(path); if (fi.Length > 500000) { item.IsDownloaded = true; } else { fi.Delete(); } } userList.Add(item); } } }
public void Start() { ScoreStore.LoadOffline(); if (BeatmapStore.Beatmaps == null) { BeatmapStore.LoadAll(); } SongListItemRect = SongListItemPrefab.GetComponent <RectTransform>().rect; ScoreListItemRect = ScoreListItemPrefab.GetComponent <RectTransform>().rect; AddItemsToList( BeatmapStore.Beatmaps.Count, SongListItemPrefab, VerticalSongSelectListPosition, SongListContentTransform, (GameObject songListItem, int index) => { SongListItem item = songListItem.GetComponent <SongListItem>(); item.Load(); item.SetBeatmapInfo(BeatmapStore.Beatmaps[index]); item.SelectedChange(false); } ); if (first) { Selected = UnityEngine.Random.Range(0, BeatmapStore.Beatmaps.Count); } else { Selected = Selected; } isStart = false; first = false; }
/// <summary> /// 获取歌曲文件 /// </summary> /// <param name="Result">必选,搜索结果</param> /// <returns>结果</returns> public static SongListItem GetSong(SongListItem Result) { HttpWebRequest Req; HttpWebResponse Rep; try { byte[] param = Encoding.UTF8.GetBytes("param=" + Convert.ToBase64String(Encoding.UTF8.GetBytes("{\"key\":\"" + Result.SongId1 + "\",\"rate\":\"128,192,256,320,flac\",\"linkType\":0,\"isCloud\":0,\"version\":\"10.1.8.3\"}"))); Req = (HttpWebRequest)WebRequest.Create(@"http://musicmini2014.baidu.com/2016/app/link/getLinks.php"); Req.Method = "POST"; Req.ContentType = "application/x-www-form-urlencoded"; Req.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.2; WOW64; Trident/7.0)"; Stream reqstream = Req.GetRequestStream(); reqstream.Write(param, 0, param.Length); reqstream.Close(); Rep = (HttpWebResponse)Req.GetResponse(); StreamReader Reader = new StreamReader(Rep.GetResponseStream()); string str = Reader.ReadToEnd(); JObject p = JObject.Parse(str); Result.Lrc1 = p["lyric_url"].ToString(); Result.Pic1.Large1 = p["album_image_url"].ToString(); Result.Pic1.Middle1 = Regex.Split(p["album_image_url"].ToString(), ",")[0] + ",w_250"; Result.Pic1.Small1 = p["small_album_image_url"].ToString(); string[] Songfilelist = Regex.Split(p["file_list"].ToString().Replace("[", "").Replace("]", "").Replace("\r\n", "").Replace(" ", ""), "},{"); for (int i = 0; i < Songfilelist.Length; i++) { if (i != 0 && i != Songfilelist.Length - 1) { Songfilelist[i] = "{" + Songfilelist[i] + "}"; } else { if (i == 0 && i != Songfilelist.Length - 1) { Songfilelist[i] = Songfilelist[i] + "}"; } else { if (i == Songfilelist.Length - 1 && i != 0) { Songfilelist[i] = "{" + Songfilelist[i]; } } } JObject songdinfo = JObject.Parse(Songfilelist[i]); if (int.Parse(songdinfo["kbps"].ToString()) <= 320) { switch (int.Parse(songdinfo["kbps"].ToString())) { case 128: Result.Quality1.F128 = @"http://zhangmenshiting.baidu.com/data2/music/" + songdinfo["file_id"] + @"/" + songdinfo["file_id"] + @".mp3"; Result.Quality1.S128 = songdinfo["size"].ToString(); break; case 192: Result.Quality1.F192 = @"http://zhangmenshiting.baidu.com/data2/music/" + songdinfo["file_id"] + @"/" + songdinfo["file_id"] + @".mp3"; Result.Quality1.S192 = songdinfo["size"].ToString(); break; case 256: Result.Quality1.F256 = @"http://zhangmenshiting.baidu.com/data2/music/" + songdinfo["file_id"] + @"/" + songdinfo["file_id"] + @".mp3"; Result.Quality1.S256 = songdinfo["size"].ToString(); break; case 320: Result.Quality1.F320 = @"http://zhangmenshiting.baidu.com/data2/music/" + songdinfo["file_id"] + @"/" + songdinfo["file_id"] + @".mp3"; Result.Quality1.S320 = songdinfo["size"].ToString(); break; } } else { Result.Quality1.Fflac = @"http://zhangmenshiting.baidu.com/data2/music/" + songdinfo["file_id"] + @"/" + songdinfo["file_id"] + @".flac"; Result.Quality1.Sflac = songdinfo["size"].ToString(); } } return(Result); } catch (Exception ex) { return(Result); } }
/// <summary> /// 搜索函数 /// </summary> /// <param name="Query">必选,关键字</param> /// <param name="PageNumber">可选,页码,默认为1</param> /// <param name="PageSize">可选,每页数据条数,默认为20</param> /// <returns>结果</returns> public static ResultData Search(string Query, int PageNumber = 1, int PageSize = 20) { HttpWebRequest Req; HttpWebResponse Rep; try { Req = (HttpWebRequest)WebRequest.Create(@"http://c.y.qq.com/soso/fcgi-bin/search_cp?remoteplace=txt.yqq.center&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=" + PageNumber + "&n=" + PageSize + "&w=" + HttpUtility.UrlEncode(Query, Encoding.UTF8) + @"&format=json&inCharset=utf8&outCharset=utf-8&platform=yqq"); Rep = (HttpWebResponse)Req.GetResponse(); StreamReader Reader = new StreamReader(Rep.GetResponseStream()); string str = Reader.ReadToEnd(); JObject p = JObject.Parse(str); ResultData Result = new ResultData { List1 = new List <SongListItem>() }; Result.Tot = int.Parse(p["data"]["song"]["totalnum"].ToString()); foreach (var songinfo in p["data"]["song"]["list"]) { SongListItem SLI = new SongListItem { Album1 = songinfo["albumname"].ToString(), Singer1 = "", SongId1 = songinfo["songmid"].ToString(), SongName1 = songinfo["songname"].ToString(), Lrc1 = "", Quality1 = new QualityList(), Pic1 = new SongPic(), SongInterval1 = songinfo["interval"].ToString() }; SLI.Pic1.Large1 = "https://y.gtimg.cn/music/photo_new/T002R800x800M000" + songinfo["albummid"].ToString() + ".jpg?max_age=2592000"; SLI.Pic1.Middle1 = "https://y.gtimg.cn/music/photo_new/T002R500x500M000" + songinfo["albummid"].ToString() + ".jpg?max_age=2592000"; SLI.Pic1.Small1 = "https://y.gtimg.cn/music/photo_new/T002R200x200M000" + songinfo["albummid"].ToString() + ".jpg?max_age=2592000"; SLI.Lrc1 = "https://c.y.qq.com/lyric/fcgi-bin/fcg_query_lyric_new.fcg?format=json&platform=yqq&g_tk=938407465&songmid=" + songinfo["songmid"].ToString(); if (int.Parse(songinfo["type"].ToString()) == 0) { if (int.Parse(songinfo["size128"].ToString()) != 0) { SLI.Quality1.Q128 = true; SLI.Quality1.S128 = songinfo["size128"].ToString(); SLI.Quality1.F128 = "http://dl.stream.qqmusic.qq.com/M500" + songinfo["songmid"].ToString() + ".mp3"; } if (int.Parse(songinfo["size320"].ToString()) != 0) { SLI.Quality1.Q320 = true; SLI.Quality1.S320 = songinfo["size320"].ToString(); SLI.Quality1.F320 = "http://dl.stream.qqmusic.qq.com/M800" + songinfo["songmid"].ToString() + ".mp3"; } //接口不支持获取无损歌曲 //if (int.Parse(songinfo["sizeape"].ToString()) != 0) //{ // SLI.Quality1.Ape = true; // SLI.Quality1.Sape = songinfo["sizeape"].ToString(); // SLI.Quality1.Fape = "http://dl.stream.qqmusic.qq.com/A000" + songinfo["songmid"].ToString() + ".ape"; //} //if (int.Parse(songinfo["sizeflac"].ToString()) != 0) //{ // SLI.Quality1.Flac = true; // SLI.Quality1.Sflac = songinfo["sizeflac"].ToString(); // SLI.Quality1.Fflac = "http://dl.stream.qqmusic.qq.com/F000" + songinfo["songmid"].ToString() + ".flac"; //} } else { if (int.Parse(songinfo["type"].ToString()) == 2) { SLI.Quality1.Qother = true; SLI.Quality1.Fother = songinfo["songurl"].ToString(); } } SLI.Singer1 = songinfo["singer"][0]["name"].ToString(); Result.List1.Add(SLI); } return(Result); } catch (Exception ex) { return(new ResultData()); } }
public void AddAndPlay(SongListItem song) { this.AddAndPlay(new MediaPlayerPlaylistItem(song)); }
private void ServerClicked(TableView sender, SongListItem songListItem) { SongSelected?.Invoke(songListItem.parameters); }
private void LoadSongListFromResource() { SongList = StateConfiguration.SongList; var songList = new SongList(SongController.GetSongs(ResourceConfiguration).Select(s => SongListItem.CreateInstance(s))); if (SongList != null) { foreach (var song in songList) { var found = SongList.FirstOrDefault(s => s.AreSame(song)); if (found != null) { song.Selected = found.Selected; } } } SongList = songList; StateConfiguration.SongList = SongList; StateConfiguration.Save(); }
private void HandlePlaylistHolding(object sender, HoldingRoutedEventArgs e) { SongListItem.CloseExpandedEntry(); PlaylistListView.ReorderMode = ListViewReorderMode.Enabled; }
private void HandlePlaylistReorderToggleButtonClick(object sender, RoutedEventArgs e) { SongListItem.CloseExpandedEntry(); }