Sound abspielen
-
Hallo Leute,
ich weiß ja nicht, ob es bereits ein gleiches Thema im Forum gibt (ich hoffe es nicht!!!
), ich habe allerdings keins gefunden.Ich will ein Programm schreiben, das den Benutzer(mich) fragt, welche Musikdatei es abspielen soll, und dann genau diese abspielt. Versucht habe ich bisher PlaySound(), doch leider funktionierte es nicht.
Wäre nett wenn einer von euch mir vielleicht die Syntax und die DLL zeigt, da ich erst sehr wenig Erfahrung mit solchen Sachen habe.
PS: Ich weiß das is ne NOOB Frage.
-
Hallo
ich weiß ja nicht, ob es bereits ein gleiches Thema im Forum gibt (ich hoffe es nicht!
Ja, du bist natürlich der erste, der auf die Idee kommt, eine Musikdatei abzuspielen, und der hier fragt

Versucht habe ich bisher PlaySound(), doch leider funktionierte es nicht.
"Funktioniert nicht" ist keine ausreichende Fehlerbeschreibung, schon gar nicht ohne entsprechenden Code.
Denn Playsound ist grundsätzlich (auf der Windowsplattform) das richtige.
bis bald
akari
-
Gibt dir der compiler den Fehler
lala.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__PlaySoundA@12oder
C:\gaspDev\lala\lala.cpp(33) : error C2065: 'PlaySound' : nichtdeklarierter Bezeichner C:\gaspDev\lala\lala.cpp(33) : error C2065: 'SND_FILENAME' : nichtdeklarierter Bezeichneraus?
-
Ja, er gibt mir allerdings noch eine weitere aus:
[fatal error LNK1120: 1 unaufgeloeste externe Verweise]
Danke im voraus für ale weitere Hilfe
-
Wo genau hast du denn die Funktion PlaySound() her? Dort müsste normalerweise auch in der Hilfe dabeistehen, welche Library du dem Linker mitgeben mußt, damit er die Funktion wiederfindet.
-
-
Thx, jetzt allerdings krieg ich wenn ich die Winmm.lib includen will krieg ich die folgende Fehlermeldung:
[/cpp]
fatal error C1083: Include-Datei kann nicht geoeffnet werden: 'Winmm.lib.': No such file or directoryKann es sein, das man sich die zuerst mal downloaden muss, und wenn ja, wo.

danke schon mal hier an der Stelle für die bisherige Hilfe
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum MFC (Visual C++) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
das in die StdAfx.h oder nur in die *.cpp in der du es nutzen willst.
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")oder include die ensprechende *.lib über dateien zu project hinzufügen
oder unter Projecteigenschaften Registerblatt Linker Object-/Bibliothek-Module hinzufügen.
-
Nein, gleicher Effekt
srry
-
die lib liegt standartmäsig unter
Microsoft Visual Studio\VC98\Lib
schau mal ob du die da findest
wenn jakannst höchstens mal schaun ob bei dir unter dem
MenuPunkt Extra/Optionen Regsiterblatt Verzeichnisse unter dem Dropdownfeld"Verzeichnisse anzeigen für" Includedateien
sollten folgende verzeichnisse stehn
....\Microsoft Visual Studio\VC98\INCLUDE
....\Microsoft Visual Studio\VC98\MFC\INCLUDE
....\Microsoft Visual Studio\VC98\ATL\INCLUDEbzw.
"Verzeichnisse anzeigen für" Bibliothekdateien
sollte stehn
.....\Microsoft Visual Studio\VC98\LIB
.....\Microsoft Visual Studio\VC98\MFC\LIBwenn du das nicht dort findest must du diese dort eintragen via button und Pfadsuche.
wenn die lib nicht im standartverzeichniss ist solltest vieleicht mal drann denke den MFC neu zu instalieren da diese normalerweise immer mitinstaliert wird.
-
Ja ist alles so wie sagst, alles ist auch an seinem rechtmäßigen Platz.
Trotzdem ändert das nichts an der ****** Fehlermeldung. leider
-
naja evtl MFC einfach mal neu installieren
-
Also, ich habe Microsoft Visual Studio noch einmal komplett neuinstalliert, die include-Pfade überprüft(es wahr tatsächlich so, das dort einer angelegt werden musste), doch meine Fehlermeldung hat sich leider nicht verändert.
Hier der Code, vielleich hilft das bei der Fehlersuche(Code hilft immer):#include "stdafx.h" #include "iostream.h" #include "windows.h" #include "WINMM.LIB." void main() { char x[255]; cout << "Zum Abspielen brauche ich den Namen der Weidergabeliste :\n"; // Abfrage von Abspielvariable x cin >> x; //Eingabe PlaySound(x, NULL, SND_FILENAME); // Nichtfunktionierende PlaySound Funktion } Fehlermeldung:C:\Programme\Microsoft Visual Studio\VC98\MyProjects\ClanPlayer\ClanPlayer.cpp(7) : fatal error C1083: Include-Datei kann nicht geoeffnet werden: 'WINMM.LIB.': No such file or director
Die Datei ist aber auch vorhanden habs geprüft(C:\Programme\Microsoft Visual Studio\VC98\Lib\WINMM.LIB
-
#include "WINMM.LIB." was ist das

das kann so nie gehn
erstens libs includet man anderst und der punkt hinter lib ist komplett falsch
entweder include libs über den Arbeitsbereich Projecteinstellungen Linker
oder füge sie als datei unter dem Arbeitsbereich deinem Project mit "Dateien dem Project hinzufügen" hinzu.
oder wie unten folgtso sollte es gehn
#include "stdafx.h"
#include <iostream.h>
#include <windows.h>#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")void main() {
char x[255];
cout << "Zum Abspielen brauche ich den Namen der Weidergabeliste :\n"; // Abfrage von Abspielvariable x
cin >> x; //Eingabe
PlaySound(x, NULL, SND_FILENAME); // Nichtfunktionierende PlaySound Funktion
}include dateien die du mit "" abführungszeichen includest sucht der MFC unter den Projectverzeichniss
include dateien die mit <> pfeilen includet werden sucht der MFC in den verzeichnissen die wie oben beschrieben unter dem Regsiterblatt Verzeichnisse eingetragen sind.
-
GEht thx so much an alle die mir geholfen haben, insbesondere an LowFly

-
Jetzt gibts zwar keine Fehlermeldung mehr, doch wenn ich jetzt das Stück eingeben will, will das das Programm das nicht machen. Muss man denn den gesamten Pfadnamen eingeben oder sehe ich das?
-
Muss man denn den gesamten Pfadnamen eingeben oder sehe ich das

ähm freilig must du den gesammten pfad eingeben woher soll den PlaySound wissen wo du die soundatei liegen hast.wenn du winxp hast sollte folgedes funzen
PlaySound("C:\\WINDOWS\\Media\\Windows XP-Anmeldesound.wav", 0, SND_FILENAME | SND_SYNC);
-
tschuldige, aber ich meinte nicht die eingabe im code sonern im Prog selbst nachdem das Prog mich gefragt hat, was es denn nun abspielen soll.[cpp]PlaySound("D:\Musik\ICH\Punk,Rock\Bullet for my Valentine\The Poisen\01 - Bullet for my Valentine - Curses.wav", NULL, SND_FILENAME);
auch wenn ich es so mache, will mir mein Programm diesen hammergeilen Sound von BFMV (RULES) nicht abspielen.
-
schon mal probiert ob er ne datei von windows nimmt
zb eben dieC:\\WINDOWS\*Media*\\Windows XP-Anmeldesound.wav
oder irgend ne andere aus dem Media ordner??
-
Ja, die nimmt er.

Und was heißt das jetzt?