如何用delphi实现扬声器发出一定频率的声音

如何用delphi实现扬声器发出一定频率的声音,第1张

在 delphi 里,可以使用以下方法来 *** 作系统的声音:

最简单的办法是调用 windows API 里的 Beep 函数,这种办法在指定持续时间内,发出特定频率的声音,具体的音符与频率关系,你可以搜索“音符与频率对照表”:

调用代码如下:

  Winapi.Windows.Beep(频度, 时长)  //高版本delphi

  Windows.Beep(频度, 时长) //XE之前的版本

1.先在窗体中添加一个trackbar控件,可通过改变它的位置来调节音量,在track

bar1的属性中,我们把Max属性修改成255,改成这个值是为了便于进行二进制的音量调

节 *** 作。

2.为了调用一个Windows函数,在uses子句里加上Mmsystem。

3.为trackbar1的Onchange事件编写如下代码:

procedure Tform1.TrackBar1change(Sender:Tobject)

var t,v:longint;// t的最大值为8位的二进制:11111111;用v来表示音量的大

小,这是个32位的整数,高16位表示右声道的音量,低16位表示左声道的音量

begin

t:=trackbar1.Position;//得到Trackbar的位置,可用这个值来表示音量的大小

v:=(t shl 8) or (t shl 24);//将t左移8位、24位

waveoutsetvolume(0,v);//设置音量

end;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/9979643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存