Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.10;
Скачать: CL | DM;

Вниз

playsound   Найти похожие ветки 

 
eLVik   (2002-09-30 17:36) [0]

Здравствуйте ещё раз!!!
Тут такой ? возник. Как можно перехватить момент (событие), когда функция PlaySound ЗАКАНЧИВАЕТ воспроизведение звука?
Требуется сварганить нечто похожее на назначение звуков, что в панели управления WINDOWS (пока играет звук кнопка PLAY недоступна). A MediaPlayer как-то неохота использовать - лишних килобайтов на екзешник вешать...
THANKS!


 
TTCustomDelphiMaster ©   (2002-09-30 19:23) [1]

Насчет событий ничего не скажу, но можно проигрывать звук синхронно в отдельном потоке.


 
eLVik ©   (2002-10-01 14:39) [2]

Если нетрудно, можно по подробнее?
Или хотя бы ссылку кинь...


 
TTCustomDelphiMaster ©   (2002-10-01 15:43) [3]

Ссылок нет, а делается это примерно так

type
TSoundThread = class(TThread)
ResumeProc: TNotifyEvent;
FSoundName: string;
protected
procedure Execute; override;
public
constructor CreateAndPlay(ResumeProc: TNotifyEvent; SoundName: string);
end;

TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
public
procedure onResumeThread(Sender: TObject);
end;

var
Form1: TForm1;

implementation
uses mmsystem;

{$R *.DFM}
constructor TSoundThread.CreateAndPlay(ResumeProc: TNotifyEvent; SoundName: string);
begin
onTerminate := ResumeProc;
FSoundName := SoundName;
inherited Create(False);
end;

procedure TSoundThread.Execute;
begin
playsound(PChar(FSoundName), 0, SND_SYNC or SND_FILENAME);
end;

procedure TForm1.onResumeThread(Sender: TObject);
begin
Button1.Enabled := True;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
tr: TSoundThread;
begin
Button1.Enabled := False;
tr := TSoundThread.CreateAndPlay(onResumeThread, "C:\WINME\WIN9X\SETUP0.wav");
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
14-31992
Kordel
2002-09-16 20:21
2002.10.10
Наверное не в тему вопрос))


7-32033
YDV
2002-08-01 07:03
2002.10.10
Есть прога, которая может зависнуть, как можно узнать повисла ...


1-31893
kefirilla
2002-09-30 09:01
2002.10.10
QuickReport=>>>Excel или .Txt


1-31690
cult
2002-09-30 16:45
2002.10.10
Кто-нибудь работал плотно с TCoolBar?


1-31800
k
2002-10-01 17:19
2002.10.10
bb