C++ sound einbinden

Diskutiere C++ sound einbinden im Developer Network Forum im Bereich Hardware & Software Forum; Gelöscht
  • C++ sound einbinden Beitrag #1
O

oci300

Bekanntes Mitglied
Dabei seit
05.03.2008
Beiträge
107
Reaktionspunkte
0
Gelöscht
 
Zuletzt bearbeitet:
  • C++ sound einbinden Beitrag #2
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Ich will ja nicht störend wirken, aber hätte 2 Sekunden Google'n nicht schneller zur Lösung geführt?:rolleyes:;)

Aber okay, um Sound aus WAV-Dateien abzuspielen, gibt es die in der WINAPI definierte PlaySound-Funktion.
Beispielsweise spielt dieser Code das Lied "Hells Bells" (bekanntlich von ACDC):
Code:
PlaySound("Hells Bells.wav", NULL, SND_LOOP | SND_ASYNC);
Um das ganze wieder abzuschalten , musst du entweder die "SND_LOOP"-Flag entfernen (dann wird das Lied zu Ende gespielt), oder
Code:
PlaySound(NULL, NULL, 0);
aufrufen.

//Fast hätte ich vergessen zu sagen, das die *.wav natürlich im selben Verzeichnis wie deine Binary liegen muss.;)
Auch könntest du dir mal einen anderen Compiler zulegen.
 
Zuletzt bearbeitet:
  • C++ sound einbinden Beitrag #3
O

oci300

Bekanntes Mitglied
Dabei seit
05.03.2008
Beiträge
107
Reaktionspunkte
0
Gelöscht
 
Zuletzt bearbeitet:
  • C++ sound einbinden Beitrag #4
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
;)
Das geht ja nicht, dieser Code.
Code:
#include <cstdlib>
#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[])
{
    PlaySound("hund.wav"[COLOR="Red"])[/COLOR], NULL, SND_LOOP | [COLOR="Red"]SND_ASYNC[/COLOR]);
    system("PAUSE");
    return 0;
}
könntest du mir den mal iwie verbessern?
Natürlich. Probier's einfach mal mit:
PHP:
#include <windows.h>

int main(int argc, char *argv[])
{
	PlaySound("test.wav", NULL, SND_LOOP | SND_SYNC);
    return 0;
}
Du hast einfach eine Klammer zu viel im Code. Die Flag SND_ASYNC ist unpassend, da
The sound is played asynchronously and PlaySound returns immediately after beginning the sound. To terminate an asynchronously played waveform sound, call PlaySound with pszSound set to NULL.
Hier ist SND_SYNC richtig:
The sound is played synchronously, and PlaySound returns after the sound event completes. This is the default behavior.
Allerdings musst du Winmm.lib linken. Steht aber auch auf der MSDN-Seite:
Header: Declared in Mmsystem.h; include Windows.h.
Library: Use Winmm.lib.

Selbstverständlich könnte auch deine Datei beschädigt und ggf. nicht abspielbar sein.
Du könntest dir eine Beispieldatei hier downloaden. Wähle bitte eine, welche nicht mit einem "+" oder"*" gekennzeichnet ist.

Und eine gute Programmierumgebung/Compiler sagen :(
Ich nutze den C++-Compiler von Microsoft und bin sehr zufrieden damit. Die Expressversion ist kostenlos.
 
  • C++ sound einbinden Beitrag #5
O

oci300

Bekanntes Mitglied
Dabei seit
05.03.2008
Beiträge
107
Reaktionspunkte
0
Gelöscht
 
Zuletzt bearbeitet:
  • C++ sound einbinden Beitrag #6
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Ich hoffe, du weißt, wie du Winmm.lib linkst?!:rolleyes:;)
Bei Dev-C++ läuft das über
Werkzeuge--> Compiler Optionen--> Radio-Button "Zur Linker Kommandozeile hinzufügen" aktivieren --> In Edit-Feld einfügen
 
  • C++ sound einbinden Beitrag #7
O

oci300

Bekanntes Mitglied
Dabei seit
05.03.2008
Beiträge
107
Reaktionspunkte
0
Gelöscht
 
Zuletzt bearbeitet:
  • C++ sound einbinden Beitrag #9
O

oci300

Bekanntes Mitglied
Dabei seit
05.03.2008
Beiträge
107
Reaktionspunkte
0
Gelöscht
 
Zuletzt bearbeitet:
  • C++ sound einbinden Beitrag #10
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Also bei meinem Dev-C++ funktioniert es aber!
 
  • C++ sound einbinden Beitrag #11
O

oci300

Bekanntes Mitglied
Dabei seit
05.03.2008
Beiträge
107
Reaktionspunkte
0
Gelöscht
 
Zuletzt bearbeitet:
  • C++ sound einbinden Beitrag #12
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Das sollte keinen Unterschied machen.
 
  • C++ sound einbinden Beitrag #13
O

oci300

Bekanntes Mitglied
Dabei seit
05.03.2008
Beiträge
107
Reaktionspunkte
0
Gelöscht
 
Zuletzt bearbeitet:
  • C++ sound einbinden Beitrag #14
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Vielleicht findet er bei dir Winmm.lib nicht? Such mal manuell nach ihr!
Wenn du sie nicht hast, kann ich sie dir schnell zusenden.
Ich hoffe du siehst selbst ein, das nun schnellstens ein anderer Compiler her muss...:grinning:
 
  • C++ sound einbinden Beitrag #15
O

oci300

Bekanntes Mitglied
Dabei seit
05.03.2008
Beiträge
107
Reaktionspunkte
0
Gelöscht
 
Zuletzt bearbeitet:
  • C++ sound einbinden Beitrag #16
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Aber du hast WinMM.lib nicht. Ist ja klar, das Dev-C++ ein Problem damit hat.
 
  • C++ sound einbinden Beitrag #17
O

oci300

Bekanntes Mitglied
Dabei seit
05.03.2008
Beiträge
107
Reaktionspunkte
0
Gelöscht
 
Zuletzt bearbeitet:
  • C++ sound einbinden Beitrag #18
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Schau in deinen Posteingang - das ist die Lösung.;)
 
  • C++ sound einbinden Beitrag #19
O

oci300

Bekanntes Mitglied
Dabei seit
05.03.2008
Beiträge
107
Reaktionspunkte
0
Gelöscht
 
Zuletzt bearbeitet:
  • C++ sound einbinden Beitrag #20
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Ja-Nein, speichere WinMM.lib doch einfach in "Eigene Dateien"!
Dann fügst du in Dev-C++ im Link-Feld
Code:
C:\Dokumente und Einstellungen\OCI300\Eigene Dateien\WinMM.lib
ein. Compilieren - Fertig
 
Thema:

C++ sound einbinden

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben