/// <summary> /// 双击我喜欢的歌曲 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void ListBox_myFavoriteSongs_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { ListBox listBox = (ListBox)sender; SongsItem songsItem = listBox.SelectedItem as SongsItem; if (songsItem == null) { return; } //SongUrlRoot songUrlRoot = SongService.GetMusicUrl(songsItem.Id); //if (songUrlRoot == null) // return; ////添加播放列表 //if (ListBox_myFavoriteSongs.ItemsSource == null) // return; //if (MainPage.PlayingListId != 2)//已在播放此歌单,仅修改播放歌曲,否则,重置播放列表及历史记录 //{ // (Application.Current as App).myMainPage.currentPlayList.Clear(); // foreach (var temp in ListBox_myFavoriteSongs.ItemsSource as List<SongsItem>) // (Application.Current as App).myMainPage.currentPlayList.Add(temp); // (Application.Current as App).myMainPage.playHistoryIndex.Clear(); // //MainPage.PlayingListId = 2; //} ////修改mainpage以触发修改正在播放的音乐 //(Application.Current as App).myMainPage.ChnagePlayingSong(songsItem, songUrlRoot,-2); PlayingService.PlayingListId = songsItem.al.id; await PlayingService.ChangePlayingSong(songsItem.Id, ListBox_myFavoriteSongs.ItemsSource as List <SongsItem>, songsItem); }
private async void ListBox_musicDetail_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { ListBox listBox = sender as ListBox; SongsItem songsItem = listBox.SelectedItem as SongsItem; if (songsItem == null) { return; } //SongUrlRoot songUrlRoot = SongService.GetMusicUrl(songsItem.Id); //if (songUrlRoot == null) // return; ////修改播放列表 //if (MainPage.PlayingListId != albumRoot.album.id)//已在播放此歌单,仅修改播放歌曲,否则,重置播放列表及历史记录 //{ // (Application.Current as App).myMainPage.currentPlayList.Clear(); // foreach (var temp in albumRoot.songs) // (Application.Current as App).myMainPage.currentPlayList.Add(temp); // (Application.Current as App).myMainPage.playHistoryIndex.Clear(); // //MainPage.PlayingListId = albumRoot.album.id; //} ////修改mainpage以触发修改正在播放的音乐 //(Application.Current as App).myMainPage.ChnagePlayingSong(songsItem, songUrlRoot, albumRoot.album.id); PlayingService.PlayingListId = albumRoot.album.id; await PlayingService.ChangePlayingSong(songsItem.Id, albumRoot.songs, songsItem); }
private async void ListBox_Click(object sender, DoubleTappedRoutedEventArgs e) { ListBox listBox = sender as ListBox; ProgressBar_Loading.Visibility = Visibility.Visible; long id = (listBox.SelectedItem as RecordDataItem).Song.Id; // MusicDetailRoot musicDetailRoot=await Task.Run(()=>SongService.GetMusicDetail_Get(id.ToString())); //if (musicDetailRoot == null || musicDetailRoot.songs == null) //{ // ProgressBar_Loading.Visibility = Visibility.Collapsed; // return; //} //SongUrlRoot songUrlRoot = await Task.Run(() => SongService.GetMusicUrl(musicDetailRoot.songs.First().Id)); //if (songUrlRoot == null) //{ // ProgressBar_Loading.Visibility = Visibility.Collapsed; // return; //} //ProgressBar_Loading.Visibility = Visibility.Collapsed; ////修改播放列表 //(Application.Current as App).myMainPage.currentPlayList.Clear(); //(Application.Current as App).myMainPage.currentPlayList.Add(musicDetailRoot.songs.First()); ////修改mainpage以触发修改正在播放的音乐 //(Application.Current as App).myMainPage.ChnagePlayingSong(musicDetailRoot.songs.First(), songUrlRoot, (musicDetailRoot.songs.First().Id + 4) * -1); await PlayingService.ChangePlayingSong(id, null); ProgressBar_Loading.Visibility = Visibility.Collapsed; }
/// <summary> /// 双击某一首歌 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void ListBox_musicDetail_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { ListBox listBox = sender as ListBox; SongsItem songsItem = listBox.SelectedItem as SongsItem; PlayingService.PlayingListId = playListDetailRoot.playlist.id; await PlayingService.ChangePlayingSong(songsItem.Id, musicDetailRootSource.songs, songsItem); }
private void Button_next_Click(object sender, RoutedEventArgs e) { if (PlayingService.IsPlayingSong) { PlayingService.PlayNextSongs(); } else { PlayingService.PlayNextRadio(); } }
private void Button_previous_Click(object sender, RoutedEventArgs e) { if (PlayingService.IsPlayingSong) { PlayingService.PlayLastSongs(); } else { PlayingService.PlayLastRadio(); } }
/// <summary> /// 播放全部日推歌曲 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void Button_playDailySongs_Click(object sender, RoutedEventArgs e) { if (ListBox_recommendMusic.ItemsSource == null) { return; } var songs = ListBox_recommendMusic.ItemsSource as List <SongsItem>; PlayingService.PlayingListId = songs.First().al.id; await PlayingService.ChangePlayingSong(songs.First().Id, songs, songs.First()); }
private void CommandManager_PreviousReceived(MediaPlaybackCommandManager sender, MediaPlaybackCommandManagerPreviousReceivedEventArgs args) { if (PlayingService.IsPlayingSong) { PlayingService.PlayLastSongs(); } else { PlayingService.PlayLastRadio(); } }
private void Button_Next_Click(object sender, RoutedEventArgs e) { if (PlayingService.IsPlayingSong) { PlayingService.PlayNextSongs(); } else { PlayingService.PlayNextRadio(); } MyMainPage_OnIsOrNotFavoriteChanged(); }
private async void ListBox_hotSongs_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { ListBox listBox = sender as ListBox; SongsItem songsItem = listBox.SelectedItem as SongsItem; if (songsItem == null) { return; } PlayingService.PlayingListId = songsItem.al.id; await PlayingService.ChangePlayingSong(songsItem.Id, artistBaseDetailRoot.hotSongs, songsItem); }
private async void ListBox_simiSongs_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { ListBox listBox = sender as ListBox; SongsItem songsItem = listBox.SelectedItem as SongsItem; if (songsItem == null) { return; } ProgressBar_loadSimiSongs.Visibility = Visibility.Visible; PlayingService.PlayingListId = songsItem.al.id; await PlayingService.ChangePlayingSong(songsItem.Id, ListBox_simiSongs.ItemsSource as List <SongsItem>, songsItem); }
private async void ListBox_searchSong_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { ListBox listBox = (ListBox)sender; SongsItem songsItem = listBox.SelectedItem as SongsItem; if (songsItem == null) { return; } PlayingService.PlayingListId = songsItem.al.id; await PlayingService.ChangePlayingSong(songsItem.Id, ListBox_searchSong.ItemsSource as List <SongsItem>, songsItem); }
/// <summary> /// 播放列表双击 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void ListBox_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { ListBox listBox = (ListBox)sender; PlayingSongBaseObject song = listBox.SelectedItem as PlayingSongBaseObject; if (PlayingService.IsPlayingSong) { await PlayingService.ChangePlayingSong(song.Id); } else { await PlayingService.ChangePlayingRadio(song.Id); } }
private void Page_CloseRequested(object sender, SystemNavigationCloseRequestedPreviewEventArgs e) { PlayingService.Volume = myMainPage._mediaPlayer.Volume; PlayingService.Save(); if (myMainPage == null || PlayingService.PlayDurationStopwatch == null) { return; } myMainPage.playDurationStopwatch.Stop(); if (PlayingService.PlayingSong == null) { return; } System.Threading.Tasks.Task.Run(() => SongService.MarkPlayDuration(PlayingService.PlayingSong.Id, PlayingService.PlayingListId, PlayingService.PlayDurationStopwatch.ElapsedMilliseconds / 1000)); }
private async void _mediaPlayer_MediaEnded(MediaPlayer sender, object args) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { _mediaTimelineController.Pause(); if (PlayingService.IsPlayingSong) { PlayingService.PlayNextSongs(); } else { PlayingService.PlayNextRadio(); } }); }
/// <summary> /// 播放全部我喜欢的歌曲 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void Button_playFavoriteSongs_Click(object sender, RoutedEventArgs e) { if (ListBox_myFavoriteSongs.ItemsSource == null) { return; } //(Application.Current as App).myMainPage.currentPlayList.Clear(); //foreach (var temp in ListBox_myFavoriteSongs.ItemsSource as List<SongsItem>) // (Application.Current as App).myMainPage.currentPlayList.Add(temp); //(Application.Current as App).myMainPage.playHistoryIndex.Clear(); //MainPage.PlayingListId = 2; //(Application.Current as App).myMainPage.PlayNextSongs(-1); var songs = ListBox_myFavoriteSongs.ItemsSource as List <SongsItem>; PlayingService.PlayingListId = songs.First().al.id; await PlayingService.ChangePlayingSong(songs.First().Id, songs, songs.First()); }
private async void PlayingService_OnPlayingSongChanged() { ChangeImage(); ChangePlayBar(PlayingService.PlayingSong, PlayingService.PlayingAlbumBitmapImage, PlayingService.PlayingSong.Name, PlayingService.PlayingSong.ar.First().name, PlayingService.PlayingSong.al.name, PlayingService.PlayingSong.dt / 1000); if ((Application.Current as App).playingPage != null) { (Application.Current as App).playingPage.LoadLayout(); } if ((Application.Current as App).compactOverlayPage != null) { (Application.Current as App).compactOverlayPage.UpdateLayout(); } if (PlayingService.PlayingSongUrlRoot.data.First().url == null) { NotifyPopup notifyPopup = new NotifyPopup("播放地址错误"); notifyPopup.Show(); //跳过当前到下一首 PlayingService.PlayNextSongs(); return; } _mediaSource = await Task.Run(() => MediaSource.CreateFromUri(new Uri(PlayingService.PlayingSongUrlRoot.data.First().url))); _mediaSource.OpenOperationCompleted += _mediaSource_OpenOperationCompleted; _mediaPlaybackItem = new MediaPlaybackItem(_mediaSource); _mediaPlayer.Source = _mediaPlaybackItem; _mediaTimelineController.Start(); //SetLastPlayedSong(); //修改SMTC 显示的元数据 MediaItemDisplayProperties props = _mediaPlaybackItem.GetDisplayProperties(); props.Type = Windows.Media.MediaPlaybackType.Music; props.MusicProperties.Title = PlayingService.PlayingSong.Name; props.MusicProperties.Artist = PlayingService.PlayingSong.ar.First().name; props.Thumbnail = RandomAccessStreamReference.CreateFromFile(await ApplicationData.Current.LocalFolder.TryGetItemAsync(ConfigService.ImageFilename) as StorageFile); _mediaPlaybackItem.ApplyDisplayProperties(props); }
/// <summary> /// 获取上一次播放的信息 /// </summary> async void GetLastPlayingInfo() { ChangeImage(); PlayingService.PlayingAlbumBitmapImage = await FileHelper.ReadLoaclBitmapImage(ConfigService.ImageFilename); if (await PlayingService.Load()) { Slider_Volume.Value = PlayingService.Volume * 100; if (PlayingService.IsPlayingSong) { if (PlayingService.PlayingSong != null) { ChangePlayBar(PlayingService.PlayingSong, PlayingService.PlayingAlbumBitmapImage, PlayingService.PlayingSong.Name, PlayingService.PlayingSong.ar.First().name, PlayingService.PlayingSong.al.name, PlayingService.PlayingSong.dt / 1000, false); } } else { if (PlayingService.PlayingRadio != null) { ChangePlayBar(PlayingService.PlayingAlbumBitmapImage, PlayingService.PlayingRadio.Name, PlayingService.PlayingRadio.Dj.Nickname, PlayingService.PlayingRadio.Name, PlayingService.PlayingRadio.MainSong.Duration / 1000); } } UpDatePlayOrderStateIcon(); if (PlayingService.PlayingSongUrlRoot != null) { SongUrlRoot songUrlRoot = SongService.GetMusicUrl(PlayingService.PlayingSongUrlRoot.data.First().id); //_mediaSource = await Task.Run(() => MediaSource.CreateFromUri(new Uri(PlayingService.PlayingSongUrlRoot.data.First().url))); _mediaSource = await Task.Run(() => MediaSource.CreateFromUri(new Uri(songUrlRoot.data.First().url))); _mediaSource.OpenOperationCompleted += _mediaSource_OpenOperationCompleted; _mediaSource.StateChanged += _mediaSource_StateChanged; _mediaPlaybackItem = new MediaPlaybackItem(_mediaSource); _mediaPlayer.Source = _mediaPlaybackItem; } } }
/// <summary> /// 播放全部 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void Button_playAll_Click(object sender, RoutedEventArgs e) { PlayingService.PlayingListId = playListDetailRoot.playlist.id; await PlayingService.ChangePlayingSong(musicDetailRootSource.songs.First().Id, musicDetailRootSource.songs, musicDetailRootSource.songs.First()); }
private async void Button_playAll_Click(object sender, RoutedEventArgs e) { PlayingService.PlayingListId = albumRoot.album.id; await PlayingService.ChangePlayingSong(albumRoot.songs.First().Id, albumRoot.songs); }
private async void ListBox_RadioDetail_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { await PlayingService.ChangePlayingRadio((((ListBox)sender).SelectedItem as RadioSongItem).MainSong.Id, radioSongItems); }
private async void Button_allSongs_Click(object sender, RoutedEventArgs e) { PlayingService.PlayingListId = artistBaseDetailRoot.hotSongs.First().al.id; await PlayingService.ChangePlayingSong(artistBaseDetailRoot.hotSongs.First().Id, artistBaseDetailRoot.hotSongs, artistBaseDetailRoot.hotSongs.First()); }