Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.12;
Скачать: 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 вся ветка

Текущий архив: 2009.07.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
15-1242038575
Синий
2009-05-11 14:42
2009.07.12
Игра Быки и Коровы на С++


15-1241426831
Student
2009-05-04 12:47
2009.07.12
Контроль версий


15-1242244143
T&amp;F
2009-05-13 23:49
2009.07.12
Intel оштрафовали на миллиард евро o_O


15-1241797779
Копир
2009-05-08 19:49
2009.07.12
А вот, история! Это Вам не Карамзин. Какой-то Анисимов?


15-1242127932
snake-as
2009-05-12 15:32
2009.07.12
Приложение клиент-сервер