Reprodução de arquivos de som aleatórios da pasta [fechada]
Estou tentando criar um Oracle (leia-se: Magic 8 Ball). A idéia por trás disso é que, a cada pressionamento do botão, um arquivo de som com palavras sábias é reproduzido (escolhido aleatoriamente). Eu tenho que trabalhar usando switches, no entanto, estou procurando uma maneira de torná-lo mais .. lógico.
É assim que parece atualmente, com os comutadores indo e vindo:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace _8ball
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Random rnd = new Random(Guid.NewGuid().GetHashCode());
int choices = rnd.Next(0, 62);
switch(choices)
{
case 0:
System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"c:\Lyde\0.wav");
player.Play();
break;
case 1:
System.Media.SoundPlayer player1 = new System.Media.SoundPlayer(@"c:\Lyde\1.wav");
player1.Play();
break;
case 2:
System.Media.SoundPlayer player2 = new System.Media.SoundPlayer(@"c:\Lyde\2.wav");
player2.Play();
break;
case 3:
System.Media.SoundPlayer player3 = new System.Media.SoundPlayer(@"c:\Lyde\3.wav");
player3.Play();
break;
Certamente, existe uma maneira de programá-lo como tal para que ele pareça em uma determinada pasta e, em seguida, escolhe um arquivo aleatório, sem que o arquivo tenha sido declarado no próprio programa (como foi feito com as opções). Eu me deparei com a enumeração de pastas (http://code.msdn.microsoft.com/windowsapps/Folder-enumeration-sample-33ebd000), mas não tenho certeza de como implementá-lo no meu cenário.