主板唱歌---beep

菜鸟编程 十五楼的鸟儿 2543浏览 0评论
看到那堆tag就知道本文的作者写程序很不成熟,诚然,我还是个编程菜鸟,昨天看到个好玩的,随手翻翻资料,编译通过,运行了下,还不错。
以下程序可以使得你主板的蜂鸣器,就是开机的时候滴的一声的那个小喇叭发出一定频率的声音。
以下下载地址请移步:http://nobird.ys168.com/ beep目录中有下载。
我要唱青花瓷.rar 青花瓷
singsong.rar 油and米
回到过去.rar jay的
Text1.rar 频率越来越高,最后到你受不了把程序关闭~~
Project1.rar 这个是让声卡也就是音响或者耳麦发出系统声音的。

以上程序都源于windows的api
delphi中在 SysUtils 单元定义 Beep 方法, 可以发出一个声音, 一般用于提醒和调试.
Beep 其实是调用的 API 函数: MessageBeep(MB_OK);
MessageBeep 有下面几种用法可以调用几种不同的声音文件:

[code=delphi]
MessageBeep(MB_OK);
MessageBeep(MB_ICONHAND);
MessageBeep(MB_ICONQUESTION);{这个不响, 不知道为什么}
MessageBeep(MB_ICONEXCLAMATION);
MessageBeep(MB_ICONASTERISK);
MessageBeep($FFFFFFFF);{同 MessageBeep(MB_OK);
[/code]
Beep 同时也是一个 API 函数, 它可以指定声音的高度和长度; 因为和 SysUtils.Beep 重名了, 所以应该这样调用:
Windows.Beep(音高, 长度);
譬如: Windows.Beep(440, 2000); 会把一个国际标准音(440HZ)演奏 2 秒钟.
另外第一个参数的取值范围是: $25 - $7FFFF.
下面的程序会演奏<奥运会主题歌>的第一句:
[code=delphi]
unit Unit1;
interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;

var
Form1: TForm1;

implementation
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const
t = 800;
begin
Windows.Beep(330, t);
Windows.Beep(392, t);
Windows.Beep(262, t*2);
Windows.Beep(294, t);
Windows.Beep(330, t);
Windows.Beep(196, t*2);
Windows.Beep(262, t);
Windows.Beep(294, t);
Windows.Beep(330, t);
Windows.Beep(392, t);
Windows.Beep(294, t*4);
end;
end. [/code]

转载请注明:鸟儿博客 » 主板唱歌---beep

与本文相关的文章

游客
发表我的评论 换个身份
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

等待大佬打赏中~