Plays the sound of a beep of a specified frequency and duration through the console speaker.
Assembly: mscorlib (in mscorlib.dll)
<HostProtectionAttribute(SecurityAction.LinkDemand, UI := True)> _ Public Shared Sub Beep ( _ frequency As Integer, _ duration As Integer _ )
[HostProtectionAttribute(SecurityAction.LinkDemand, UI = true)] public static void Beep( int frequency, int duration )
[HostProtectionAttribute(SecurityAction::LinkDemand, UI = true)] public: static void Beep( int frequency, int duration )
[<HostProtectionAttribute(SecurityAction.LinkDemand, UI = true)>] static member Beep : frequency:int * duration:int -> unit
Parameters
- frequency
- Type: System.Int32
The frequency of the beep, ranging from 37 to 32767 hertz.
- duration
- Type: System.Int32
The duration of the beep measured in milliseconds.
| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException |
frequency is less than 37 or more than 32767 hertz. -or- duration is less than or equal to zero. |
| HostProtectionException |
This method was executed on a server, such as SQL Server, that does not permit access to the console. |
Note
|
|---|
|
The Beep method is not supported on the 64-bit editions of Windows Vista and Windows XP. |
Note
|
|---|
|
The HostProtectionAttribute attribute applied to this type or member has the following Resources property value: UI. The HostProtectionAttribute does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the HostProtectionAttribute class or SQL Server Programming and Host Protection Attributes. |
Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition Platform Note: The frequency and duration parameters are ignored for these operating systems.
This example demonstrates the Beep method by playing the first few notes of a song through the console speaker.
' This example demonstrates the Console.Beep(Int32, Int32) method Imports System Imports System.Threading Class Sample Public Shared Sub Main() ' Declare the first few notes of the song, "Mary Had A Little Lamb". Dim Mary As Note() = { _ New Note(Tone.B, Duration.QUARTER), _ New Note(Tone.A, Duration.QUARTER), _ New Note(Tone.GbelowC, Duration.QUARTER), _ New Note(Tone.A, Duration.QUARTER), _ New Note(Tone.B, Duration.QUARTER), _ New Note(Tone.B, Duration.QUARTER), _ New Note(Tone.B, Duration.HALF), _ New Note(Tone.A, Duration.QUARTER), _ New Note(Tone.A, Duration.QUARTER), _ New Note(Tone.A, Duration.HALF), _ New Note(Tone.B, Duration.QUARTER), _ New Note(Tone.D, Duration.QUARTER), _ New Note(Tone.D, Duration.HALF)} ' Play the song Play(Mary) End Sub 'Main ' Play the notes in a song. Protected Shared Sub Play(tune() As Note) Dim n As Note For Each n In tune If n.NoteTone = Tone.REST Then Thread.Sleep(CInt(n.NoteDuration)) Else Console.Beep(CInt(n.NoteTone), CInt(n.NoteDuration)) End If Next n End Sub 'Play ' Define the frequencies of notes in an octave, as well as ' silence (rest). Protected Enum Tone REST = 0 GbelowC = 196 A = 220 Asharp = 233 B = 247 C = 262 Csharp = 277 D = 294 Dsharp = 311 E = 330 F = 349 Fsharp = 370 G = 392 Gsharp = 415 End Enum 'Tone ' Define the duration of a note in units of milliseconds. Protected Enum Duration WHOLE = 1600 HALF = WHOLE / 2 QUARTER = HALF / 2 EIGHTH = QUARTER / 2 SIXTEENTH = EIGHTH / 2 End Enum 'Duration ' Define a note as a frequency (tone) and the amount of ' time (duration) the note plays. Protected Structure Note Private toneVal As Tone Private durVal As Duration ' Define a constructor to create a specific note. Public Sub New(frequency As Tone, time As Duration) toneVal = frequency durVal = time End Sub 'New ' Define properties to return the note's tone and duration. Public ReadOnly Property NoteTone() As Tone Get Return toneVal End Get End Property Public ReadOnly Property NoteDuration() As Duration Get Return durVal End Get End Property End Structure 'Note ' 'This example produces the following results: ' 'This example plays the first few notes of "Mary Had A Little Lamb" 'through the console speaker. ' End Class 'Sample
// This example demonstrates the Console.Beep(Int32, Int32) method using System; using System.Threading; class Sample { public static void Main() { // Declare the first few notes of the song, "Mary Had A Little Lamb". Note[] Mary = { new Note(Tone.B, Duration.QUARTER), new Note(Tone.A, Duration.QUARTER), new Note(Tone.GbelowC, Duration.QUARTER), new Note(Tone.A, Duration.QUARTER), new Note(Tone.B, Duration.QUARTER), new Note(Tone.B, Duration.QUARTER), new Note(Tone.B, Duration.HALF), new Note(Tone.A, Duration.QUARTER), new Note(Tone.A, Duration.QUARTER), new Note(Tone.A, Duration.HALF), new Note(Tone.B, Duration.QUARTER), new Note(Tone.D, Duration.QUARTER), new Note(Tone.D, Duration.HALF) }; // Play the song Play(Mary); } // Play the notes in a song. protected static void Play(Note[] tune) { foreach (Note n in tune) { if (n.NoteTone == Tone.REST) Thread.Sleep((int)n.NoteDuration); else Console.Beep((int)n.NoteTone, (int)n.NoteDuration); } } // Define the frequencies of notes in an octave, as well as // silence (rest). protected enum Tone { REST = 0, GbelowC = 196, A = 220, Asharp = 233, B = 247, C = 262, Csharp = 277, D = 294, Dsharp = 311, E = 330, F = 349, Fsharp = 370, G = 392, Gsharp = 415, } // Define the duration of a note in units of milliseconds. protected enum Duration { WHOLE = 1600, HALF = WHOLE/2, QUARTER = HALF/2, EIGHTH = QUARTER/2, SIXTEENTH = EIGHTH/2, } // Define a note as a frequency (tone) and the amount of // time (duration) the note plays. protected struct Note { Tone toneVal; Duration durVal; // Define a constructor to create a specific note. public Note(Tone frequency, Duration time) { toneVal = frequency; durVal = time; } // Define properties to return the note's tone and duration. public Tone NoteTone { get{ return toneVal; } } public Duration NoteDuration { get{ return durVal; } } } } /* This example produces the following results: This example plays the first few notes of "Mary Had A Little Lamb" through the console speaker. */
// This example demonstrates the Console.Beep(Int32, Int32) method using namespace System; using namespace System::Threading; ref class Sample { protected: // Define the frequencies of notes in an octave, as well as // silence (rest). enum class Tone { REST = 0, GbelowC = 196, A = 220, Asharp = 233, B = 247, C = 262, Csharp = 277, D = 294, Dsharp = 311, E = 330, F = 349, Fsharp = 370, G = 392, Gsharp = 415 }; // Define the duration of a note in units of milliseconds. enum class Duration { WHOLE = 1600, HALF = Duration::WHOLE / 2, QUARTER = Duration::HALF / 2, EIGHTH = Duration::QUARTER / 2, SIXTEENTH = Duration::EIGHTH / 2 }; public: // Define a note as a frequency (tone) and the amount of // time (duration) the note plays. value struct Note { public: Tone toneVal; Duration durVal; // Define a constructor to create a specific note. Note( Tone frequency, Duration time ) { toneVal = frequency; durVal = time; } property Tone NoteTone { // Define properties to return the note's tone and duration. Tone get() { return toneVal; } } property Duration NoteDuration { Duration get() { return durVal; } } }; protected: // Play the notes in a song. static void Play( array<Note>^ tune ) { System::Collections::IEnumerator^ myEnum = tune->GetEnumerator(); while ( myEnum->MoveNext() ) { Note n = *safe_cast<Note ^>(myEnum->Current); if ( n.NoteTone == Tone::REST ) Thread::Sleep( (int)n.NoteDuration ); else Console::Beep( (int)n.NoteTone, (int)n.NoteDuration ); } } public: static void Main() { // Declare the first few notes of the song, "Mary Had A Little Lamb". array<Note>^ Mary = {Note( Tone::B, Duration::QUARTER ),Note( Tone::A, Duration::QUARTER ),Note( Tone::GbelowC, Duration::QUARTER ),Note( Tone::A, Duration::QUARTER ),Note( Tone::B, Duration::QUARTER ),Note( Tone::B, Duration::QUARTER ),Note( Tone::B, Duration::HALF ),Note( Tone::A, Duration::QUARTER ),Note( Tone::A, Duration::QUARTER ),Note( Tone::A, Duration::HALF ),Note( Tone::B, Duration::QUARTER ),Note( Tone::D, Duration::QUARTER ),Note( Tone::D, Duration::HALF )}; // Play the song Play( Mary ); } }; int main() { Sample::Main(); } /* This example produces the following results: This example plays the first few notes of "Mary Had A Little Lamb" through the console speaker. */
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0.NET Framework Client Profile
Supported in: 4, 3.5 SP1Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Note