Console.Beep 方法
定义
通过控制台扬声器播放提示音。Plays the sound of a beep through the console speaker.
重载
| Beep() |
通过控制台扬声器播放提示音。Plays the sound of a beep through the console speaker. |
| Beep(Int32, Int32) |
通过控制台扬声器播放具有指定频率和持续时间的提示音。Plays the sound of a beep of a specified frequency and duration through the console speaker. |
Beep()
通过控制台扬声器播放提示音。Plays the sound of a beep through the console speaker.
public:
static void Beep();
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static void Beep ();
public static void Beep ();
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member Beep : unit -> unit
static member Beep : unit -> unit
Public Shared Sub Beep ()
- 属性
例外
在不允许访问用户界面的服务器(例如 SQL Server)上执行此方法。This method was executed on a server, such as SQL Server, that does not permit access to a user interface.
示例
下面的示例演示 Beep 方法。The following example demonstrates the Beep method. 此示例接受一个从1到9的数字作为命令行参数,并在出现提示时播放提示音。The example accepts a number from 1 through 9 as a command line argument, and plays the beep that number of times.
// This example demonstrates the Console.Beep() method.
using namespace System;
int main()
{
array<String^>^args = Environment::GetCommandLineArgs();
int x = 0;
//
if ( (args->Length == 2) && (Int32::TryParse( args[ 1 ], x ) == true) && ((x >= 1) && (x <= 9)) )
{
for ( int i = 1; i <= x; i++ )
{
Console::WriteLine( "Beep number {0}.", i );
Console::Beep();
}
}
else
Console::WriteLine( "Usage: Enter the number of times (between 1 and 9) to beep." );
}
/*
This example produces the following results:
>beep
Usage: Enter the number of times (between 1 and 9) to beep
>beep 9
Beep number 1.
Beep number 2.
Beep number 3.
Beep number 4.
Beep number 5.
Beep number 6.
Beep number 7.
Beep number 8.
Beep number 9.
*/
// This example demonstrates the Console.Beep() method.
using System;
class Sample
{
public static void Main(String[] args)
{
int x = 0;
//
if ((args.Length == 1) &&
(Int32.TryParse(args[0], out x) == true) &&
((x >= 1) && (x <= 9)))
{
for (int i = 1; i <= x; i++)
{
Console.WriteLine("Beep number {0}.", i);
Console.Beep();
}
}
else
{
Console.WriteLine("Usage: Enter the number of times (between 1 and 9) to beep.");
}
}
}
/*
This example produces the following results:
>beep
Usage: Enter the number of times (between 1 and 9) to beep
>beep 9
Beep number 1.
Beep number 2.
Beep number 3.
Beep number 4.
Beep number 5.
Beep number 6.
Beep number 7.
Beep number 8.
Beep number 9.
*/
' This example demonstrates the Console.Beep() method.
Class Sample
Public Shared Sub Main(args() As String)
Dim x As Integer = 0
Dim i As Integer
'
If (args.Length = 1) _
AndAlso (Int32.TryParse(args(0), x) = True) _
AndAlso ((x >= 1) AndAlso (x <= 9)) Then
For i = 1 To x
Console.WriteLine("Beep number {0}.", i)
Console.Beep()
Next i
Else
Console.WriteLine("Usage: Enter the number of times (between 1 and 9) to beep.")
End If
End Sub
End Class
'
'This example produces the following results:
'
'>beep
'Usage: Enter the number of times (between 1 and 9) to beep
'
'>beep 9
'Beep number 1.
'Beep number 2.
'Beep number 3.
'Beep number 4.
'Beep number 5.
'Beep number 6.
'Beep number 7.
'Beep number 8.
'Beep number 9.
'
注解
默认情况下,提示音的频率为800赫兹,持续时间为200毫秒。By default, the beep plays at a frequency of 800 hertz for a duration of 200 milliseconds.
备注
BeepWindows Vista 和 WINDOWS XP 的64位版本不支持此方法。The Beep method is not supported on the 64-bit editions of Windows Vista and Windows XP.
Beep 包装对 Windows 嘟嘟声功能的调用。Beep wraps a call to the Windows Beep function. BeepWindows 7 之前是否生成 windows 版本的声音依赖于是否存在8254可编程间隔计时器芯片。Whether Beep produces a sound on versions of Windows before Windows 7 depends on the presence of a 8254 programmable interval timer chip. 从 Windows 7 开始,它取决于默认的声音设备。Starting with Windows 7, it depends on the default sound device.
适用于
Beep(Int32, Int32)
通过控制台扬声器播放具有指定频率和持续时间的提示音。Plays the sound of a beep of a specified frequency and duration through the console speaker.
public:
static void Beep(int frequency, int duration);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static void Beep (int frequency, int duration);
public static void Beep (int frequency, int duration);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Beep : int * int -> unit
static member Beep : int * int -> unit
Public Shared Sub Beep (frequency As Integer, duration As Integer)
参数
- frequency
- Int32
提示音的频率,介于 37 到 32767 赫兹之间。The frequency of the beep, ranging from 37 to 32767 hertz.
- duration
- Int32
提示音的持续时间,以毫秒为单位。The duration of the beep measured in milliseconds.
- 属性
例外
frequency 小于 37 或大于 32767 赫兹。frequency is less than 37 or more than 32767 hertz.
或-or-
duration 小于或等于零。duration is less than or equal to zero.
在不允许访问控制台的服务器(例如 SQL Server)上执行此方法。This method was executed on a server, such as SQL Server, that does not permit access to the console.
当前操作系统不是 Windows。The current operating system is not Windows.
示例
此示例通过使用 Beep 控制台发言人播放一首歌曲的前几个笔记来演示方法。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
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.
*/
// 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
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
' 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
' 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
' 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
注解
Beep 包装对 Windows 嘟嘟声功能的调用。Beep wraps a call to the Windows Beep function. BeepWindows 7 之前是否生成 windows 版本的声音依赖于是否存在8254可编程间隔计时器芯片。Whether Beep produces a sound on versions of Windows before Windows 7 depends on the presence of a 8254 programmable interval timer chip. 从 Windows 7 开始,它取决于默认的声音设备。Starting with Windows 7, it depends on the default sound device.
备注
BeepWindows Vista 和 WINDOWS XP 的64位版本不支持此方法。The Beep method is not supported on the 64-bit editions of Windows Vista and Windows XP.