Comment faire retentir le haut-parleur interne de l'ordinateur en C # sans haut-parleurs externes?
En .Net 2.0, vous pouvez utiliser Console.Beep ().
// Default beep
Console.Beep();
Vous pouvez également spécifier la fréquence et la durée du bip en millisecondes.
// Beep at 5000 Hz for 1 second
Console.Beep(5000, 1000);
Pour plus d'informations, consultez http://msdn.Microsoft.com/en-us/library/8hftfeyw%28v=vs.110%29.aspx
Vous pouvez également utiliser le relativement inutilisé:
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();
La documentation de ces sons est disponible dans http://msdn.Microsoft.com/en-us/library/system.media.systemsounds (v = vs.110) .aspx
Console.Beep
Essaye ça
Console.WriteLine("\a")
Il est confirmé que Win7 et versions plus récentes (au moins 64 bits ou les deux) dose n'utilise pas le haut-parleur système et au lieu de cela, ils acheminent l'appel vers le périphérique audio par défaut.
Ainsi, l’utilisation de system.beep()
dans win7/8/10 ne sonne pas avec le haut-parleur interne du système. Mais vous entendrez des bips sonores provenant de haut-parleurs externes, le cas échéant.
Je suis juste tombé sur cette question en cherchant la solution pour moi-même. Vous pouvez envisager d'appeler la fonction bip système en exécutant des opérations kernel32.
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
}
C'est la même chose que si vous utilisiez PowerShell:
[console]::beep(1000, 1600)
[console]::beep(2000, 400)