Тема: TMediaPlayer (2?)
Показать сообщение отдельно
  #2  
Старый 16.07.2007, 01:02
Аватар для <<D>>
<<D>> <<D>> вне форума
Активный
 
Регистрация: 06.05.2007
Адрес: ГДЕ ТО В СОЛНЕЧНОЙ СИСТЕМЕ
Сообщения: 207
Репутация: 15
По умолчанию

Вот ответ на твой второй вопрос:

Код:

uses ... , MMSystem;

const
MCI_SETAUDIO = $0873;
MCI_DGV_SETAUDIO_VOLUME = $4002;
MCI_DGV_SETAUDIO_ITEM = $00800000;
MCI_DGV_SETAUDIO_VALUE = $01000000;
MCI_DGV_STATUS_VOLUME = $4019;
WM_MYICONNOTIFY = WM_USER + 123;

type
MCI_DGV_SETAUDIO_PARMS = record
dwCallback: DWORD;
dwItem: DWORD;
dwValue: DWORD;
dwOver: DWORD;
lpstrAlgorithm: PChar;
lpstrQuality: PChar;
end;

var
MciOpenParams :MCI_OPEN_PARMS;
MciSetParams :Mci_Set_Parms;
MciStatusParams :MCI_Status_PARMS;
MciPlayParams :Mci_Play_Parms;
MCIWindowParams :TMCI_Anim_Window_Parms;
MciRectParams :MCI_ANIM_RECT_PARMS;
MciSeekParams :Mci_Seek_Parms;

...

procedure SetMPVolume(DeviceID:word; Volume: Integer);
{ Volume: 0 - 1000 }
var
p: MCI_DGV_SETAUDIO_PARMS;
begin
{ Volume: 0 - 1000 }
p.dwCallback := 0;
p.dwItem := MCI_DGV_SETAUDIO_VOLUME;
p.dwValue := Volume;
p.dwOver := 0;
p.lpstrAlgorithm := nil;
p.lpstrQuality := nil;
mciSendCommand(DeviceID, MCI_SETAUDIO,
MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM, Cardinal(@p));
end;

Procedure play(str:string);
begin
mp.FileName:=str;
mp.open;
mp.play;
SetMPVolume(mp.DeviceID,0);
end;

...
Вот и всё, нужно просто сделать громкость 0;
Ответить с цитированием