Ver Mensaje Individual
  #5  
Antiguo 04-04-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Código Delphi [-]
uses MMSystem;

function GetMasterVolume(): DWORD;
var
  Line: MIXERLINE;
  Controls: MIXERLINECONTROLS;
  MasterVolume: MIXERCONTROL;
  Details: TMIXERCONTROLDETAILS;
  UnsignedDetails: MIXERCONTROLDETAILS_UNSIGNED;
begin
  ZeroMemory(@Line, sizeof(Line));
  Line.cbStruct:= sizeof(Line);
  Line.dwComponentType:= MIXERLINE_COMPONENTTYPE_DST_SPEAKERS;
  if mixerGetLineInfo(0, @Line, MIXER_GETLINEINFOF_COMPONENTTYPE) = MMSYSERR_NOERROR then
  begin
    Controls.cbStruct:= sizeof(Controls);
    Controls.dwLineID:= Line.dwLineID;
    Controls.cControls:= 1;
    Controls.dwControlType:= MIXERCONTROL_CONTROLTYPE_VOLUME;
    Controls.cbmxctrl:= sizeof(MIXERCONTROL);
    Controls.pamxctrl:= @MasterVolume;
    if mixerGetLineControls(0, @Controls, MIXER_GETLINECONTROLSF_ONEBYTYPE) = MMSYSERR_NOERROR then
    begin
      Details.cbStruct:= sizeof(TMIXERCONTROLDETAILS);
      Details.dwControlID:= MasterVolume.dwControlID;
      Details.cChannels:= 1;
      Details.cMultipleItems:= 0;
      Details.cbDetails:= sizeof(MIXERCONTROLDETAILS_UNSIGNED);
      Details.paDetails:= @UnsignedDetails;
      mixerGetControlDetails(0, @Details, MIXER_SETCONTROLDETAILSF_VALUE);
    end;
  end;
  Result:= muldiv(UnsignedDetails.dwValue, 100, $FFFF);
end;

Saludos.

Última edición por escafandra fecha: 04-04-2011 a las 10:11:04.
Responder Con Cita