private async void ListBox_album_Tapped(object sender, TappedRoutedEventArgs e) { CADataItem cADataItem = ((ListBox)sender).SelectedItem as CADataItem; if (cADataItem == null) { return; } if (cADataItem.id == PlayingService.PlayingListId) { Frame.Navigate(typeof(AlbumDetail)); } else { ProgressBar_loadAlbum.Visibility = Visibility.Visible; AlbumRoot albumRoot = await Task.Run(() => AlbumService.GetAlbum(cADataItem.id)); if (albumRoot == null) { ProgressBar_loadAlbum.Visibility = Visibility.Collapsed; return; } Frame.Navigate(typeof(AlbumDetail), albumRoot); ProgressBar_loadAlbum.Visibility = Visibility.Collapsed; } }
private async void Button_Album_Click(object sender, RoutedEventArgs e) { Button button = sender as Button; long id = (button.DataContext as RecordDataItem).Song.al.id; ProgressBar_Loading.Visibility = Visibility.Visible; AlbumRoot albumRoot = await Task.Run(() => AlbumService.GetAlbum(id)); ProgressBar_Loading.Visibility = Visibility.Collapsed; Frame.Navigate(typeof(AlbumDetail), albumRoot); }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); //将传过来的数据 类型转换一下 if (e.Parameter == null) { return; } albumRoot = (AlbumRoot)e.Parameter; //if (albumRoot == null) // return; LoadLayout(); }
async void UpDateSong() { _albumRoot = PlayingService.PlayingAlbum; _songsItem = PlayingService.PlayingSong; Image_album.Source = PlayingService.PlayingAlbumBitmapImage; Button_albumName.Content = _albumRoot.album.name; string name = ""; for (int i = 0; i < _songsItem.ar.Count; i++) { if (i != 0) { name += "/"; } name += _songsItem.ar[i].name; } ListBox_artists.ItemsSource = _songsItem.ar; Button_artistName.Content = name; TextBlock_songName.Text = _songsItem.Name; LyricRoot lyricRoot = await Task.Run(() => LyricService.GetLyric(_songsItem.Id)); if (lyricRoot == null) { ListBox_lyric.ItemsSource = null; return; } lyricStrs = LyricService.GetLyricStrs(lyricRoot); if (lyricStrs != null) { if (lyricStrs.Count == 0) { DateTime dateTime = DateTime.Now; lyricStrs.Add(new LyricStr() { DateTime = dateTime, Original = "无歌词" }); } ListBox_lyric.ItemsSource = lyricStrs; ListBox_lyric.ScrollIntoView(lyricStrs.First()); } UpDateComment(); UpDateSimiSongs(); }
private async void Button_album_Click(object sender, RoutedEventArgs e) { SongsItem songsItem = ((Button)sender).DataContext as SongsItem; if (songsItem == null) { return; } ProgressBar_loading.Visibility = Visibility.Visible; AlbumRoot albumRoot = await Task.Run(() => AlbumService.GetAlbum(songsItem.al.id)); if (albumRoot == null) { ProgressBar_loading.Visibility = Visibility.Collapsed; return; } ProgressBar_loading.Visibility = Visibility.Collapsed; Frame.Navigate(typeof(AlbumDetail), albumRoot); }
private async void AdaptiveGridViewControl_ItemClick(object sender, ItemClickEventArgs e) { Album album = e.ClickedItem as Album; if (album.id == PlayingService.PlayingListId) { Frame.Navigate(typeof(AlbumDetail)); } else { ProgressBar_loadAlbum.Visibility = Visibility.Visible; AlbumRoot albumRoot = await Task.Run(() => AlbumService.GetAlbum(album.id)); if (albumRoot == null) { return; } Frame.Navigate(typeof(AlbumDetail), albumRoot); ProgressBar_loadAlbum.Visibility = Visibility.Collapsed; } }
private List <Item> GetListAlbuns(string subject) { RootObject lstAlbum = new RootObject { albums = new AlbumRoot { items = new List <Item>() }, artists = new Artist { items = new List <Item>() }, }; RootObject artists = JsonConvert.DeserializeObject <RootObject>(Spotify.Api.GetArtistByGenre(subject, "50", "50")); foreach (var artist in artists.artists.items) { AlbumRoot album = JsonConvert.DeserializeObject <AlbumRoot>(Spotify.Api.GetAlbumByArtist(artist.id)); lstAlbum.albums.items.Add(album.items.FirstOrDefault()); } return(lstAlbum.albums.items); }
/// <summary> /// 开始播放前获取相关信息准备 /// </summary> /// <param name="playingSongId"></param> /// <param name="songsItem"></param> /// <returns></returns> public static async Task <bool> PreparePlayingSong(long playingSongId, SongsItem songsItem = null) { if (songsItem == null)//需获取实例 { MusicDetailRoot musicDetailRoot = await Task.Run(() => SongService.GetMusicDetail_Get(playingSongId.ToString())); if (musicDetailRoot == null || musicDetailRoot.songs == null || musicDetailRoot.songs.Count == 0) { return(false); } songsItem = musicDetailRoot.songs.Last(); //判断是否为喜欢歌曲 if (MainPage.favoriteSongsRoot != null) { if (MainPage.favoriteSongsRoot.ids.Find(p => p.Equals(songsItem.Id)) != 0) { songsItem.isFavorite = true; } } } SongUrlRoot songUrlRoot = SongService.GetMusicUrl(songsItem.Id); if (songUrlRoot == null) { return(false); } PlayingSong = songsItem; PlayingSongUrlRoot = songUrlRoot; var playingSong = PlayingService.PlayingSongList.FirstOrDefault(p => p.Id == PlayingService.PlayingSong.Id); if (playingSong == null)//将要播放的歌曲不在当前播放列表 { PlayingSongList = new List <SongsItem>() { PlayingSong }; playingSong = PlayingSong; } if (PlayedSongId != null) { if (PlayingSongList != PlayedSongList)//不同一个播放列表需清空列表 { PlayedSongId.Clear(); } } else { PlayedSongId = new List <long>(); } PlayedSongId.Remove(playingSong.Id); //删除重复的,避免死循环 PlayedSongId.Add(playingSong.Id); if (PlayingService.PlayedSong != null) //听歌打卡 { PlayingService.PlayDurationStopwatch.Stop(); await Task.Run(() => SongService.MarkPlayDuration(PlayedSong.Id, PlayedListId, PlayDurationStopwatch.ElapsedMilliseconds / 1000)); } //获取专辑 PlayingAlbum = await Task.Run(() => AlbumService.GetAlbum(songsItem.al.id)); if (PlayingAlbum == null) { return(false); } PlayingService.PlayingAlbumBitmapImage = await FileHelper.DownloadFile(new Uri(PlayingAlbum.album.picUrl + "?param=200y200")); if (PlayedSong != null && PlayedSongList != null) { PlayedSongList.FirstOrDefault(p => p.Id == PlayedSong.Id).IsPlaying = false; } PlayingSongList.FirstOrDefault(p => p.Id == PlayingSong.Id).IsPlaying = true; return(true); }