Главная страница
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.049 c
1-1089382420
Norfolk
2004-07-09 18:13
2004.07.25
TRadioGroup и файл


4-1086776514
Dmitry
2004-06-09 14:21
2004.07.25
запуск двух копий программы


14-1089181691
Alex____
2004-07-07 10:28
2004.07.25
SystemRestore?!


4-1087288195
Cannabis2003
2004-06-15 12:29
2004.07.25
ASCII vs бинарники


1-1089701869
Vilux
2004-07-13 10:57
2004.07.25
BalloonHint