![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как запритить звуковой карте воспроизводить звук [D7, Win95/98, WinME, NT4, Win2k, WinXP]
Физик © (2006-03-22 16:00:00)Как запритить звуковой карте воспроизводить звук
Сергей М. (2006-03-24 08:31:00) [1]Режим Mute не мешает карте продолжать "воспроизводить звук", если, правда, под "воспроизводимым звуком" подразумевается не иначе чем бухтение в колонках или наушниках, подключенных к аналоговым выходам карты.
Turbid (2006-03-23 17:48:00) [2]Этот пример программно замутивает звук
Автор: http://www.swissdelphicenter.ch
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;
antonn (2006-03-23 07:06:00) [3]наверное нужно mute на карте включить...
Der Nechk@ssoff (2006-03-23 07:04:00) [4]Положи на всеконтакты по монетке и забудь о ней.
balepa (2006-03-23 06:19:00) [5]1. Выдрать из мат платы
2. Удалить драйвера
> clickmaker © (22.03.06 16:06) [1]
>пролить на нее кофе, например. Или пообещать это сделать, если она хоть >пикнет
Она же потом может с перепугу начать заикаться
SergP. (2006-03-22 19:30:00) [6]
> Как запрититьзвуковой карте воспроизводить звук
а это как?
Сергей М. (2006-03-22 16:23:00) [7]
> Физик ©
Запрети ее использование в Панели Управления
clickmaker (2006-03-22 16:06:00) [8]пролить на нее кофе, например. Или пообещать это сделать, если она хоть пикнет