WAV files abspielen
-
Hoi
Ich will in meinem Programm in Dev-C++ - Console Application einen wav file abspieln.
hab mir mal was gebastelt:
#include <windows.h> #include <mmsystem.h> int main() { PlaySound("Sound.wav",NULL,SND_FILENAME); system("PAUSE"); return 0; }wenn ich dieselbe funktion in BCB 6 Personal mache geht das.
in der "Anleitung" stand, dass man winmm.lib irgendwie in die Bibliothek einbinden muss.
Weiß jemand wie das geht oder hat jemand ne andre Funktion für mich, um Sound abzuspielen ?
Mfg
Bonzy
-
Bonzy schrieb:
Weiß jemand wie das geht oder hat jemand ne andre Funktion für mich, um Sound abzuspielen ?
1. Du solltest deine Fehlermeldung posten, damit wir genau sehen, was schief geht.
2. In Visual Studio kann man eine Lib direkt im Quellcode mittels:#pragma comment(lib, "NameDerLib.lib")laden. Das funktioniert aber glaube ich nicht im BCB. Du musst also über die Projekteinstellungen
gehen, wie das geht sollte eigentlich im Handbuch stehen.
3. Du könntest als Alternative noch das Media Control Interface (MCI) verwenden.
-
Thx für deine Antwort
erstmal die Fehlermeldung :
[Linker error] undefined reference to `PlaySoundA@12'
Also ..
#pragma comment(lib,"winmm.lib")hab ich jetz eingebunden
der Fehler wird aber weiterhin angezeigt
außerdem arbeite ich mit Dev-C++ Console Application ...
BCB hab ich nur mal nebenbei ausprobiert und da geht das auch also wird diese Datei dort in der Bibliothek sein, aber ich möchte das ja in Dev-C++ haben
Mfg
-
Hab mir den Link auch mal angeschaut und mir dort was rausgearbeitet allerdings hab ich wieder denselben Fehler ...
dort stand auch dabei, dass ich winmm.lib einbinden soll.
ich habs auch eingebunden allerdings gehts immernoch nich
vllt. ist das ja nich richtig eingebunden
-
[Linker error] undefined reference to `PlaySoundA@12'Du musst die Bibliothek libwinmm.a einbinden.

Projekt Optionen (Alt + P) --> Parameter --> Bibliothek / Objekt hinzuf.
Die Datei libwinmm.a befindet sich im Ordner lib von Dev-C++.
-
Danke jetz klappts !
Allerdings wenn ich einen sound abspiele macht er nebenbei nichts anderes wie Sachen ausgeben oder so sondern spielt nur diesen Sound.
Geht das auch, dass man den Sound nur im Background abspielt ?
-
Gib als Flag SND_ASYNC an.
-
so ich hab jetz meine Musik eingebaut ..
wenn jetz der Benutzer aber keinen Bock mehr auf sie hat schließe ich sie wie ?
-
Ruf einfach noch mal PlaySound auf
.
-
Danke musste nur andere Parameter dazugeben:
// Zum Beenden von laufender Musik per PlaySound PlaySound(NULL,0,0);
-
Jo klar, sonst wird es gestoppt und gleich wieder gestartet, irgendwie nicht Sinn der Sache :p (Aber steht ja auf der verlinkten Seite).