WAV Datei in C++ einbinden

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
hans_c
Beiträge: 16
Registriert: Di Aug 11, 2015 3:57 pm

WAV Datei in C++ einbinden

Beitrag von hans_c » Di Jan 10, 2017 10:22 am

Hallo Forum
Ich hoffe, ich bin mit meiner Frage hier am richtigen Ort
Ich benutze zum Programmieren Code Blocks (nach Anraten von XIN siehe User stellen sich vor vom
16. August 2015)
Nach ersten Versuchen habe ich das BGIM (Borland Grafik Interface Modul)mit eingebunden.
Somit bin ich in der Lage auch mit Grafik zu arbeiten. Funktioniert sogar prima.
Als erste Aufgabe habe ich das Spiel“ VIER GEWINNT“ programmiert.
Auch ist es mir gelungen die Mausbedienung mit einzubinden.
Als Programmiersprache benutze ich C++
Nun möchte ich gerne eine WAV Datei in das Programm integrieren, um das Spiel mit akustischen Kommentaren zu erweitern. Doch das will mir leider nicht gelingen.
Im Ordner MINGW müsste wohl die Datei libwinmm sein. Ist sie aber nicht.
Der Compiler ist GNU GCC.
Kann mir jemand dazu einen Rat geben ?
Mit freundlichem Gruß Hans _c

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: WAV Datei in C++ einbinden

Beitrag von cloidnerux » Di Jan 10, 2017 2:59 pm

Im Ordner MINGW müsste wohl die Datei libwinmm sein. Ist sie aber nicht.
Ich habe eine MinGW Installation(gcc außerhalb von C::B), dort ist ein Ordner "lib" in dem eine "libwinmm.a" liegt. Ich nehme an, bei dir ist es das gleiche.

Was du machen musst ist in deinen Projekteinstellungen unter "Linker" die "libwinmm" hinzuzufügen.
Redundanz macht wiederholen unnötig.
quod erat expectandum

hans_c
Beiträge: 16
Registriert: Di Aug 11, 2015 3:57 pm

Re: WAV Datei in C++ einbinden

Beitrag von hans_c » Di Jan 10, 2017 5:19 pm

Hallo cloidnerux
Vielen Dank für die schnelle Antwort. Ich habe die Datei libwinmm.a gefunden. Aber ich weiß leider nicht
wie ich sie bei C::B in den Linker einbinden muss.
Ich habe es versucht unter Einstellung Compiler Linker Settings hinzufügen versucht aber ohne Ergebnis
Wenn Du mir weiterhelfen könntest, wäre ich sehr dankbar
Mit freundlichem Gruß hans_c

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: WAV Datei in C++ einbinden

Beitrag von cloidnerux » Di Jan 10, 2017 5:48 pm

Ich habe gerade mal C:B installiert.
An sich müsstest du in den Build Einstellungen unter "Linker" Libraries hinzufügen können:
Bild
Bild
Drücke "add" oder wie es bei dir heißt und trage dort "libwinmm" ein.
Redundanz macht wiederholen unnötig.
quod erat expectandum

hans_c
Beiträge: 16
Registriert: Di Aug 11, 2015 3:57 pm

Re: WAV Datei in C++ einbinden

Beitrag von hans_c » Di Jan 10, 2017 7:36 pm

Hallo cloidnerux Ich bin genau nach Deinen Anweisungen vorgegangen. Aber leider ohne Erfolg

Hier mein Programm (nur ein kleiner Test zum Üben.)
Die Datei Klang3.wav ist im gleichen Ordner wie mein Programm.

Code: Alles auswählen

#include <windows.h>
#include <iostream>
#include <mmsystem.h>


int main()
{
    PlaySound("Klang3.wav", NULL, SND_FILENAME | SND_SYNC);
    PlaySound("Klang3.wav", NULL, SND_FILENAME | SND_LOOP);
    return 0;
}
Leider ertönt nur zweimal ein kurzer Ton aber nicht der Klang aus der wav Datei.
Es tut mir leid wenn ich zu lästig bin, aber vielleicht siehst Du einen Fehler und kannst mir weiter helfen
Mit freundlichen Gruß hans_c


EDIT nufan: Code-Tags

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: WAV Datei in C++ einbinden

Beitrag von cloidnerux » Di Jan 10, 2017 8:41 pm

Hallo cloidnerux Ich bin genau nach Deinen Anweisungen vorgegangen. Aber leider ohne Erfolg
Auch wenn ich grob verstehe, was dein Problem ist, sei bitte demnächst Ausführlicher, das erspart mir raten.

Nach der online Doku zu PlaySound:
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
ist dein Problem wrsl, dass die Musikdateien nicht gefunden werden:
The pszSound parameter is a file name. If the file cannot be found, the function plays the default sound unless the SND_NODEFAULT flag is set.
Probiere es doch mal aus, den absoluten Pfad zu den Dateien anzugeben(Im Ordner Shift + Rechtsklick, "Als Pfad kopieren").
Redundanz macht wiederholen unnötig.
quod erat expectandum

hans_c
Beiträge: 16
Registriert: Di Aug 11, 2015 3:57 pm

Re: WAV Datei in C++ einbinden

Beitrag von hans_c » Mi Jan 11, 2017 9:30 am

Hallo cloidnerux
Asche auf mein Haupt
Die Infos von Dir waren korrekt, und haben mir sehr geholfen.
Ich möchte mich noch einmal herzlich für Deine Bemühungen bedanken.
Ich hatte den Namen der WAV Datei in der PlaySound(TEXT("Klang 1.wav"),NULL,SND_SYNC); von Hand
eingetragen und das Leerzeichen übersehen.
Nun funktioniert alles wunderbar.
Sollte ich noch einmal eine Frage an das Forum haben, werde ich mich bemühen komplette Angaben
zu meinem Problem machen.
Mit freundlichem Gruß
hans_c

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: WAV Datei in C++ einbinden

Beitrag von Xin » Mi Jan 11, 2017 7:12 pm

hans_c hat geschrieben:Ich benutze zum Programmieren Code Blocks (nach Anraten von XIN siehe User stellen sich vor vom 16. August 2015)
Vielleicht sollte ich dazuschreiben, dass ich für nichts haftbar zu machen bin. ;)
hans_c hat geschrieben:Nach ersten Versuchen habe ich das BGIM (Borland Grafik Interface Modul)mit eingebunden.
Somit bin ich in der Lage auch mit Grafik zu arbeiten. Funktioniert sogar prima.
Als erste Aufgabe habe ich das Spiel“ VIER GEWINNT“ programmiert.
Auch ist es mir gelungen die Mausbedienung mit einzubinden.
Als Programmiersprache benutze ich C++
Das klingt doch super. (Wir brauchen ein Applaus-Smiley ^^)
Stell die Projekte doch mal vor und wie Du mit dem Lernen und den Projekten voran gekommen bist, was es für Schwierigkeiten gab und wie Du damit klarkamst.

Meine ich ernst - soviele fangen an, aber das sieht doch wirklich nach einer Erfolgsgeschichte aus, da finde ich es auch schön, wenn die mal erzählt würde - inkl. der Tatsache, dass Erfolg sich in der Regel durch Abarbeiten von Misserfolgen einstellt und Misserfolge eben nicht heißen, dass man keinen Erfolg haben wird.

Ansonsten ist das Thema hier wohl dank cloidnerux erfolgreich durch, unter Windows hätte ich ohne googlen selbst kaum weiterhelfen können. (Es fehlt schon wieder das Applaus-Smiley ;-))
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

hans_c
Beiträge: 16
Registriert: Di Aug 11, 2015 3:57 pm

Re: WAV Datei in C++ einbinden

Beitrag von hans_c » Fr Jan 13, 2017 12:56 pm

Hallo Xin
Zuerst einmal vielen Dank für die Blumen. Auch noch einmal Dank an cloidnerux.
Hier eine kurze Zusammenfassung meiner Aktivitäten.
-Googlen nach Code::Blocks
-Code::Blocks installiert funktioniert, aber alles in Englisch. Mist
-Googeln Beschreibung in Deutsch gefunden und eingebunden. Nun ja das meisste
auf Deutsch. Aber bin zufrieden.
-Erste Programmierversuche gestartet.
-Leider keine Grafik. (Früher Erfahrung mit Turbo C von Borland)
-Googeln : Aha Borland Grafik Interface Modul gefunden und in Code::Blocks eingebunden
-Nun fehlt noch die MÖGLICHKEIT der Maus Bedienung.
-Googeln und Möglichkeiten gefunden.
-Leider stimmen die Koordinaten der Grafikbefehle z.B. Linien oder andere Grafiken im Grafikfenster von BGI nicht mit den Koordinaten der Maus überein.
-Also einen Punkt im Fenster gezeichnet mit der Maus angewählt und die Koordinaten korrigiert.
Na also, nun ist alles im Lot.
- Eingaben wie scanf oder ähnliches führt aber leider zu neuen Problemen
Das BGI Grafikfenster meldet „Keine Rückmeldung“
-Also Grafikfenster mit der Maus zur Seite schieben und Eingaben im Textfenster eingeben. Danach das Grafikfenster wieder zur Mitte schieben und Koordinaten erneut korrigieren.
-Jetzt kann ich mein erstes Programm schreiben. Wie erwähnt „VIER GEWINNT“
-Natürlich sind einige Logikprobleme dabei zu lösen, aber das ist wohl bei allen Programmen die Regel. Nach ersten Anfangsproblemen ist mir alles gelungen. Das Programm funktioniert nach meinen Vorstellungen zufriedenstellend.
-Zum guten Schluss wollte ich das Programm noch mit akustischen Hinweisen verschönern. (Mit selbst erstellten WAV Dateien)
Mit der Unterstützung von cloidnerux ist mir auch das gelungen.
Fazit: Ich bin hochzufrieden und wende mich neuen Aufgaben zu
z.B. das Spiel Superhirn und Schiffe versenken.
Das war eine Kurzform meiner Programmierlaufbahn
Mit freundlichen Gruß Hans_c

hans_c
Beiträge: 16
Registriert: Di Aug 11, 2015 3:57 pm

Re: WAV Datei in C++ einbinden

Beitrag von hans_c » Mo Feb 13, 2017 2:55 pm

Hallo Forum
Nachtrag zum Thema WAV Dateien einbinden
Ich benutze wie gesagt Code Blocks . Die WAV Datei gehört in den Projektordner, wenn mit Code Blocks gestartet wird.
Wird das Programm mit der EXE Datei gestartet, müssen die 'WAV Dateien zusätzlich in den Ordner
DEBUG eingebunden werden.
Mit freundlichem Programmiergruß
hans_c

Antworten