Форум: "Media";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизПроиграть звук Найти похожие ветки
← →
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 вся ветка
Форум: "Media";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.046 c