Вниз
Скачать: 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.008 c
4-1212582600
Dmitry_177
2008-06-04 16:30
2009.07.12
как включить/выключить звук в системе?


2-1242810369
И. Павел
2009-05-20 13:06
2009.07.12
Как создать письмо, содержащее несколько строк?


15-1241731931
Игорь Шевченко
2009-05-08 01:32
2009.07.12
А кто чем почту читает ? :)


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


15-1242105705
vajo
2009-05-12 09:21
2009.07.12
Антенна "Логос-91"




   Наверх