有很好的kernel32哔声(板载嘟嘟声)?

我想知道是否有人发现一个很好的蜂鸣声组合,实际上听起来像音乐。

这是如何调用该方法。

[DllImport("Kernel32.dll")] public static extern bool Beep(UInt32 frequency, UInt32 duration); // ... // call Beep(2000, 400); 

我第一次尝试:

  for (int j = 1; j < 20; j++) { for (int i = 1; i <= 10; i++) { Console.Beep(300 * i, 200); } } 

你可以用下面的简单的程序来玩耍使用Beep旋律:

 using System; using System.Runtime.InteropServices; class MelodyPlayer { const double ConcertPitch = 440.0; class Note { [DllImport("coreel32.dll")] public static extern bool Beep(UInt32 frequency, UInt32 duration); public const int C = -888; public const int CSharp = -798; public const int DFlat = CSharp; public const int D = -696; public const int DSharp = -594; public const int EFlat = DSharp; public const int E = -498; public const int F = -390; public const int FSharp = -300; public const int GFlat = FSharp; public const int G = -192; public const int GSharp = -96; public const int AFlat = GSharp; public const int A = 0; public const int ASharp = 108; public const int BFlat = ASharp; public const int B = 204; public int Key { get; set; } public int Octave { get; set; } public uint Duration { get; set; } public Note(int key, int octave, uint duration) { this.Key = key; this.Octave = octave; this.Duration = duration; } public uint Frequency { get { double factor = Math.Pow(2.0, 1.0 / 1200.0); return ((uint)(MelodyPlayer.ConcertPitch * Math.Pow(factor, this.Key + this.Octave * 1200.0))); } } public void Play() { Beep(this.Frequency, this.Duration); } } static void Main(string[] args) { Note[] melody = new Note[] { new Note(Note.C, 0, 100), new Note(Note.C, 0, 100), new Note(Note.D, 0, 100), new Note(Note.E, 0, 100), new Note(Note.F, 0, 100), new Note(Note.G, 0, 100), new Note(Note.A, 0, 100), new Note(Note.B, 0, 100), new Note(Note.C, 1, 100), new Note(Note.D, 1, 100), new Note(Note.E, 1, 100), new Note(Note.F, 1, 100), new Note(Note.G, 1, 100), new Note(Note.A, 1, 100), new Note(Note.B, 1, 100), new Note(Note.C, 2, 100) }; foreach (var note in melody) { note.Play(); } } } 

对于那些感兴趣的人:这使用了一个Werckmeister气质,并根据为这个气质定义的Cent值计算频率。

哔声功能由QBasic的播放命令包装。 大量的谷歌击中那一个,这是最好的选择 。 编写代码来翻译播放字符串可以使这比复制粘贴更有趣。 语法在这里描述 。

还有System.Console.Beep

检查Google的单声道铃声,然后用十六进制编辑器打开文件,并对歌曲进行逆向工程。 如果您的程序将读取原始文件并将其转换为即时提示音,则可获得奖励积分。

曾经有一个声音驱动程序将使用PC扬声器作为PCM音频设备(声卡)

  • PC扬声器声卡驱动程序 (Windows XP)<=我不知道这是否工作了…使用您自担风险。
  • 来自Microsoft的PC扬声器驱动程序 (Windows 9x)