怎样获得声卡输出时的音频的频率!(50分)

  • 主题发起人 主题发起人 八神庵
  • 开始时间 开始时间

八神庵

Unregistered / Unconfirmed
GUEST, unregistred user!
用什么方法可以获得声卡输出时的音频的频率值!
Label1.Caption:=IntToStr(音频的频率值);
 
频率?你是指声音的大小吗?
 
waveout.dwFormats 就是输出频率
 
这些答案不能满足我的要求。
即:Label1.Caption:=IntToStr(ABC);ABC的值随声音大小变化而变化。可以吗?[:(]
 
急!大家帮帮忙吧!我这里电话费很贵![:(][:(][:(]
 
use shellapi;
procedure TForm1.Button1Click(Sender: TObject);
var
b:dword;
begin

waveOutGetVolume(0,@b);
if b>$ffff then

b:=hiWord(b);
showmessage(format('%u',));
end;
 
kingdeezj说的代码我试了一下,不是用SHELLAPI吧,用MMSYSTEM就可以.
但所得的结果是65535,不知道这个数是什么数.[:(]
我想要的结果应是:
procedure TForm1.Timer1Timer(Sender: TObject);
begin

Label1.Caption:=IntToStr(ABC);//ABC的值随声音大小变化而变化
end;

有点像WINAMP的频谱显示一样的结果.[:(]
 
我的代码返回值是音量大小(十进值),你试试更改音量就知道了。
 
没有得到好的结果!不过分数都分给你们!因为我可能很久不再上网了!网费高呀!很多谢你们!
 
后退
顶部