Esta é a resposta perfeita porque um novo usuário pode entender que SoundPlayer pertence a System.Media ....
Khilen Maniyar
30
@Ali ... stackoverflow.com/questions/2361857/what-does-means-in-c-sharp "Significa interpretar a seguinte string como literal. Significado, o \ na string será realmente um" \ "no saída, em vez de ter de colocar "\\" para significar o caráter literal"
Praveen
A resposta de @ Praveen deu apenas outro fato informativo. Agradecemos a Dexter por solicitar o símbolo "@".
Allen Linatoc
2
@bporter, isso parece não funcionar com arquivos mp3; ele está restrito a wav único formato
Najeeb
Que pena esta API! Não reproduz arquivos MP3 nem MIDI. Completamente inútil para mim. O Windows tem suporte nativo para MP3 e MIDI desde pelo menos o Windows XP. Que vergonha para a Microsoft!
Elmue
91
Você pode usar o SystemSound , por exemplo System.Media.SystemSounds.Asterisk.Play();,.
muito útil. isso pode ajudar a usar os padrões do sistema.
Babak.Abad
4
É importante observar que, se você desativar os sons do sistema nas configurações do Windows (pelo menos no Windows mais recente), ele não reproduzirá nada.
Artholl
32
Para Windows Forms, uma maneira é usar o SoundPlayer
privatevoidButton_Click(object sender,EventArgs e){
using (var soundPlayer =newSoundPlayer(@"c:\Windows\Media\chimes.wav")){
soundPlayer.Play();// can also use soundPlayer.PlaySync()}}
Melhor ainda, no código de produção, crie-o apenas uma vez e use-o várias vezes, em vez de criá-lo sempre que o botão for pressionado.
Shibumi 8/03/12
Eu renomearia essa função para ButtonClick, simplesmente porque parece que segue o estilo de nomear C # mais.
Ethan Bierlein
1
@ EthanBierlein - provavelmente foi a convenção de nomenclatura quando eu
publiquei
1
Hã. Então essa era a antiga convenção?
Ethan Bierlein
@EthanBierlein ainda é o que é gerado automaticamente por projetos Windows Forms do Visual Studio
JAD
13
Informação adicional.
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)
Implemente outros sons personalizáveis por seus usuários no painel de controle de som
Dessa forma, os usuários podem alterar ou remover facilmente sons do seu aplicativo e você não precisa escrever nenhuma interface do usuário para isso - ele já está lá
Cada perfil de usuário pode substituir esses sons de maneira própria
No seu aplicativo, leia o caminho do arquivo de som ou o recurso DLL das chaves do registro e toque-o. (Como reproduzir sons que você pode ver em outras respostas.)
Obrigado por esta informação extra. Eu gostaria de adicionar um exemplo: 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.
Matt
8
O código abaixo permite reproduzir arquivos mp3 e arquivos wave na memória também
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 =newSystem.Media.SoundPlayer(Properties.Resources.Sound);
player.Play();
Você pode usar o SystemSound , por exemplo
System.Media.SystemSounds.Asterisk.Play();
,.fonte
Para Windows Forms, uma maneira é usar o
SoundPlayer
Página MSDN
Isso também funcionará com o WPF, mas você tem outras opções, como usar a
MediaPlayer
página MSDNfonte
ButtonClick
, simplesmente porque parece que segue o estilo de nomear C # mais.Informação adicional.
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
fonte
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
de http://alvas.net/alvas.audio,samples.aspx#sample6 ou
de http://alvas.net/alvas.audio,samples.aspx#sample7
fonte
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.
5. Adicione o seguinte código de método no manipulador de eventos button1_Click.
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 ...
fonte
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:
Esta é outra maneira de reproduzir som.
fonte