Console.Beep 方法

定义

通过控制台扬声器播放提示音。

重载

Beep()

通过控制台扬声器播放提示音。

Beep(Int32, Int32)

通过控制台扬声器播放具有指定频率和持续时间的提示音。

Beep()

Source:
Console.cs
Source:
Console.cs
Source:
Console.cs

通过控制台扬声器播放提示音。

C#
[System.Runtime.Versioning.UnsupportedOSPlatform("android")]
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static void Beep();
C#
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static void Beep();
C#
public static void Beep();
属性

例外

在不允许访问用户界面的服务器(例如 SQL Server)上执行此方法。

示例

下面的示例演示 Beep 方法。 该示例接受从 1 到 9 的数字作为命令行参数,并播放该次数的蜂鸣声。

C#
// 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.

*/

注解

默认情况下,蜂鸣声以 800 赫的频率播放,持续时间为 200 毫秒。

Beep 包装对 Windows Beep 函数的调用。 是否 Beep 在 Windows 7 之前的 Windows 版本上生成声音取决于是否存在 8254 可编程间隔计时器芯片。 从 Windows 7 开始,这取决于默认声音设备。

适用于

.NET 10 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

Beep(Int32, Int32)

Source:
Console.cs
Source:
Console.cs
Source:
Console.cs

通过控制台扬声器播放具有指定频率和持续时间的提示音。

C#
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static void Beep(int frequency, int duration);
C#
public static void Beep(int frequency, int duration);

参数

frequency
Int32

提示音的频率,介于 37 到 32767 赫兹之间。

duration
Int32

提示音的持续时间,以毫秒为单位。

属性

例外

frequency 小于 37 或大于 32767 赫兹。

duration 小于或等于零。

在不允许访问控制台的服务器(例如 SQL Server)上执行此方法。

当前操作系统不是 Windows。

示例

此示例通过控制台扬声器播放歌曲的前几个音符来演示 Beep 方法。

C#
// 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.
*/

注解

Beep 包装对 Windows Beep 函数的调用。 是否 Beep 在 Windows 7 之前的 Windows 版本上生成声音取决于是否存在 8254 可编程间隔计时器芯片。 从 Windows 7 开始,这取决于默认声音设备。

适用于

.NET 10 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1