public void AddSound(Sound sound)
        {
            this.queue.Add(sound);

            var isNoSoundPlaying = this.SoundPlaybackService.CurrentSoundOrDefault() == default(PlayableSound);
            if (isNoSoundPlaying)
            {
                this.PlaySoundFromQueue();
                return;
            }
        }
        public void PlaySoundOrStopIfNull(Sound sound)
        {
            this.playTime.Stop();

            if (sound == null)
            {
                if (this.currentSound != null)
                {
                    this.currentSound.Pause();
                }

                this.currentSound = default(PlayableSound);
                return;
            }

            this.currentSound = new PlayableSound(sound);
            this.currentSound.Play();

            this.playTime.Start();
        }
 public PlayableSound(Sound sound)
 {
     this.Sound = sound;
     this.Reset(sound.SoundFileName);
 }