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

Вниз

Проиграть звук   Найти похожие ветки 

 
ser_ega   (2004-05-09 00:20) [0]

PlaySound(FileName, 0, SND_FILENAME);
Если я использую несколько раз подряд такой код, не успевает 1-ый доиграть он прерывается и начинает играть следующий и т.д. Что делать??? Я делаю так

Begin
 PlaySound(FileName1, 0, SND_FILENAME);
 PlaySound(FileName2, 0, SND_FILENAME);
 PlaySound(FileName3, 0, SND_FILENAME);
End;


 
Mim1 ©   (2004-05-09 00:27) [1]

Как вариант.

Вызывайте эти функции в отделоном потоке, с использованием параметра SND_SYNC


unit Unit2;

interface

uses
 Classes;

type
 TSoundplayer = class(TThread)
 private
   { Private declarations }
 protected
   procedure Execute; override;
 end;

implementation

procedure TSoundplayer.Execute;
begin
PlaySound(FileName1, 0, SND_FILENAME+SND_SYNC);
PlaySound(FileName2, 0, SND_FILENAME+SND_SYNC);
PlaySound(FileName3, 0, SND_FILENAME+SND_SYNC);
end;

end.

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 with TSoundplayer.Create(true) do
   begin
     FreeOnTerminate := true;
     Resume;
   end;
end;

end.



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

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

Наверх




Память: 0.46 MB
Время: 0.025 c
1-1089276204
Sandman25
2004-07-08 12:43
2004.07.25
Флаги или переопределение событий?


1-1089285803
Tom
2004-07-08 15:23
2004.07.25
Oсвобождение критической секции


4-1087289408
sashok
2004-06-15 12:50
2004.07.25
Как узнать цвет точки под мышкой?


3-1088954462
Солер
2004-07-04 19:21
2004.07.25
Что почитать про Blob


14-1089115718
Акуля
2004-07-06 16:08
2004.07.25
есть mdb