Sound abspielen



  • Gibt dir der compiler den Fehler

    lala.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__PlaySoundA@12
    

    oder

    C:\gaspDev\lala\lala.cpp(33) : error C2065: 'PlaySound' : nichtdeklarierter Bezeichner
    C:\gaspDev\lala\lala.cpp(33) : error C2065: 'SND_FILENAME' : nichtdeklarierter Bezeichner
    

    aus?



  • 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.



  • Hallo

    vermutlich aus der WinAPI

    MSDN schrieb:

    library: Use Winmm.lib.

    bis bald
    akari



  • 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 directory

    Kann 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 ja

    kannst 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\INCLUDE

    bzw.

    "Verzeichnisse anzeigen für" Bibliothekdateien
    sollte stehn
    .....\Microsoft Visual Studio\VC98\LIB
    .....\Microsoft Visual Studio\VC98\MFC\LIB

    wenn 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 folgt

    so 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 die

    C:\\WINDOWS\*Media*\\Windows XP-Anmeldesound.wav

    oder irgend ne andere aus dem Media ordner??



  • Ja, die nimmt er. 😮
    Und was heißt das jetzt?



  • naja entweder die datei ist kaput, oder aber sie hat nen kopierschutz oder sowas in der art. kannst sie den mit irgendeinem anderen mediaplayer (den von windows zB) abspielen?


Anmelden zum Antworten