Console.Beep 方法

定义

通过控制台扬声器播放蜂鸣声。

重载

名称 说明
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

以毫秒为单位测量的蜂鸣声持续时间。

例外

frequency 小于 37 或大于 32767 赫茨。

-或-

duration 小于或等于零。

此方法在不允许访问控制台的服务器上执行,例如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开始,它取决于默认声音设备。

适用于