Sound - MP3' s abspielen



  • Da hier von mir und auch von anderen nach Gefragt wurde und ich es im WinApi Forum gesehen
    habe möchte ich eine Veränderte Version mit MFC Klassen zeigen!!!!
    Vielleicht was für die FAQ, vielleicht auch nicht 🙂

    #pragma comment(lib, "winmm.lib")
    #include "mmsystem.h"
    
    // Spielt die MP 3 ab mit FileName als DateiNamen
    int CPlayerDlg::PlayMp3(CString sFileName)
    {
        CString sCommand;
    
         // Eine Datei öffnen und als Device-Alias "Player" setzen:
    
        sCommand = "open " +sFileName+ " alias Player shareable"; 
       // Wurde von unixtom geändert 
    
        // Wenn es nicht klappt 0 zurück
        if (mciSendString(sCommand,NULL,NULL,NULL)!=0) return 0; 
    
         // Das Zeitformat auf Millisekunden setzen:
         sCommand = "set Player time format milliseconds";
         if (mciSendString(sCommand,NULL,NULL,NULL)!=0)return 0; 
    
         // Die Wiedergabe starten:
         sCommand = "play Player";
         if (mciSendString(sCommand,NULL,NULL,NULL)!=0)return 0; 
    
        return 1;
    }
    
    int CPlayerDlg::StopPlayer()
    {
        // Den Player stoppen
        if (mciSendString("stop Player", NULL, NULL, NULL)!=0)return 0; 
        if (mciSendString("close Player", NULL, NULL, NULL)!=0)return 0; 
        // Wurde von unixtom hinzugefügt sonst kann man das File nicht
        // mehr nach einem Stop erneut anspielen 
    
        return 1;
    }
    
    // PlayPosition holt die aktuelle Position und gibt sie als String zurück
    CString CPlayerDlg::GetPlayPosition()
    {
        CString sPostitionStat;
        char szRetVal[MAX_PATH];
        int isec;
    
        if (mciSendString("status Player position", szRetVal, MAX_PATH, NULL)!=0)return sPostitionStat;
    
        isec=atoi(szRetVal) / 1000;   // Wird in Sekunden umgerechnet
        COleDateTimeSpan dtsZeitStatus;
        dtsZeitStatus.SetDateTimeSpan(0,0,0,isec); //Eingeben
    
        sPostitionStat = dtsZeitStatus.Format("%X"); //Wird in Format gebracht
        return sPostitionStat;
    }
    

    Ich probiere es aber ich kann es nicht versprechen ob meine Kommentare sinnig sind oder was nützen 🙂

    So Kommentare sind drin, und Daumen drücken für Deutschland 😉

    [ Dieser Beitrag wurde am 11.06.2002 um 14:36 Uhr von DeltaPi editiert. ]

    [ Dieser Beitrag wurde am 23.06.2002 um 19:48 Uhr von Unix-Tom editiert. ]

    [ Dieser Beitrag wurde am 23.06.2002 um 19:56 Uhr von Unix-Tom editiert. ]

    [ Dieser Beitrag wurde am 23.06.2002 um 19:58 Uhr von Unix-Tom editiert. ]



  • wenn du jetzt noch kommentare in den quellcode machst ist es bestimmt auch brauchbar 😃



  • Wenn es jemand jetzt noch testet kommt es in die FAQ. NIcht das ich an deinem Code zweifel habe. Aber ich will es jetzt nicht testen und in die FAQ soll nur Bugfreier Code.
    Sieht jedenfalls toll aus.
    😉

    [ Dieser Beitrag wurde am 11.06.2002 um 15:08 Uhr von Unix-Tom editiert. ]



  • Wieso machst du es nicht per DirectX bzw. DirectSound, wär doch viel einfacher?



  • Auf keinen Fall. Fmod ist viel besser und effektiver.
    Und es ist freeware. Ausserdem kann man damit so ziehmlich jedes
    Format abspielen.

    devil



  • @ALL

    Um die Frage von UNIX-Tom erstmal zu beantworten.

    DeltaPi's Source-Code funktioniert 😃

    Und ich finde Ihn gut 😉

    MfG veganza



  • Dann pack ich es mal in die FAQs...
    Ist bestimmt sinnig


Anmelden zum Antworten