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 informieren

    Ich hab es nicht ausprobiert, hoffe aber, dass das so klappt 🙄

    [ Dieser Beitrag wurde am 17.03.2003 um 22:00 Uhr von flenders editiert. ]


Anmelden zum Antworten