Wie kann ich den internen Lautsprecher des Computers in C # ohne externe Lautsprecher piepen lassen?
104
In .Net 2.0 können Sie Console.Beep () verwenden.
// Default beep
Console.Beep();
Sie können auch die Häufigkeit und Länge des Pieptons in Millisekunden angeben.
// Beep at 5000 Hz for 1 second
Console.Beep(5000, 1000);
Weitere Informationen finden Sie unter http://msdn.microsoft.com/en-us/library/8hftfeyw%28v=vs.110%29.aspx
Beep()
kann über externe Lautsprecher einen vollständigen Frequenzbereich hören . +1 für den internen Teil, das habe ich jedoch nie bemerkt.Sie können auch das relativ unbenutzte verwenden:
Die Dokumentation zu diesen Sounds finden Sie unter http://msdn.microsoft.com/en-us/library/system.media.systemsounds(v=vs.110).aspx
quelle
Die Lösung wäre:
quelle
Versuche dies
Console.WriteLine("\a")
quelle
Es wird bestätigt, dass Windows 7 und neuere Versionen (mindestens 64 Bit oder beide) keine Systemlautsprecher verwenden und stattdessen den Anruf an das Standard-Audiogerät weiterleiten.
Die Verwendung
system.beep()
in win7 / 8/10 erzeugt also keinen Ton über den internen Systemlautsprecher. Stattdessen erhalten Sie einen Signalton von externen Lautsprechern, sofern diese verfügbar sind.quelle
Ich bin gerade auf diese Frage gestoßen, als ich nach einer Lösung für mich gesucht habe. Sie können die System-Beep-Funktion aufrufen, indem Sie einige Kernel32-Funktionen ausführen.
Dies ist das gleiche, wie Sie Powershell ausführen würden:
quelle