Console.Beep 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
通过控制台扬声器播放蜂鸣声。
重载
| 名称 | 说明 |
|---|---|
| Beep() |
通过控制台扬声器播放蜂鸣声。 |
| Beep(Int32, Int32) |
通过控制台扬声器播放指定频率和持续时间的蜂鸣声。 |
Beep()
通过控制台扬声器播放蜂鸣声。
public:
static void Beep();
public static void Beep();
static member Beep : unit -> unit
Public Shared Sub Beep ()
例外
此方法在不允许访问用户界面的服务器上执行,例如SQL Server。
示例
以下示例演示了该方法 Beep 。 该示例接受从 1 到 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)) &&
((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.
open System
[<EntryPoint>]
let main args =
if args.Length = 1 then
match Int32.TryParse args[0] with
| true, x when x >= 1 && x <= 9 ->
for i = 1 to x do
Console.WriteLine $"Beep number {i}."
Console.Beep()
| _ ->
Console.WriteLine "Usage: Enter the number of times (between 1 and 9) to beep."
else
Console.WriteLine "Usage: Enter the number of times (between 1 and 9) to beep."
0
// 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 毫秒。
Beep包装对 Windows Beep 函数的调用。 在Windows 7之前,Beep是否在Windows版本上产生声音取决于是否存在 8254 可编程间隔计时器芯片。 从Windows 7开始,它取决于默认声音设备。
适用于
Beep(Int32, Int32)
通过控制台扬声器播放指定频率和持续时间的蜂鸣声。
public:
static void Beep(int frequency, int duration);
public static void Beep(int frequency, int duration);
static member Beep : int * int -> unit
Public Shared Sub Beep (frequency As Integer, duration As Integer)
参数
- frequency
- Int32
蜂鸣声的频率,范围为 37 到 32767 赫茨。
- duration
- Int32
以毫秒为单位测量的蜂鸣声持续时间。
例外
此方法在不允许访问控制台的服务器上执行,例如SQL Server。
当前操作系统不是 Windows。
示例
此示例通过控制台扬声器播放歌曲的前几个备注来演示 Beep 该方法。
// 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
open System
open System.Threading
// Define the frequencies of notes in an octave, as well as
// silence (rest).
type 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.
type Duration =
| WHOLE = 1600
| HALF = 800
| QUARTER = 400
| EIGHTH = 200
| SIXTEENTH = 100
// Define a note as a frequency (tone) and the amount of
// time (duration) the note plays.
[<Struct>]
type Note =
{ Tone: Tone
Duration: Duration }
// Play the notes in a song.
let play tune =
for n in tune do
if n.Tone = Tone.REST then
Thread.Sleep(int n.Duration)
else
Console.Beep(int n.Tone, int n.Duration)
// Declare the first few notes of the song, "Mary Had A Little Lamb".
let mary =
[ { Tone = Tone.B; Duration = Duration.QUARTER }
{ Tone = Tone.A; Duration = Duration.QUARTER }
{ Tone = Tone.GbelowC; Duration = Duration.QUARTER }
{ Tone = Tone.A; Duration = Duration.QUARTER }
{ Tone = Tone.B; Duration = Duration.QUARTER }
{ Tone = Tone.B; Duration = Duration.QUARTER }
{ Tone = Tone.B; Duration = Duration.HALF }
{ Tone = Tone.A; Duration = Duration.QUARTER }
{ Tone = Tone.A; Duration = Duration.QUARTER }
{ Tone = Tone.A; Duration = Duration.HALF }
{ Tone = Tone.B; Duration = Duration.QUARTER }
{ Tone = Tone.D; Duration = Duration.QUARTER }
{ Tone = Tone.D; Duration = Duration.HALF } ]
// Play the song
play mary
// 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 函数的调用。 在Windows 7之前,Beep是否在Windows版本上产生声音取决于是否存在 8254 可编程间隔计时器芯片。 从Windows 7开始,它取决于默认声音设备。