private void PerformSeek()
{
//wasPaused = !(mediaPlayer.playState == WMPLib.WMPPlayState.wmppsPlaying);
if (isCancelled)
return;
var diff = Math.Abs(mediaPlayer.Ctlcontrols.currentPosition - targetPosition);
if (diff > 0.1) // at least tenth of a second difference
{
Logger.Debug("Diff: " + diff);
var seekWorker = new BackgroundWorker();
seekWorker.DoWork += new DoWorkEventHandler(seekWorker_DoWork);
seekWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(seekWorker_RunWorkerCompleted);
seekWorker.RunWorkerAsync(targetPosition);
}
else
{
isWorking = false;
}
}