Hoe kan ik de computer laten piepen in C#?

Hoe laat ik de interne luidspreker van de computer piepen in C# zonder externe luidsprekers?


Antwoord 1, autoriteit 100%

In .Net 2.0 kunt u Console.Beep() gebruiken.

// Default beep
Console.Beep();

Je kunt ook de frequentie en lengte van de piep in milliseconden specificeren.

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

Raadpleeg voor meer informatie http:// msdn.microsoft.com/en-us/library/8hftfeyw%28v=vs.110%29.aspx


Antwoord 2, autoriteit 78%

U kunt ook de relatief ongebruikte gebruiken:

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

Documentatie voor deze geluiden is beschikbaar in http://msdn.microsoft.com/en-us/library/system.media.systemsounds(v=vs.110).aspx


Antwoord 3, autoriteit 12%

De oplossing zou zijn,

Console.Beep

Antwoord 4, autoriteit 7%

Probeer dit

Console.WriteLine("\a")


Antwoord 5, autoriteit 4%

Het is bevestigd dat Windows 7 en nieuwere versies(minstens 64bit of beide) geen systeemluidsprekergebruiken en in plaats daarvan de oproep doorsturen naar het standaard geluidsapparaat.

Dus het gebruik van system.beep()in win7/8/10 zal geen geluid produceren met de interne systeemluidspreker. In plaats daarvan hoor je een pieptoon van externe luidsprekers als deze beschikbaar zijn.


Antwoord 6, autoriteit 4%

Ik kwam deze vraag net tegen tijdens het zoeken naar de oplossing voor mezelf.
Je zou kunnen overwegen om de systeempiepfunctie aan te roepen door wat kernel32-dingen uit te voeren.

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
        }

Dit is hetzelfde als wanneer u powershell zou gebruiken:

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

Other episodes