it-swarm.com.de

So spielen Sie einen Sound in C #, .NET

Ich habe eine Windows-Anwendung in C # /. NET geschrieben.

Wie kann ich einen bestimmten Sound abspielen, wenn auf eine Schaltfläche geklickt wird?

104
Khilen Maniyar

Du könntest benutzen:

System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"c:\mywavfile.wav");
player.Play();
204
bporter

Sie können SystemSound verwenden, zum Beispiel System.Media.SystemSounds.Asterisk.Play();.

83
kd7

Für Windows Forms besteht eine Möglichkeit darin, SoundPlayer zu verwenden.

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()
    }
}

MSDN-Seite

Dies funktioniert auch mit WPF, aber Sie haben andere Möglichkeiten, wie zum Beispiel die Verwendung von MediaPlayerMSDN-Seite

31
ChrisF

Zusätzliche Information.

Dies ist eine etwas anspruchsvolle Antwort für Anwendungen, die sich nahtlos in die Windows-Umgebung einfügen möchten. In anderen Antworten wurden technische Details zum Abspielen bestimmter Sounds angegeben. Beachten Sie außerdem immer diese beiden Punkte:

  1. Verwenden Sie in typischen Szenarien fünf Standardsounds , d. H.

    • Asterisk - Spielen, wenn Sie das aktuelle Ereignis hervorheben möchten

    • Frage - mit Fragen spielen (Systemmeldungsfenster spielt diese ab)

    • Exclamation - spiele mit dem Ausrufungssymbol (Systemmeldungsfenster spielt dieses ab)

    • Beep (Standard-Systemton)

    • Critical Stop ("Hand") - Spielen mit Fehler (Systemmeldungsfenster spielt dieses ab)

    Methoden der Klasse System.Media.SystemSounds spielen sie für Sie.

  2. Implementieren Sie alle anderen von Ihren Benutzern anpassbaren Sounds in der Sound Systemsteuerung

    • Auf diese Weise können Benutzer auf einfache Weise Sounds in Ihrer Anwendung ändern oder entfernen, und Sie müssen dafür keine Benutzeroberfläche schreiben - diese ist bereits vorhanden
    • Jedes Benutzerprofil kann diese Sounds auf eigene Weise überschreiben
    • Wie man:
      • Erstellen Sie ein Audioprofil Ihrer Anwendung in der Windows-Registrierung (Hinweis: Es ist keine Programmierung erforderlich, fügen Sie einfach die Schlüssel zum Installationsprogramm Ihrer Anwendung hinzu.)
      • Lesen Sie in Ihrer Anwendung den Audiodateipfad oder die Ressource DLL aus Ihren Registrierungsschlüsseln und spielen Sie sie ab. (Wie man Sounds spielt, können Sie in anderen Antworten sehen.)
10
miroxlav

Der folgende Code ermöglicht das Abspielen von MP3-Dateien und In-Memory-Wave-Dateien

player.FileName = "123.mp3";
player.Play();

from http://alvas.net/alvas.audio,samples.aspx#sample6 or

Player pl = new Player();
byte[] arr = File.ReadAllBytes(@"in.wav");
pl.Play(arr);

from http://alvas.net/alvas.audio,samples.aspx#sample7

8
Aleks

Um eine Audiodatei im Windows-Format mit C # abzuspielen, überprüfen wir ein einfaches Beispiel wie folgt:

1. Gehen Sie zu Visual Studio (VS-2008/2010/2012) -> Menü Datei -> klicken Sie auf Neues Projekt.

2.In dem neuen Projekt -> klicken Sie auf Windows Forms-Anwendung -> geben Sie einen Namen und klicken Sie dann auf OK.

Ein neues "Windows Forms" -Projekt wird geöffnet.

3.Ziehen Sie ein Button-Steuerelement aus der Toolbox in das Windows Form.

4.Doppelklicken Sie auf die Schaltfläche, um automatisch den standardmäßigen Click-Ereignishandler zu erstellen, und fügen Sie den folgenden Code hinzu.

Dieser Code zeigt das Dialogfeld "Datei öffnen" an und übergibt die Ergebnisse an eine Methode mit dem Namen "playSound", die Sie im nächsten Schritt erstellen werden.

 OpenFileDialog dialog = new OpenFileDialog();
 dialog.Filter = "Audio Files (.wav)|*.wav";


if(dialog.ShowDialog() == DialogResult.OK)
{
  string path = dialog.FileName;
  playSound(path);
}

5.Fügen Sie den folgenden Methodencode unter der Ereignisbehandlungsroutine button1_Click hinzu.

 private void playSound(string path)
 {
   System.Media.SoundPlayer player = new System.Media.SoundPlayer();
   player.SoundLocation = path;
   player.Load();
   player.Play();
 }

6. Führen Sie die Anwendung jetzt aus, indem Sie F5 drücken, um den Code auszuführen.

7.Klicken Sie auf die Schaltfläche und wählen Sie eine Audiodatei aus. Nach dem Laden der Datei wird der Sound abgespielt.

Ich hoffe das ist ein nützliches Beispiel für Anfänger ...

Ich denke, Sie müssen zunächst eine .wav-Datei zu Resources hinzufügen. Zum Beispiel haben Sie eine Sounddatei mit dem Namen Sound.wav. Nachdem Sie die Sound.wav-Datei zu Resources hinzugefügt haben, können Sie diesen Code verwenden:

System.Media.SoundPlayer player = new System.Media.SoundPlayer(Properties.Resources.Sound);
player.Play();

Dies ist eine andere Möglichkeit, um Sound abzuspielen.