![]() |
Uses mmsystem - .wav abspielen
Hallo,
habe in einem früheren Beitrag gefunden dass man folgendermaßen wav-dateien abspielen kann: uses mmsystem; type TSoundFlag=(SND_SYNC, SND_ASYNC, SND_LOOP); ... var flag: TSoundFlag; flag:=SND_ASYNC; sndPlaySound('sound.wav',flag); Da meckert er bei mir inkompatible Typen TSoundFlag und Integer. Kann mir jemand weiterhelfen? Gruß Minz |
Einfacher
Hallo,
schreibs einfach mal so rein:
Delphi-Quellcode:
mfg
sndPlaySound('sound.wav', SND_ASYNC);
Garby |
Hab ich schon danke, funktioniert auch,
nur dann kann ich ja nicht bedingungsmäßig kombinieren. :( Gruß Minz |
Meinst du vielleicht so?
Delphi-Quellcode:
In diesem Fall wird der Sound asynchron und in einer Schleife abgespielt.
sndPlaySound('sound.wav', SND_ASYNC or SND_LOOP);
Garby |
nein mein ich auch nicht :mrgreen:
das soll nach Bedingungen geschaltet werden. ich will ja nicht tausend if-abfragen schreiben wenn async true then sndplaysound(...async) wenn async and loop true then sndplaysound(...async or loop) ... umständlich oder? aaalsoo...deswegen der weg mit dem Datentyp TSoundFlag alles klaro? Minz |
Hi Minz,
Wenn Du TSoundFlag deklarierst, wird z.B. SND_LOOP vom Compiler intern als 2 betrachtet, und hat mit dem SND_LOOP aus mmsystem nix zu tun (ist dort als 8 definiert). Warum gehst Du den umständlichen Weg über eine neue Typdefinition überhaupt, die Konstanten SND_ASYNC usw. sind in mmsystem doch schon definiert. Du wirst um If-Abfragen nicht herumkommen, wenn Du Dir Dein flag zusammenbastelst. (Ist zumindest IMHO nicht umständlicher als Dein Weg.) Beispiel: flag := 0; If async Then flag := flag Or SND_ASYNC; If loop Then flag := flag Or SND_LOOP; ... sndPlaySound('xyz.wav',flag); Funktioniert wohlgemerkt nur _ohne_ Deine Typdefinition. Gruss, teebee |
- versehentlich doppelt gepostet _
|
btw: sndPlaySound gibt es eigentlich nur noch aus Kompatibilitätsgründen, schau Dir mal die Funktion PlaySound an, damit bist Du wesentlich flexibler, kannst sogar Sounds als Resource in Deine Exe einbinden. Finde ich jedenfalls viel praktischer...
Gruss, teebee |
Axo :D
vielen Dank für die Info. Werde mir PlaySound dann mal anschauen. Momentan liegen die Sound-Files so mit im Verzeichnis. Wenns in der EXE mit drin wäre, wärs natürlich sehr praktisch. Minz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:55 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