![]() |
timer und Playsound
Hallo
ich habe ein anliegen und zwar: ich habe einen Timer der nach ablauf von 10 sekunden Images und Labels anzeigt bzw Blinken lässt. Dazu hätte ich aber gern das sobald er damit startet eine WAVE datei abspielt aber diese nicht immer wieder erneut startet wie der Interval vom timer. timer3.interval:= 1000; image2.Visible := not image2.Visible; image4.Visible := not image4.Visible; l_brandm.Visible := not l_brandm.Visible; l_brandma.Visible := false; SndPlaySound( 'BMA.WAV',0, SND_ASYNC ); Bei den Timereigenschaften habe ich bei Interval 10000 (10.000) eingeben |
AW: timer und Playsound
z:B. eine Variable SoundGespielt im FormCreate auf False setzen. Und dann im Timer
Delphi-Quellcode:
If not SoundGespielt then
begin SoundGespielt := True; SndPlaySound( 'BMA.WAV',0, SND_ASYNC ); end; |
AW: timer und Playsound
achso noch ein hinweis:
SndPlaySound( 'BMA.WAV',0, SND_ASYNC ); sobald ich das ,0, eintrage verursacht lazarus eine Fehlermeldung ohne ,0, kommt keine Meldung, wieso? |
AW: timer und Playsound
Ganz wichtig: Fehlermeldungen niemals nennen, das nimmt den anderen den Spaß, selbst danach zu suchen. Wenn ich
![]() |
AW: timer und Playsound
Da die Variable Timer.Tag schon vorhanden ist, kann man doch die nutzen:
Delphi-Quellcode:
If Timer.Tag=0 then
BEGIN SndPlaySound( 'BMA.WAV', SND_ASYNC ); Timer.Tag:=1; END; |
AW: timer und Playsound
Und denne in Uses: mmSystem reinbasteln,
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation uses mmSystem; {$R *.dfm} procedure PlayMySound(SndName: String); //uses mmSystem var FilePath: String; begin FilePath := ExtractFilePath(ParamStr(0)) + 'Sounds\' + SndName + '.wav'; if FileExists(FilePath) then //SndPlaySound(PAnsiChar(FilePath), SND_ASYNC ); //Alternative PlaySound(PChar(FilePath), hInstance, SND_ASYNC or SND_FILENAME); end; procedure TForm1.Button1Click(Sender: TObject); //spielt Sound 1 begin PlayMySound('wav1'); end; procedure TForm1.Button2Click(Sender: TObject); begin //spielt Sound 2 PlayMySound('wav2'); end; procedure TForm1.Button3Click(Sender: TObject); begin //spielt Sound 3 PlayMySound('wav3'); end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz