Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
9-1079366865
AxxxE
2004-03-15 19:07
2004.07.25
glRotate и glTranslate


1-1089387143
ZiRoCool
2004-07-09 19:32
2004.07.25
Как главную форму убрать из панели задач?


3-1088513182
Bukerman
2004-06-29 16:46
2004.07.25
Как спросить в трехуровневом приложении логин и пароль в БД?


14-1088768593
AlexG
2004-07-02 15:43
2004.07.25
Кто может объяснить, что это за ошибка?


4-1086870441
Лёха
2004-06-10 16:27
2004.07.25
RegNotifyChangeKeyValue, отслеживание реестра




   Наверх