Mp3 ausgabe



  • danke.

    ich denke das wars wohl. mal schauen obs funktioniert 😃



  • mh. ich hab das ganze probiert.

    uebersetzten geht gut. wenn ich allerdings die funktion aufrufe, bekomme ich die fehlermeldung "Unable to open file".

    Die Datei liegt aber im gleichen Verzeichnis wie das Prog 😞



  • Hast du es mal mit absoluter Pfadangabe versucht? Den Pfad zur anwendung kannst du dir mit GetModuleFileName ermitteln (so wie z.B. in diesem Beispiel 🙂 )



  • jepp. das ist es 😃 danke



  • Hi,

    hab versucht, das Beispiel nachzuvollziehen. Taten sich leider Probleme auf.

    Mein Code:

    #include <windows.h>
    #include <stdio.h>
    #include <mmsystem.h>
    
    /* .. hier steht die PlayMp3() */
    
    int main()
    {
    
    	char szAppPath[256]="";
    	char szAppPathFinal[256]="";
    
    	GetModuleFileName(NULL, szAppPath, sizeof(szAppPath));
    	*(strrchr(szAppPath,'\\')+1) = 0;
    
    	sprintf(szAppPathFinal, "%sgladiator.mp3", szAppPath);
    
    	PlayMp3(szAppPathFinal);
    
    	MessageBox(NULL, szAppPathFinal, 0, 0);
    
    	return 0;
    }
    

    1. Kriege immer wieder "Unable to open File" als Fehlermeldung. Nutze Win2K...( sollte aber eigentlich nicht interessieren)

    2. Wieso muss ich vorher die <windows.h> einbinden?! Bekomme sonst 2 Fehlermeldungen...

    Möchte das Problem gern gelöst haben, Danke für Antworten, '][' !



  • Statt sprintf könntest du die 2 Strings auch mit lstrcat aneinanderhängen
    Wird denn der Pfad richtig ausgegeben?

    Declared in Mmsystem.h; include Windows.h.

    <mmsystem.h> solltest du demnach weglassen - windows.h brauchst du eigentlich praktisch immer 😉



  • Hi,, der Pfad wird auch so richtig ausgegeben. Mit lstrcat klappts genauso wenig. Ich verzeifle langsam...



  • Lass dir mal in PlayMp3 bei MessageBox(0,"Unable to open file","mci-error",0); cmd ausgeben
    Und die Datei existiert auch am angegebenen Pfad (evtl. Probleme wegen dem Debug und Release Ordner 🙄 )

    Tanta schrieb:

    Hi, der Pfad wird auch so richtig ausgegeben. Mit lstrcat klappts genauso wenig.

    Deswegen schrieb ich ja "auch" 😉



  • cmd beinhaltet folgendes:

    open D:\gladiator.mp3 alias mp3player shareable
    

    das mp3 und die exe sind im selben verzeichnis (d:\)



  • Eigentlich sollte es wohl so heißen: 😕

    open "D:\gladiator.mp3" alias mp3player shareable
    


  • Es muss aber sein:

    open "D:\gladiator.mp3" alias mp3player shareable
    

    Die Anführungszeichen sind wichtig. Und solange du einen globalen Pfad angibst (wie D:\gladiator.mp3), ist es unwichtig, wo sich das MP3-File oder die EXE befinden.


Anmelden zum Antworten