private void Dispose(bool disposing)
{
_isRunning = false;
if (_soundPlayer != null)
{
_soundPlayer.Dispose();
_soundPlayer = null;
}
if (_playbackThread != null &&
_playbackThread.IsAlive)
{
_playbackThread.Join(200);
if (_playbackThread.IsAlive)
{
_playbackThread.Abort();
}
_playbackThread = null;
}
if (_loadingQueue != null)
{
_loadingQueue.Dispose();
_loadingQueue = null;
}
}