Delphi相談室その4
■ このスレッドは過去ログ倉庫に格納されています
0299291
NGNGどうも他のボリュームを取ってる臭い。誰か助けてくらはい。おながいしまんこ。
Procedure TMainForm.FormCreate(Sender: TObject);
var
rslt,i,j : integer;
arys : array [0..128] of TMIXERCONTROLDETAILSUNSIGNED;
MixerHndl : HMIXER;
MixerLineCtrl : TMIXERLINECONTROLS;
MixerCtrl : TMIXERCONTROL;
MixerLine : TMixerLine;
MixerDetail : TMIXERCONTROLDETAILS;
begin
rslt:=MixerOpen(@MixerHndl,0,0,0,MIXER_OBJECTF_MIXER);
with MixerLine do begin
cbStruct:=SizeOF(TMixerLine);
dwDestination:=0;
dwComponentType:=MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC;
end;
MixerGetLineInfo(MixerHndl,@MixerLine,MIXER_GETLINEINFOF_COMPONENTTYPE or MIXER_OBJECTF_HMIXER);
with MixerLineCtrl do begin
cbStruct:=Sizeof(TMIXERLINECONTROLS);
cbmxctrl:=Sizeof(TMIXERCONTROL);
dwLineID:=MixerLine.dwLineID;
dwControlType:=MIXERCONTROL_CT_CLASS_FADER or MIXERCONTROL_CONTROLTYPE_VOLUME;
pamxctrl:=@MixerCtrl;
cControls:=MixerLine.cControls;
end;
with MixerCtrl do begin
cbStruct:=sizeof(TMIXERCONTROL);
fdwControl:=MIXERCONTROL_CONTROLF_UNIFORM;
end;
j:=MixerGetLineControls(MixerHndl,@MixerLineCtrl,MIXER_GETLINECONTROLSF_ONEBYTYPE or MIXER_OBJECTF_HMIXER);
with MixerDetail do begin
cbStruct:=Sizeof(TMIXERCONTROLDETAILS);
dwControlID:=MixerCtrl.dwControlID;
cMultipleItems:=0;
cChannels:=1;
cbDetails:=Sizeof(TMIXERCONTROLDETAILSUNSIGNED);
paDetails:=@arys;
end;
MixerGetControlDetails(MixerHndl,@MixerDetail,MIXER_OBJECTF_HMIXER or MIXER_GETCONTROLDETAILSF_VALUE);
with MixerCtrl do begin
cbStruct:=sizeof(TMIXERCONTROL);
fdwControl:=MIXERCONTROL_CONTROLF_UNIFORM;
end;
with MixerDetail do begin
cbStruct:=Sizeof(TMIXERCONTROLDETAILS);
dwControlID:=MixerCtrl.dwControlID;
cMultipleItems:=0;
cChannels:=1;
cbDetails:=Sizeof(TMIXERCONTROLDETAILSUNSIGNED);
paDetails:=@arys;
end;
MixerSetControlDetails(MixerHndl,@MixerDetail,MIXER_OBJECTF_HMIXER or MIXER_SETCONTROLDETAILSF_VALUE);
MixerClose(MixerHndl);
StartVolume:=integer(arys[0]);
MixerClose(MixerHndl);
end;
■ このスレッドは過去ログ倉庫に格納されています