Ho un'applicazione Windows scritta in C # /. NET.
Come posso riprodurre un suono specifico quando si fa clic su un pulsante?
Ho un'applicazione Windows scritta in C # /. NET.
Come posso riprodurre un suono specifico quando si fa clic su un pulsante?
Risposte:
Potresti usare:
System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"c:\mywavfile.wav");
player.Play();
È possibile utilizzare SystemSound , ad esempio, System.Media.SystemSounds.Asterisk.Play();
.
Per Windows Forms un modo è usare il 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()
}
}
Funzionerà anche con WPF, ma hai altre opzioni come usare la MediaPlayer
pagina MSDN
ButtonClick
, semplicemente perché sembra che segua lo stile della denominazione C # di più.
Questa è una risposta un po 'di alto livello per le applicazioni che vogliono adattarsi perfettamente all'ambiente Windows. I dettagli tecnici sulla riproduzione di un suono particolare sono stati forniti in altre risposte. Oltre a ciò, nota sempre questi due punti:
Usa cinque suoni di sistema standard in scenari tipici , ad es
Asterisco : riproduci quando desideri evidenziare l'evento corrente
Domanda - gioca con le domande (la finestra della finestra di messaggio di sistema riproduce questa)
Esclamazione : gioca con l'icona di esclamazione (la finestra della finestra di messaggio di sistema riproduce questa)
Beep (suono di sistema predefinito)
Stop critico ("Mano") - gioca con errori (la finestra del messaggio di sistema riproduce questo)
I metodi di classe System.Media.SystemSounds
li suoneranno per te.
Implementa qualsiasi altro suono personalizzabile dai tuoi utenti nel pannello di controllo del suono
System.Media.SystemSounds.Hand.Play(); Thread.Sleep(2000);
suona la mano sonora . Nota che suona in modo asincrono, qui ho aggiunto un comando sleep per attendere il completamento del suono. Se non aspetti e riproduci un altro suono, il precedente si interrompe immediatamente.
Il codice qui sotto consente di riprodurre file mp3 e file wave in memoria
player.FileName = "123.mp3";
player.Play();
da http://alvas.net/alvas.audio,samples.aspx#sample6 o
Player pl = new Player();
byte[] arr = File.ReadAllBytes(@"in.wav");
pl.Play(arr);
Per riprodurre un file audio in Windows form usando C # controlliamo un semplice esempio come segue:
1.Vai a Visual Studio (VS-2008/2010/2012) -> Menu File -> fai clic su Nuovo progetto.
2.Nel Nuovo progetto -> fai clic su Applicazione Windows Form -> Assegna un nome e quindi fai clic su OK.
Si aprirà un nuovo progetto "Windows Forms".
3.Trascina e rilascia un controllo Button dalla casella degli strumenti al Windows Form.
4. Fare doppio clic sul pulsante per creare automaticamente il gestore dell'evento Click predefinito e aggiungere il codice seguente.
Questo codice visualizza la finestra di dialogo Apri file e passa i risultati a un metodo denominato "playSound" che creerai nel passaggio successivo.
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "Audio Files (.wav)|*.wav";
if(dialog.ShowDialog() == DialogResult.OK)
{
string path = dialog.FileName;
playSound(path);
}
5. Aggiungere il seguente codice di metodo sotto il pulsante1_Clic event hander.
private void playSound(string path)
{
System.Media.SoundPlayer player = new System.Media.SoundPlayer();
player.SoundLocation = path;
player.Load();
player.Play();
}
6.Ora eseguiamo l'applicazione premendo semplicemente F5 per eseguire il codice.
7.Fare clic sul pulsante e selezionare un file audio. Dopo il caricamento del file, il suono verrà riprodotto.
Spero che questo sia un esempio utile per i principianti ...
Penso che devi prima aggiungere un file .wav a Resources. Ad esempio, hai un file audio denominato Sound.wav. Dopo aver aggiunto il file Sound.wav a Resources, puoi utilizzare questo codice:
System.Media.SoundPlayer player = new System.Media.SoundPlayer(Properties.Resources.Sound);
player.Play();
Questo è un altro modo per riprodurre il suono.