Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   FireMonkey: kein .wav wie in VCL (https://www.delphipraxis.net/185463-firemonkey-kein-wav-wie-vcl.html)

Sel2012 13. Jun 2015 10:09


FireMonkey: kein .wav wie in VCL
 
Schade: Auch das schlichte, elegante Einzeilenkommando <sndPlaySound(PWideChar('a.wav'), SND_SYNC)> mit uses "MMSystem" (in VCL) funktioniert nicht mehr.
Wo bekomme ich einen vergleichbaren Klick-Befehl her?
<SoundPool> von Android.com gibt es anscheinend nicht in FireMonkey.

mkinzler 13. Jun 2015 10:31

AW: FireMonkey: kein .wav wie in VCL
 
http://www.fmxexpress.com/free-game-...ndows-and-osx/

jaenicke 13. Jun 2015 13:37

AW: FireMonkey: kein .wav wie in VCL
 
Zitat:

Zitat von Sel2012 (Beitrag 1305008)
Schade: Auch das schlichte, elegante Einzeilenkommando <sndPlaySound(PWideChar('a.wav'), SND_SYNC)> mit uses "MMSystem" (in VCL) funktioniert nicht mehr.

Das hat nichts mit der VCL zu tun, sondern liegt daran, dass das ein Windows API Befehl ist. Den gibt es deshalb auch nur unter Windows. Bei Firemonkey unter Windows kannst du die Unit Winapi.MMSystem ja auch problemlos unter uses eintragen, dann geht der Befehl auch dort.

Empfehlenswert ist allerdings ohnehin eher eine Lösung wie die von mkinzler gepostete, die genau wie Firemonkey plattformunabhängig ist.

Mavarik 13. Jun 2015 13:52

AW: FireMonkey: kein .wav wie in VCL
 
Leider läd der playsound Befehl immer die Datei neu...

Schön wäre es, wenn man aus dem Memory Sound ausgeben könnte...

himitsu 13. Jun 2015 14:36

AW: FireMonkey: kein .wav wie in VCL
 
PS: Die Überschrift ist etwas ungünstig.
"Kein Sound/WAV, wie in Windows", denn auch bei FMX kann man ja auf die WinAPI zugreifen.
OK, natürlich nicht im Android.

Aber wie wäre es mit Delphi-Referenz durchsuchenFmx.Media.TMediaPlayer?

jaenicke 13. Jun 2015 15:16

AW: FireMonkey: kein .wav wie in VCL
 
Zitat:

Zitat von Mavarik (Beitrag 1305018)
Leider läd der playsound Befehl immer die Datei neu...

Schön wäre es, wenn man aus dem Memory Sound ausgeben könnte...

Kann der Befehl doch. Einfach SND_MEMORY als Parameter benutzen und eine Ressource nutzen, dann spielt der Befehl diese aus dem Speicher ab.

himitsu 13. Jun 2015 15:45

AW: FireMonkey: kein .wav wie in VCL
 
Zitat:

Zitat von jaenicke (Beitrag 1305022)
Kann der Befehl doch. Einfach SND_MEMORY als Parameter benutzen und eine Ressource nutzen, dann spielt der Befehl diese aus dem Speicher ab.

Und selbst wenn nicht.
Mit ausreichend freiem RAM behält Windows die Datei im FileCache, womit es beim nächsten Abspielen vermutlich direkt aus dem RAM verwendet wird.
Ach ja, SND_MEMORY könnte man auch den Zeiger einer Ressource (TResourceStream) geben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:48 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