P
pengph
Unregistered / Unconfirmed
GUEST, unregistred user!
我在做媒体播放器,要求不管什么声音文件,都要使滚动条能改变音量。
由于TrackBar只用8位二进制数表示音量,waveoutsetvolume函数中的第二个参数
代表32位的整数低16位表示左声道的音量,高16位表示右声道的音量,
而auxsetvolume函数中的第一个参数代表设备类型,第二个参数代表16位的整数吗?
播放cd时我知道用auxsetvolume来改音量,但和waveoutsetvolume的使用一样吗?
播放*.midi是怎样控制的?
帮助文件我已看过,请讲明思路。
最好给我例子!!!谁能回答,全分奉送!!!
waveoutsetvolume的方法如下:
procedure TForm1.TB_lChange(Sender: TObject);
var
pos,vol:longint;//左声道
begin
pos:=TB_l.Position;
waveoutgetvolume(0,@vol);
vol:=vol and $ffff0000 or (pos shl 8);
waveoutsetvolume(0,vol);
end;
由于TrackBar只用8位二进制数表示音量,waveoutsetvolume函数中的第二个参数
代表32位的整数低16位表示左声道的音量,高16位表示右声道的音量,
而auxsetvolume函数中的第一个参数代表设备类型,第二个参数代表16位的整数吗?
播放cd时我知道用auxsetvolume来改音量,但和waveoutsetvolume的使用一样吗?
播放*.midi是怎样控制的?
帮助文件我已看过,请讲明思路。
最好给我例子!!!谁能回答,全分奉送!!!
waveoutsetvolume的方法如下:
procedure TForm1.TB_lChange(Sender: TObject);
var
pos,vol:longint;//左声道
begin
pos:=TB_l.Position;
waveoutgetvolume(0,@vol);
vol:=vol and $ffff0000 or (pos shl 8);
waveoutsetvolume(0,vol);
end;