2008-11-26 8 views

Antwort

161

In .NET 2.0 können Sie Console.Beep (verwenden).

// Default beep 
Console.Beep(); 

Sie können auch die Frequenz und Länge des Pieptons in Millisekunden angeben.

// Beep at 5000 Hz for 1 second 
Console.Beep(5000, 1000); 

Weitere Informationen finden http://msdn.microsoft.com/en-us/library/8hftfeyw%28v=vs.110%29.aspx

+1

Ihr neues Abzeichen genießen. ;) –

+11

Ich habe gerade in Win 7 x64 RC getestet, und obwohl der interne Lautsprecher keinen Signalton gab, gab es einen Piepton durch die Lautsprecher, als ich sie eingesteckt hatte und an. Ich denke, es ist nur der interne (Mobo) Lautsprecher, der nicht piepst. Danke für die Info @Lck. –

+1

+1 für den x64-Tipp, funktioniert auch nicht auf Vista x64! –

20

Console.Beep

10

dieses Versuchen

Console.WriteLine("\a")

130

Sie können auch die relativ ungenutzt verwenden:

System.Media.SystemSounds.Beep.Play(); 
    System.Media.SystemSounds.Asterisk.Play(); 
    System.Media.SystemSounds.Exclamation.Play(); 
    System.Media.SystemSounds.Question.Play(); 
    System.Media.SystemSounds.Hand.Play(); 

Dokumentation hierfür ist in verfügbar klingt http://msdn.microsoft.com/en-us/library/system.media.systemsounds(v=vs.110).aspx

+0

Leider benötigen diese Systemsounds externe Lautsprecher, mit denen nicht immer gerechnet werden kann. Es ist definitiv gut, diese zu kennen! –

+1

Jetzt wissen, dass x64-Versionen von Windows Lautsprecher Console.Beep() hören müssen, funktionieren diese Optionen genauso gut. –

+4

Mein Vista x64 auf einem Laptop mit eingebauten Lautsprechern spielt Console.Beep() nicht, aber diese sind in Ordnung. –

4

Es wird bestätigt, dass win7 und neuere Versionen (mindestens 64bit oder beides) Verwenden Sie nicht den Systemlautsprecher und leiten Sie stattdessen den Anruf an das Standardgeräuschgerät weiter.

So wird die Verwendung von system.beep() in Win7/8/10 nicht mit internen Systemlautsprecher klingen. Sie erhalten jedoch einen Piepton von externen Lautsprechern, sofern dieser verfügbar ist.

+0

https://msdn.microsoft.com/en-us/library/windows/desktop/ms679277(v=vs.85).aspx – hfrmobile

+0

Aber es gibt keine Garantie, es funktioniert/piept durch Soundkarte. Auf meiner Windows 10 Maschine gibt es keinen Piep - Soundkarte funktioniert natürlich – hfrmobile

1

Ich bin gerade auf diese Frage gestoßen, als ich nach der Lösung für mich suchte. Sie könnten erwägen, die System-Piep-Funktion aufzurufen, indem Sie einige Kernel32-Dateien ausführen.

using System.Runtime.InteropServices; 
     [DllImport("kernel32.dll")] 
     public static extern bool Beep(int freq, int duration); 

     public static void TestBeeps() 
     { 
      Beep(1000, 1600); //low frequency, longer sound 
      Beep(2000, 400); //high frequency, short sound 
     } 

Dies ist das gleiche, wie Sie Powershell laufen würden:

[console]::beep(1000, 1600) 
[console]::beep(2000, 400)