Ende das Sounds?
-
Wie kann man veranlassen das nachdem eine geladene Musik(MP3), nach dem abspielen ein signal abgibt(d.h. wenn sie zuende ist das zum BSP.
if(...)
{
return 0;
}
passiert).
Oder so ähnlich.
Ich bedanke mich für Antworten
-
Wie bzw. womit spielst du denn deine MP3s ab?
-
fmod !!!
-
Mithilfe eines solchen Codes:
Inkludieren: "mmsystem.h"
Library: "winmm.lib"// Spielt eine Mp3 ab:
int PlayMp3(char *filename)
{
char cmd[500];// Eine Datei öffnen und als Device-Alias "mp3player" setzen:
wsprintf(cmd,"open \"%s\" alias mp3player shareable",filename);
if (mciSendString(cmd,NULL,NULL,NULL)!=0)
{
// Hat nicht geklappt!
MessageBox(0,"Unable to open file","mci-error",0);
return 0;
}// Das Zeitformat auf Millisekunden setzen:
wsprintf(cmd,"set mp3player time format milliseconds");
if (mciSendString(cmd,NULL,NULL,NULL)!=0)
{
// Hat nicht geklappt!
MessageBox(0,"Unable to set time format ","mci-error",0);
return 0;
}// Die Wiedergabe starten:
wsprintf(cmd,"play mp3player",filename);
if (mciSendString(cmd,NULL,NULL,NULL)!=0)
{
// Hat nicht geklappt!
MessageBox(0,"Unable to play","mci-error",0);
return 0;
}return 1;
}// PlayStop stoppt die Wiedergabe
int PlayStop()
{
char cmd[500];
DWORD retVal;// Wiedergabe stoppen:
wsprintf(cmd, "stop mp3player");
retVal=mciSendString(cmd, NULL, 0, NULL);
if (retVal!=0)
{
// Hat nicht geklappt!
MessageBox(0,"Unable to stop playback","mci-error",0);
return 0;
}return 1;
}// PlayPosition holt die aktuelle Position
// und schreibt sie in die Titelzeile eines Fensters
int PlayPosition(HWND hWnd)
{
char cmd[500];
char retval[500];
DWORD retVal;
int ms;
int sek, sek2;
int min, min2;
int hours;// Position in Milisekunden holen:
wsprintf(cmd,"status mp3player position");
retVal=mciSendString(cmd, retval, 500, NULL);
if (retVal!=0)
{
// Hat nicht geklappt!
SetWindowText(hWnd,"Unable to get position");
return 0;
}// Ein bisschen rumrechnen:
ms=atoi(retval); // Position in Millisekunden
sek=ms/1000; // Milisekunden umgerechnet in Sekunden
min=sek/60; // Die Sekunden umgerechnet in Minuten
hours=min/60; // Die Minuten umgerechnet in Stunden
sek2=sek-(hours*60)-(min*60); // Sekunden darf nicht größer als 60 sein..// Das Ganze ins Stunden:Minuten:Sekunden Format bringen und in die Titelzeile schreiben:
wsprintf(cmd,"%i:%i:%i",hours,min,sek2);
SetWindowText(hWnd,cmd);return 1;
}
-
oder geht das garnicht?
-
Du musst einfach beim Senden des Play-Commands den notify Flag setzen (play mp3player notify)
Jetzt solltest du eigentlich MM_MCINOTIFY-Messages gesendet bekommen, die dich über wichtige Ereignisse informierenIch hab es nicht ausprobiert, hoffe aber, dass das so klappt
[ Dieser Beitrag wurde am 17.03.2003 um 22:00 Uhr von flenders editiert. ]