Mp3 ausgabe
-
hi,
ich hab ein kleines prog in dem als hintergrundmusi ein paar mp3s laufen sollen
allerdings ist mp3 ein nicht ganz einfaches format und ich kenn mich mit dem winsound system nun mal niht gut ausich hab sogar schon eine bibliothek gefunden, die das fuer mich macht:
http://www.fmod.orgdas problem an dem teil ist es aber nun, dass sie fuer mich viel zu kompliziert ist
deshlab nun meine frage. kann mir jemand (helfen) eine klasse schreiben, die dieses handling fuer mich erledigt.
das einizge was ich eigentlich brauche sind die funktionen start, stop, pause (und vielleicht fade (bei pause und stop )). als argument moechte ich jeweils nur die lieddatei (beim starten) bzw, einen handler auf die aktuelle wiedergabe mitgeben muessen.
mehr will ich von der funktionaltitaet garnicht wissen
waere toll, koennte mir wer helfen
thx
-
-
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.