[C++] Sound apsielen

Padawan

Erfahrenes Mitglied
Hallo Leute,
wie kann man eigl. in C++ ein Gong bzw. Sirene abspielen lassen, ohne dabei dafür eine Oberfläche Programmieren zu müssen, also quasi im Hintergrund.

Lg Padawan
 
Hallo,

du müsstest dazu Komponenten des jeweiligen Betriebssystems in Anspruch nehmen.

Unter Windows gibt es z.B. neben der DirectX Sound API auch noch PlaySound, welches eine *.wav-Datei abspielt.
 
Noch zur Oberfläche: Einfach als erste Funktion in der main()
C:
FreeConsole();
aufrufen, wenn du auf dem SUBSYSTEM:CONSOLE schreibst. Dann blitzt die Console kurz auf und dann läuft der Prozess "unsichtbar".
Zum Abspielen würde ich PlaySound() empfehlen.

Gruss
cwriter
 
Noch zur Oberfläche: Einfach als erste Funktion in der main()
C:
FreeConsole();
aufrufen, wenn du auf dem SUBSYSTEM:CONSOLE schreibst. Dann blitzt die Console kurz auf und dann läuft der Prozess "unsichtbar".
Wenn man die Konsole überhaupt nicht erst angezeigt bekommen lassen will, kann man auch die elegantere Variante über eine reine Windows-Applikation wählen.
Sprich WinMain und das Windows-Subsystem.
 
Oder man könnte durch einen Launcher ShellExecute() mit SW_HIDE aufrufen. Oder CreateProcess() mit CREATE_NO_WINDOW. Der Möglichkeiten gibt es viele.

Der Vorteil der Konsolenlösung ist meiner Meinung nach, dass man bei Bedarf jederzeit einfach wieder ein Fenster anhängen kann, um eventuelle Ausgaben zu machen. Zudem ist es simpler, aber dadurch ist die WinMain() umso schöner :-)
Auch hielt ich Padawans Frage
[...] ohne dabei dafür eine Oberfläche Programmieren zu müssen, [...]
für eine Frage nach dem einfachsten Weg. Vielleicht habe ich das aber auch falsch interpretiert.

@Padawan: Such' dir einfach eine Möglichkeit raus :-)

Gruss
cwriter
 
Zuletzt bearbeitet:
Zurück