Ich möchte mit dem PC-Lautsprecher in C # einen Signalton ausgeben. Bei Verwendung des folgenden Codes:
%Vor% Anstatt einen Piepton durch den PC-Lautsprecher zu geben, gibt er einfach einen Ton mit einer bestimmten Frequenz und Dauer an das Standard-Audiogerät aus (z. B. als Headset). Das gleiche passiert bei Verwendung von Console.Beep()
.
Warum?
Anmerkungen:
Der PC-Lautsprecher ist eingeschaltet. Wenn ich den PC starte, piept er.
Das Betriebssystem ist Windows 8.
Haben Sie 32-Bit-Windows-Maschinen herumliegen? Probieren Sie Console.Beep();
auf einem davon, der PC-Lautsprecher piepst.
Bei 64-Bit-Windows (XP, Vista, 7 oder 8) ist der Treiber dafür nicht vorhanden, so dass er stattdessen aus dem Lautsprecher kommt, der an die Maschine angeschlossen ist.
Berichtigen Sie mich auch, wenn ich falsch liege, aber ich würde vermuten, dass der Piepton, den Sie hören, wenn Ihr PC eingeschaltet wird, aus Ihrem BIOS stammt, bevor Sie tatsächlich Windows 8 drücken.
Ab Windows 7 können Sie keinen Ton mehr über den internen Lautsprecher erzeugen.
Für Windows 7 haben wir das Problem vollständig gelöst - wir haben alle Funktionen, die in Beep.Sys enthalten waren, jetzt in den System-Agent für System-Sounds verschoben - jetzt, wenn Sie die Beep () API aufrufen, anstatt den 8254-Chip zu manipulieren Der Anruf wird in einen Benutzermodus-Agent umgeleitet, der die Töne tatsächlich abspielt.
[...]
Es gab auch einige unerwartete Konsequenzen. Das größte war, dass Leute bemerkten, wenn Anwendungen Beep () genannt wurden. Sie hatten ihre PCs weit genug entfernt (oder es gab genug Umgebungsgeräusche), die sie nie bemerkt hatten, als ihr PC sie piepte, bis die Geräusche aus ihren Lautsprechern kamen.
Siehe hier für Details:
Sie können SystemSounds.Beep
zum Beispiel verwenden: SystemSounds.Beep.Play();
Siehe auch: SystemSounds.Beep-Eigenschaft