private static void PlayEffect() { try { string dir = "sounds/effects"; if (!Directory.Exists(dir)) { return; } var files = Directory.GetFiles(dir).Where(f => f.EndsWith(".mp3")).ToArray(); if (files.Length > 0) { Task.Run(() => { effectPlayer.Load(files.ChooseRandomly()); effectPlayer.Play(); Thread.Sleep(200); //don't want it to always do the same action always. if (rand.Next(0, 10) % 2 == 0) { if (isMp3) { LowerVolume(mp3Player, 5, 150); } } PlayAsync(); //don't want it to always do the same action always. if (rand.Next(0, 10) % 2 == 0) { effectPlayer.Load(files.ChooseRandomly()); effectPlayer.Play(); } }); } } catch { } }
public static async void PlayAsync() { if (Settings.GetSettings().MusicFiles.Count == 0 || !Settings.GetSettings().MusicOn) { return; } try { if (paused) { await ResumeAsync(); return; } if (Playing) { return; } var musicFile = Settings.GetSettings().MusicFiles.ChooseRandomly(); string file = musicFile.FileName; string path = musicFile.FilePath; byte[] buffer = null; if (file.ToLower().EndsWith(".mp3")) { isMp3 = true; await Task.Run(() => { mp3Player.Load(path); ///buffer = await ConvertMp3ToWaveAsync(path); mp3Player.Play(); }); Playing = true; return; } isMp3 = false; buffer = File.ReadAllBytes(path); player.Load(buffer); player.Play(); Playing = true; } catch (Exception ex) { Playing = false; } }