Exemplo n.º 1
0
 public void Play(Playinglist allTracksPlayinglist)
 {
     if (!NextButton.IsEnabled)
     {
         NextButton.IsEnabled = true;
         NextButton.InvalidateVisual();
     }
     playinglist = allTracksPlayinglist;
     Player.Current?.Play(this, playinglist, null, TimeSpan.Zero, ShuffleButton.IsPressed, VolumeSlider.Value);
 }
Exemplo n.º 2
0
 private static void assert(HashSet <int> expectedPlaylistTrackKeys, Playinglist playinglist)
 {
     Assert.AreEqual(expectedPlaylistTrackKeys.Count, playinglist.ToPlayTracks.Count);
     foreach (var playinglistItem in playinglist.ToPlayTracks)
     {
         if (playinglistItem is PlayinglistItemTrack playinglistItemTrack)
         {
             Assert.IsTrue(expectedPlaylistTrackKeys.Contains(playinglistItemTrack.Track.Key));
         }
     }
 }
Exemplo n.º 3
0
 private void playNextTrack()
 {
     Track = Playinglist?.GetNext(IsShuffle ? random : null) ?? null;
     if (Track is null)
     {
         trace($"playNextTrack() cannot find a track.");
         mediaPlayer.Pause();//prevents from immediate playing when user changes position
         State = PlayerStateEnum.Idle;
     }
     else
     {
         trace($"Play next {(IsShuffle ? "random " : "")}{Track.Title}");
         playtrack();
     }
 }
        public TestPlayerControlWindow()
        {
            InitializeComponent();

            TraceTextBox.Text =
                "Copyrights: " + Environment.NewLine +
                "Music promoted by https://www.free-stock-music.com" + Environment.NewLine +
                @"Track1: Stream Countdown(10s) by Alexander Nakarada | https://www.serpentsoundstudios.com
Attribution 4.0 International(CC BY 4.0)
https://creativecommons.org/licenses/by/4.0/" + Environment.NewLine + Environment.NewLine +

                @"Track2: Humorous And Comic Intro by Free Music | https://soundcloud.com/fm_freemusic
Creative Commons Attribution 3.0 Unported License
https://creativecommons.org/licenses/by/3.0/deed.en_US" + Environment.NewLine + Environment.NewLine +

                @"Track3: Music Logo For Storytelling by Free Music | https://soundcloud.com/fm_freemusic
Creative Commons Attribution 3.0 Unported License
https://creativecommons.org/licenses/by/3.0/deed.en_US" + Environment.NewLine + Environment.NewLine +

                @"Track4: Happy Media Music Opener by Free Music | https://soundcloud.com/fm_freemusic
Creative Commons Attribution 3.0 Unported License
https://creativecommons.org/licenses/by/3.0/deed.en_US" + Environment.NewLine + Environment.NewLine +

                "MediaPlayer test trace" + Environment.NewLine +
                "======================" + Environment.NewLine;
            _ = new DC(null);
            projectDirectory = new DirectoryInfo(Environment.CurrentDirectory).Parent !.Parent !.Parent !.Parent !;
            location         = new Location("locationPath", projectDirectory.FullName, isStoring: false);

            track1 = new Track(new FileInfo(projectDirectory.FullName + @"\track1.mp3"), location, isStoring: false);
            track2 = new Track(new FileInfo(projectDirectory.FullName + @"\track2.mp3"), location, isStoring: false);
            track3 = new Track(new FileInfo(projectDirectory.FullName + @"\track3.mp3"), location, isStoring: false);
            track4 = new Track(new FileInfo(projectDirectory.FullName + @"\track4.mp3"), location, isStoring: false);
            var errorFileName = projectDirectory.FullName + @"\trackError.mp3";

            File.Copy(track4.FullFileName, errorFileName, overwrite: true);
            trackError = new Track(new FileInfo(errorFileName), location, isStoring: false);
            trackError.Update(
                "TrackCausingError",
                trackError.Album,
                trackError.AlbumTrack,
                trackError.Artists,
                trackError.Composers,
                trackError.Publisher,
                trackError.Year,
                trackError.Genres,
                trackError.Weight,
                trackError.Volume,
                trackError.SkipStart,
                trackError.SkipEnd,
                trackError.TitleArtists);
            File.Delete(errorFileName);
            allTracks = new List <Track> {
                track1, track2, track3, track4
            };
            allTracksPlayinglist = new Playinglist(allTracks);

            Player.Current !.Traced += Player_Traced;
            TrackPlayer.Init(getPlayinglist);


            Play1Button.Click           += Play1Button_Click;
            Play2Button.Click           += Play2Button_Click;
            PlayAllButton.Click         += PlayAllButton_Click;
            PlayErrorButton.Click       += PlayErrorButton_Click;
            IsTracePositionButton.Click += IsTracePositionButton_Click;
        }