Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi PlaySound multiple (https://www.delphipraxis.net/157243-playsound-multiple.html)

DarkItachi 4. Jan 2011 20:23

PlaySound multiple
 
Hallöchen,

Ich habe mehrere Threads...
Jeder Thread kann eine Anfrage bekommen, einen Sound abzuspielen...
Wenn mehrere Anfragen gleichzeitig kommen, dann spielt er die Sounds
komischer Weise nacheinander ab und nicht zusammen...

Oder es wäre schon möglich wenn :
ein Sound spielt
und dieser dann einfach abgebrochen wird
und der neue Sound spielt


Mir ist beides ganz recht, aber ich benutze Threads (Vorgabe)

Wie würdet ihr das lösen?

Thx

EDIT1:
Ich spiele den Sound immer von Resourcen ab

EDIT2:
Meine Threads erstelle ich aber pur mit CreateThread-API
Die Datei in der Resource ist eine *wav Datei

SirThornberry 5. Jan 2011 12:02

AW: PlaySound multiple
 
Und wie startest du die Sounds bisher?

DarkItachi 5. Jan 2011 15:06

AW: PlaySound multiple
 
Delphi-Quellcode:
PlaySound('SOUND1' {bzw. SOUND2..120}, 0, SND_RESOURCE);
Also, ich habe ca. 120 threads..
Nun liefern andere Geräte einen Befehl.

Thread1 ist ein Listener für Gerät1 (Sound1)
Thread2 ist ein Listener für Gerät2 (Sound2)

Wenn 30 Post-Befehle gemacht werden (innerhalb zwei Sekunden bzw. weniger oder mehr :-D), dann
spielt er 30 mal einen Sound ab.. (Immer nacheinander)

Ich möchte aber, das die Sounds immer abgebrochen werden, und dann der neue Sound sofort einsetzt..
Also (während Sound1 spielt) kommt ein Signal (Sound2 setzt ein)... Sound1 wird sofort abgebrochen!
Sound2 wird abgespielt...
Thread 1 soll nach dem Abbruch weiter (normal) ausgeführt werden...

DeddyH 5. Jan 2011 15:14

AW: PlaySound multiple
 
Und wenn Du vor dem Abspielen einfach
Delphi-Quellcode:
PlaySound(nil,0,0);
eingibst?

DarkItachi 5. Jan 2011 20:49

AW: PlaySound multiple
 
EDIT:
Dankeschön, geht jetzt:

sndPlaySound(nil, 0);
PlaySound('SOUND', 0, snd_ASync or SND_RESOURCE);


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz