void CheckSong_Tick(object sender, EventArgs e) { if (MediaPlayer == null) { return; } if (SongEnded) { NextSong(); SongEnded = false; CheckSong.Stop(); } Kernel.UI.UpdateMediaProgress(MediaPlayer.Ctlcontrols.currentPosition); }
void MediaPlayer_PlayStateChange(object sender, _WMPOCXEvents_PlayStateChangeEvent wmpocxEventsPlayStateChangeEvent) { if (MediaPlayer == null) { return; } switch (MediaPlayer.playState) { case WMPPlayState.wmppsPlaying: { CheckSong.Start(); Kernel.UI.Dispatcher.BeginInvoke(new Action(() => Kernel.UI.MusicProgressBar.Maximum = MediaPlayer.currentMedia.duration), DispatcherPriority.Background); break; } case WMPPlayState.wmppsMediaEnded: SongEnded = true; CheckSong.Start(); break; } }
public void Dispose() { GC.SuppressFinalize(this); CheckSong.Dispose(); }