#c# #wpf #visual-studio
#c# #wpf #visual-studio
Вопрос:
У меня есть около 20 небольших файлов звуковых эффектов в разделе Ресурсов… Я хотел бы иметь метод, который воспроизводит определенный звуковой файл на основе переданного мне параметра … предполагая, что мои звуковые файлы называются sound01.wav, sound02.wav и т.д.
public static void PlayMySound(string soundFile)
{
SoundPlayer snd = new SoundPlayer(Properties.Resources.XXX);
snd.Play()
}
PlayMySound(sound01);
PlayMySound(sound02);
etc.
В приведенном выше коде я хочу, чтобы XXX был строковым звуковым файлом
Я пытаюсь избежать чего-то подобного…
public static void PlayMySound(string soundFile)
{
if (soundFile == "sound01") { SoundPlayer snd = new SoundPlayer(Properties.Resources.sound01); }
if (soundFile == "sound02") { SoundPlayer snd = new SoundPlayer(Properties.Resources.sound02); }
if (soundFile == "sound03") { SoundPlayer snd = new SoundPlayer(Properties.Resources.sound03); }
if (soundFile == "sound04") { SoundPlayer snd = new SoundPlayer(Properties.Resources.sound04); }
if (soundFile == "sound05") { SoundPlayer snd = new SoundPlayer(Properties.Resources.sound05); }
etc.etc.etc.
}
Комментарии:
1. итак, в чем ваш вопрос?
2. Вопрос по существу вращался вокруг утверждения «Я хочу, чтобы XXX был строковым звуковым файлом»… но я понял это…
Ответ №1:
Хорошо, ответ пришел ко мне вскоре после того, как я опубликовал это…
public static void PlayMySound(Stream soundFile)
{
SoundPlayer snd = new SoundPlayer(soundFile);
snd.Play();
}
// Then I can just call it like this...
PlayMySound(Properties.Resources.sound01);
PlayMySound(Properties.Resources.sound02);