Mega Code Archive

 
Categories / Delphi / Multimedia
 

Set the volume for the microphone- mute it [enhanced]

{********************************************************************* Thomas Stutz in http://www.swissdelphicenter.ch/torry/showcode.php?id=1204 showed some useful peace of code how to take control of mixer lines. I would like to add some more information about taking control of the !!! PLAYBACK or RECORD line !!!! *********************************************************************} // see the {*} marked lines in the SetMicrophoneVolume function function SetMicrophoneVolume(bValue: Word): Boolean; var {0..65535} hMix: HMIXER; mxlc: MIXERLINECONTROLS; mxcd: TMIXERCONTROLDETAILS; vol: TMIXERCONTROLDETAILS_UNSIGNED; mxc: MIXERCONTROL; mxl: TMixerLine; intRet: Integer; nMixerDevs: Integer; begin // Check if Mixer is available // Überprüfen, ob ein Mixer vorhanden nMixerDevs := mixerGetNumDevs(); if (nMixerDevs < 1) then begin Exit; end; // open the mixer intRet := mixerOpen(@hMix, 0, 0, 0, 0); if intRet = MMSYSERR_NOERROR then begin mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE; mxl.cbStruct := SizeOf(mxl); {*} // this option will tell the compiler which line destination to take: {*} // 0 - PLAYBACK destination {*} // 1 - RECORD destination {*} // this time the compiler will take control of recording microphone line {*} mxl.dwDestination := 1; // get line info intRet := mixerGetLineInfo(hMix, @mxl, MIXER_GETLINEINFOF_COMPONENTTYPE); //... end; end; //...