System.Console.Beep 方法 (Int32, Int32)
方法描述
通过控制台扬声器播放具有指定频率和持续时间的提示音。
语法定义(C# System.Console.Beep 方法 (Int32, Int32) 的用法)
[HostProtectionAttribute(SecurityAction.LinkDemand, UI = true)] public static void Beep( int frequency, int duration )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
frequency | System-Int32 | 提示音的频率,介于 37 到 32767 赫兹之间。 |
duration | System-Int32 | 提示音的持续时间,以毫秒为单位。 |
返回值 | void |
提示和注释
注意
在 64 位版本的 Windows Vista 和 Windows XP 上不支持Beep 方法。
注意
应用到此类型或成员的 HostProtectionAttribute 特性具有以下 Resources 属性值:UI。HostProtectionAttribute 不影响桌面应用程序(桌面应用程序一般通过双击图标、键入命令或在浏览器中输入 URL 启动)。有关更多信息,请参见 HostProtectionAttribute 类或 SQL Server 编程和宿主保护特性。
Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition 平台说明:这些操作系统将忽略 frequency 和 duration 参数。
System.Console.Beep 方法 (Int32, Int32)例子
此示例通过使用控制台扬声器播放一首歌曲的前几个音符演示 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. */
异常
异常 | 异常描述 |
---|---|
ArgumentOutOfRangeException |
|
HostProtectionException | 在不允许访问控制台的服务器(如 SQL Server)上执行此方法。 |
版本信息
.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。