마스터 볼륨에 대한 소스 입니다. 근데 볼륨변경이 안됩니다. 에러 체크를 하면 파라미터가 잘못 돼었다고 하는데 실행에는 문제가 없습니다.
[소스]
implementation
uses MMSYSTEM;
{$R *.dfm}
function SetVolume(ID, Value: DWORD): Boolean;
var
Volume: array[0..1] of TMixerControlDetails_Unsigned;
mxcd: TMixerControlDetails;
begin
Volume[0].dwValue := Value;
Volume[1].dwValue := Value;
with mxcd do
begin
cbStruct := SizeOf(mxcd);
dwControlID := ID;
cChannels := 2;
cMultipleItems := 0;
cbDetails := SizeOf(TMixerControlDetails_Unsigned) * 2;
paDetails := @Volume;
end;
Result := (mixerSetControlDetails(0, @mxcd, MIXER_SETCONTROLDETAILSF_VALUE) = MMSYSERR_NOERROR);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if SetVolume(0, 65535) then
showmessage('OK')
else
showmessage('NO');
end;
믹서 오픈을 안해서 그러는건지.....