Вниз
Скачать: CL | DM;

как включить/выключить звук в системе?   Найти похожие ветки 

 
Dmitry_177   (2008-06-04 16:30) [0]

как включить/выключить звук в системе?


 
Dmitry_177   (2008-06-04 16:55) [1]

я имею ввиду именно выключить звук, а не сделать громкость на 0... в трее при выключении звука чтобы динамик был перечеркнут..


 
Dmitry_177   (2008-06-04 17:15) [2]

в DRKB есть такой вот способ:

uses

MMSystem;



function GetMasterMute(

Mixer: hMixerObj;

var Control: TMixerControl): MMResult;

// Returns True on success

var

Line: TMixerLine;

Controls: TMixerLineControls;

begin

ZeroMemory(@Line, SizeOf(Line));

Line.cbStruct := SizeOf(Line);

Line.dwComponentType := MIXERLINE_COMPONENTTYPE_DST_SPEAKERS;

Result := mixerGetLineInfo(Mixer, @Line,

  MIXER_GETLINEINFOF_COMPONENTTYPE);

if Result = MMSYSERR_NOERROR then

begin

  ZeroMemory(@Controls, SizeOf(Controls));

  Controls.cbStruct := SizeOf(Controls);

  Controls.dwLineID := Line.dwLineID;

  Controls.cControls := 1;

  Controls.dwControlType := MIXERCONTROL_CONTROLTYPE_MUTE;

  Controls.cbmxctrl := SizeOf(Control);

  Controls.pamxctrl := @Control;

  Result := mixerGetLineControls(Mixer, @Controls,

    MIXER_GETLINECONTROLSF_ONEBYTYPE);

end;

end;



procedure SetMasterMuteValue(

Mixer: hMixerObj;

Value: Boolean);

var

MasterMute: TMixerControl;

Details: TMixerControlDetails;

BoolDetails: TMixerControlDetailsBoolean;

Code: MMResult;

begin

Code := GetMasterMute(0, MasterMute);

if Code = MMSYSERR_NOERROR then

begin

  with Details do

  begin

    cbStruct := SizeOf(Details);

    dwControlID := MasterMute.dwControlID;

    cChannels := 1;

    cMultipleItems := 0;

    cbDetails := SizeOf(BoolDetails);

    paDetails := @BoolDetails;

  end;

  LongBool(BoolDetails.fValue) := Value;

  Code := mixerSetControlDetails(0, @Details,

MIXER_SETCONTROLDETAILSF_VALUE);

end;

if Code <> MMSYSERR_NOERROR then

  raise Exception.CreateFmt("SetMasterMuteValue failure, "+

    "multimedia system error #%d", [Code]);

end;



// Example:



procedure TForm1.Button1Click(Sender: TObject);

begin

SetMasterMuteValue(0, CheckBox1.Checked); // Mixer device #0 mute on/off

end;


и на динамик перечеркивается... но вот в winamp-е как играла музыка так и играет.. хотя если открыть окно настройки громкости, галка "выкл. все" отмечена..



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.007 c
10-1132239448
George_Debug
2005-11-17 17:57
2009.07.12
Как убить объект из TaskManager a ?


2-1242899868
Int23
2009-05-21 13:57
2009.07.12
Как скопировать содержимая TBitmap в Pointer


15-1241808946
TUser
2009-05-08 22:55
2009.07.12
Играем в ассемблер


15-1242246604
Юрий
2009-05-14 00:30
2009.07.12
С днем рождения ! 14 мая 2009 четверг


2-1242837940
Dr.Andrew
2009-05-20 20:45
2009.07.12
Как строку short *s=(short*)buffer можно перевести на делфи?




   Наверх