private void PlayNextTrackInNewPlayer(bool startPlaying)
{
if (!playing && startPlaying)
return;
if (players.Count > 1)
{
// Wait for 1st player
var firstPlayer = players.FirstOrDefault();
if (firstPlayer != null)
{
firstPlayer.Player.Wait();
}
}
string nextTrack = GetNextTrack();
lock (players)
{
var newPlayer = new AudioPlayer(this.xaudio2, File.OpenRead(nextTrack));
players.Add(newPlayer);
newPlayer.Player.AutoCloseAtEndOfSong = true;
newPlayer.Player.CrossFade = TimeSpan.FromSeconds(10);
newPlayer.Player.CrossFadeStarting += new EventHandler(CrossFadeStarting);
newPlayer.Player.StateChanged += new EventHandler<AudioPlayerApp.AudioPlayer.StateEventArgs>(StateChanged);
if(startPlaying)
newPlayer.Player.Play();
}
}