public void OnSoundStopped(ISound sound, StopEventCause reason, object userData) { if (PlaybackComplete != null && reason.HasFlag(StopEventCause.SoundFinishedPlaying)) { if (_synchronizeInvoke.InvokeRequired) { _synchronizeInvoke.BeginInvoke(new Action(() => PlaybackComplete()), null); } else { PlaybackComplete(); } } }