private void MediaElementOnCurrentStateChanged(
object sender, RoutedEventArgs args)
{
var state = _mediaElement.CurrentState;
switch (state)
{
case MediaElementState.Closed:
ChangeSoundStateChanged(SoundPlayState.Stopped);
break;
case MediaElementState.Opening:
ChangeSoundStateChanged(SoundPlayState.Playing);
break;
case MediaElementState.Buffering:
ChangeSoundStateChanged(SoundPlayState.Playing);
break;
case MediaElementState.Playing:
ChangeSoundStateChanged(SoundPlayState.Playing);
break;
case MediaElementState.Paused:
ChangeSoundStateChanged(SoundPlayState.Paused);
break;
case MediaElementState.Stopped:
ChangeSoundStateChanged(SoundPlayState.Stopped);
break;
default:
throw new ArgumentOutOfRangeException();
}
}