CB中怎样调用系统扬声器的声音,即发出系统的嘟嘟...声音?

2hredfox 2003-09-16 05:09:27
CB中怎样调用系统扬声器的声音,即发出系统的嘟嘟...声音?
...全文
66 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangjuliang 2003-09-16
  • 打赏
  • 举报
回复
beep
Libran 2003-09-16
  • 打赏
  • 举报
回复
98下只能用无参数的Beep(),使喇叭发出简单的固定凭率和时长的声音;
NT/2000下可以用参数指定喇叭声音的频率和时长
Behard 2003-09-16
  • 打赏
  • 举报
回复
我不是刚在 ChinaBCB 上回答吗?
编译失败 2003-09-16
  • 打赏
  • 举报
回复
參數: freq:聲音頻率
delay:發聲時間

在NT 或 WIN2000下,直接調用Beep(freq,delay)函數,在98下無效,所以先要判斷操作系統是否NT,注意:在NT或2000下不能用98的方法,会报错.

void __fastcall Tfrmmain::Bell(int freq,int delay)
{
if (!GetVersion() < 0x80000000) //判斷操作系統,<0x80000000 為98
{
const int scale = 1193180;
WORD freqTemp = (WORD)(scale/freq);

asm
{
in al,61h;
or al,3;
out 61h,al;
mov al,0xb6;
out 43h,al;
mov ax,freqTemp;
out 42h,al;
mov al,ah;
out 42h,al;
}
Sleep ( delay ) ;
asm
{
in al,0x61;
and al,0xfc;
out 0x61,al;
}
}
else
{Beep(freq,delay);}
}
//-------------------------------------
NowCan 2003-09-16
  • 打赏
  • 举报
回复
如果是NT,可以用Beep,如果是98,好像要用汇编。
HUANG_JH 2003-09-16
  • 打赏
  • 举报
回复
Beep();

1,222

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧