public void PlaySound(SoundFilesEnum sound) { try { _effectsReader = sound switch { SoundFilesEnum.MenuAcceptSound => new AudioFileReader(Path.Combine(Environment.CurrentDirectory, @"Sounds\sfx\menuAccept.wav")), SoundFilesEnum.MenuClickSound => new AudioFileReader(Path.Combine(Environment.CurrentDirectory, @"Sounds\sfx\menuClick.wav")), SoundFilesEnum.AttackSound => new AudioFileReader( Path.Combine(Environment.CurrentDirectory, @"Sounds\sfx\attack.wav")), SoundFilesEnum.BombSound => new AudioFileReader(Path.Combine(Environment.CurrentDirectory, @"Sounds\sfx\bomb.wav")), SoundFilesEnum.ConverterSound => new AudioFileReader(Path.Combine(Environment.CurrentDirectory, @"Sounds\sfx\converter.wav")), SoundFilesEnum.HitSound => new AudioFileReader(Path.Combine(Environment.CurrentDirectory, @"Sounds\sfx\hit.wav")), SoundFilesEnum.TeleportSound => new AudioFileReader(Path.Combine(Environment.CurrentDirectory, @"Sounds\sfx\teleport.wav")), SoundFilesEnum.WalkSound => new AudioFileReader(Path.Combine(Environment.CurrentDirectory, @"Sounds\sfx\walk.wav")), SoundFilesEnum.PickupSound => new AudioFileReader( Path.Combine(Environment.CurrentDirectory, @"Sounds\sfx\pickup.wav")), _ => throw new Exception("Unknown theme") }; _effectsOutput = new WaveOut(); _effectsOutput.Init(_effectsReader); _effectsOutput.Play(); } catch (Exception e) { Console.WriteLine(e); } }
public void PlayTheme(SoundFilesEnum name) { var fadeOut = new Task(() => { if (_musicOutput != null) { while (_currentVolume > 0.01f) { _currentVolume -= 0.01f; _musicOutput.Volume = _currentVolume; Thread.Sleep(50); } } FadeOutEndNotification?.Invoke(name); }); fadeOut.Start(); }
private void PlayThemePrivate(SoundFilesEnum theme) { try { _fileReader = theme switch { SoundFilesEnum.MenuTheme => new Mp3FileReader(_menuTheme), SoundFilesEnum.GameTheme => new Mp3FileReader(_gameTheme), SoundFilesEnum.ResultsTheme => new Mp3FileReader(_resultTheme), _ => throw new Exception("Unknown theme") }; _musicOutput = new WaveOut { Volume = _currentVolume }; _musicOutput.Init(_fileReader); FadeInVolume(); _musicOutput.Play(); } catch (Exception e) { Console.WriteLine(e); } }
private void OnFadeOutEndNotification(SoundFilesEnum name) { StopTheme(); PlayThemePrivate(name); }
public void PlaySound(SoundFilesEnum name) { _musicPlayer.PlaySound(name); }
private void PlaySound(SoundFilesEnum name) { }