Eu tenho um aplicativo do Windows escrito em C # / .NET.
Como posso reproduzir um som específico quando um botão é clicado?
Eu tenho um aplicativo do Windows escrito em C # / .NET.
Como posso reproduzir um som específico quando um botão é clicado?
Respostas:
Você poderia usar:
System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"c:\mywavfile.wav");
player.Play();
Você pode usar o SystemSound , por exemplo System.Media.SystemSounds.Asterisk.Play();
,.
Para Windows Forms, uma maneira é usar o SoundPlayer
private void Button_Click(object sender, EventArgs e)
{
using (var soundPlayer = new SoundPlayer(@"c:\Windows\Media\chimes.wav")) {
soundPlayer.Play(); // can also use soundPlayer.PlaySync()
}
}
Isso também funcionará com o WPF, mas você tem outras opções, como usar a MediaPlayer
página MSDN
ButtonClick
, simplesmente porque parece que segue o estilo de nomear C # mais.
Esta é uma resposta um pouco de alto nível para aplicativos que desejam se encaixar perfeitamente no ambiente do Windows. Detalhes técnicos da reprodução de sons específicos foram fornecidos em outras respostas. Além disso, observe sempre estes dois pontos:
Use cinco sons padrão do sistema em cenários típicos , ou seja,
Asterisco - reproduz quando você deseja destacar o evento atual
Pergunta - brinque com perguntas (a janela da caixa de mensagens do sistema reproduz esta)
Exclamação - toque com o ícone de excalamação (a janela da caixa de mensagens do sistema reproduz esta)
Sinal sonoro (som padrão do sistema)
Parada crítica ("Mão") - toque com erro (a janela da caixa de mensagens do sistema reproduz esta)
Os métodos de aula System.Media.SystemSounds
os tocarão para você.
Implemente outros sons personalizáveis por seus usuários no painel de controle de som
System.Media.SystemSounds.Hand.Play(); Thread.Sleep(2000);
toca o som Mão . Observe que ele é reproduzido de forma assíncrona, aqui eu adicionei um comando de suspensão para aguardar a conclusão do som. Se você não esperar e tocar outro som, o anterior pára imediatamente.
O código abaixo permite reproduzir arquivos mp3 e arquivos wave na memória também
player.FileName = "123.mp3";
player.Play();
de http://alvas.net/alvas.audio,samples.aspx#sample6 ou
Player pl = new Player();
byte[] arr = File.ReadAllBytes(@"in.wav");
pl.Play(arr);
Para reproduzir um arquivo de áudio no formulário do Windows usando C #, vamos verificar um exemplo simples da seguinte maneira:
1.Go Visual Studio (VS-2008/2010/2012) -> Menu Arquivo -> clique em Novo projeto.
2.No Novo Projeto -> clique em Aplicativo Windows Forms -> Nome e, em seguida, clique em OK.
Um novo projeto "Windows Forms" será aberto.
3.Arraste e solte um controle de botão da caixa de ferramentas para o formulário do Windows.
4.Clique duas vezes no botão para criar automaticamente o manipulador de eventos Click padrão e adicione o seguinte código.
Este código exibe a caixa de diálogo Abrir arquivo e passa os resultados para um método chamado "playSound" que você criará na próxima etapa.
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "Audio Files (.wav)|*.wav";
if(dialog.ShowDialog() == DialogResult.OK)
{
string path = dialog.FileName;
playSound(path);
}
5. Adicione o seguinte código de método no manipulador de eventos button1_Click.
private void playSound(string path)
{
System.Media.SoundPlayer player = new System.Media.SoundPlayer();
player.SoundLocation = path;
player.Load();
player.Play();
}
6.Agora vamos executar o aplicativo pressionando F5 para executar o código.
7.Clique no botão e selecione um arquivo de áudio. Após o carregamento do arquivo, o som será reproduzido.
Espero que este seja um exemplo útil para iniciantes ...
Eu acho que você deve primeiro adicionar um arquivo .wav aos recursos. Por exemplo, você tem um arquivo de som chamado Sound.wav. Depois de adicionar o arquivo Sound.wav ao Resources, você pode usar este código:
System.Media.SoundPlayer player = new System.Media.SoundPlayer(Properties.Resources.Sound);
player.Play();
Esta é outra maneira de reproduzir som.