Sound abspielen



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



  • [ZK C]LP[GER] schrieb:

    PlaySound("D:\Musik\ICH\Punk,Rock\Bullet for my Valentine\The Poisen\01 - Bullet for my Valentine - Curses.wav", NULL, SND_FILENAME);
    

    ich würde einfach mal versuchen, die backslashes zu escapen:

    PlaySound("D:\\Musik\\ICH\\Punk,Rock\\Bullet for my Valentine\\The Poisen\\01 - Bullet for my Valentine - Curses.wav", NULL, SND_FILENAME);
    

    die leerzeichen "könnten" noch probleme machen. normalerweise müsst es aber gehen.

    gruß
    daniel



  • Also, das mit den backslashes hab ich auch schon probiert, hatte allerdings keinen Erfolg.
    Da ich die Datei ja mit dem Windows Media Player abspielen kann, habe ich den Schreibschutz überprüft, habe allerdings keinen gefunden.
    Ich schick euch nachmal den Code.
    [#include "stdafx.h"
    #include "iostream.h"
    #include "windows.h"
    #include <mmsystem.h>
    #pragma comment(lib,"winmm.lib")

    void main() {
    char x[255];
    int s1;
    for (s1=0;s1=-1;s1++) {
    cout << "Zum Abspielen brauche ich den Namen der Wiedergabeliste :\n";
    PlaySound("D:\\Musik\\ICH\\Punk,Rock\\Bullet for my Valentine\\The Poisen\\Suffcating under words of Sorrow.wma", NULL, SND_FILENAME);
    }
    }
    ]

    Wie ihr seht, habe ich es auch mit einer anderen Datei probiert.

    Leider ohne Erfolg.

    Gruß [ZK C]LP[GER]



  • wie gesagt da ist bestimmt ein kopierschutz auf den dateien, sonst könnt ja jeder hergehn sich mal eben ein 3 zeilenprog zusammenschneidern und jeden kopierten titel wieder abspielen.

    der beste beweis ist doch, das dein code fehlerfrei ist, das er windows media files abspielt. bei ner anderen datei soll dann auf einmal der code fehlerhaft sein nene das liegt an der datei und sonst an nix.



  • Jetzt geht es mit einer WAV - Datei. allerdings nicht mit einer wma Datei.
    Seid ihr wirklich sicher, dass PlaySound() auch die letztgenannten abspielen kann?
    Code is[cpp:
    PLaySound("D:\\Musik\\ICH\\Punk,Rock\\Bullet for my Valentine\\The Poisen\\01 - Bullet for my Valentine - No Control.mp3", 0, SND_FILENAME); ]

    Ich bin mir nicht sicher, aber könnte es vielleicht an der ausgeschriebenen NULL gelegen haben?





  • PlaySound spielt nur wav, kein mp3 (dazu wird ein codec benötigt), kein wma, nur wav.

    btw. wozu ein kopierschutz, wenn die dateien eh schon auf der platte sind? oder sind die dateien von musicload und co?

    gruß
    Daniel

    edit: lowfly war schneller


Anmelden zum Antworten