예제 #1
0
        private void OnDelPlayList(ListBox listBox)
        {
            var songListItem = listBox.SelectedItem as SongListStyle;

            if (songListItem == null)
            {
                return;
            }
            var delSong  = SongListModel.GetPlayingSong(songListItem.Song.Path);
            var songList = PlayListItem.Select(i => i.Song).ToList();

            songList.Remove(delSong);
            PlayListItem = SongListModel.InitialSongList(songList);

            IsPlayListChanged = true;

            PlayingListModel.ClearPlayingList();
            PlayingListModel.SavePlayingList(songList);

            //若删除的歌曲为正在播放的歌曲
            if (delSong.Equals(PlayingSong))
            {
                OnNext();                //播放下一曲
            }
        }
예제 #2
0
        protected void OnLast()
        {
            if (PlayListItem == null || PlayListItem.Count == 0)
            {
                return;
            }
            var songList     = PlayListItem.Select(i => i.Song).ToList();
            var playingIndex = songList.IndexOf(PlayingSong);

            if (PlayMode == PlayMode.随机播放 && IsPlayListChanged)
            {
                PlayModeService.ChangeRandomList(songList);
                IsPlayListChanged = false;
            }
            PlayingSong = PlayModeService.OnLastExecute(PlayMode, songList, playingIndex);

            if (ControlService.PlayState != PlayState.播放)
            {
                ControlService.PlayState = PlayState.播放;
            }
            else
            {
                ControlService.PlayService.MediaPlayer.Play();
            }
        }
예제 #3
0
 private void OnModeChange()
 {
     PlayMode = PlayModeService.OnModeChange(PlayMode);
     if (PlayMode == PlayMode.随机播放)
     {
         PlayModeService.ChangeRandomList(PlayListItem.Select(i => i.Song).ToList());
     }
 }
예제 #4
0
        private void OnAddPlayList(ListBox listBox)
        {
            var songList     = PlayListItem.Select(i => i.Song).ToList();
            var songListItem = listBox.SelectedItem as SongListStyle;

            if (songListItem == null)
            {
                return;
            }
            songList.Add(songListItem.Song);
            PlayListItem = SongListModel.InitialSongList(songList);

            IsPlayListChanged = true;

            PlayingListModel.ClearPlayingList();
            PlayingListModel.SavePlayingList(songList);
        }
예제 #5
0
        private void MediaEnd(object sender, EventArgs e)
        {
            if (PlayListItem == null || PlayListItem.Count == 0)
            {
                return;
            }
            var songList     = PlayListItem.Select(i => i.Song).ToList();
            var playingIndex = songList.IndexOf(PlayingSong);

            if (PlayMode == PlayMode.随机播放 && IsPlayListChanged)
            {
                PlayModeService.ChangeRandomList(songList);
                IsPlayListChanged = false;
            }
            PlayingSong = PlayModeService.GetNextSong(PlayMode, songList, playingIndex);
            ControlService.PlayService.MediaPlayer.Play();
        }