Videos abspielen



  • Hallo,.

    Ich habe mithilfe der MFC eine Anwendung programmiert die ein Viedeo wiedergibt:

    // Der code ist in der Behandlungsmethode zur WM_PNT nachricht geschrieben
    
    HWND m_hAVI;
    
    m_hAVI = MCIWndCreate(m_hWnd,AfxGetInstanceHandle(),MCIWNDF_NOTIFYSIZE | MCIWNDF_SHOWALL,NULL);
    
    	if(m_hAVI)
    	{
    		MCIWndOpen(m_hAVI,"C:\\M.AVI",0); 
    		MCIWndPlay(m_hAVI); UpdateWindow();
    	}
    

    Leider spielt dieser Player nur Videos im Dateiformat .avi ab. Wenn ich den Pfad eines .mpg Videos angebe wird die Datei zwar abgespielt aber ich muss immer erst das Fenster mit der Maus vergrößern oder verkleinern damit das Bild angezeit wird. Bei einigen .avi Videos wird auch das Video überhaupt nicht wiedergegeben.

    Zur lösung des Problems bei den .mpg Datein hab ich schon eine WM_PAINT Nachricht an das fenster geschicht (die wird ja schließlich auch beim Vergrößern oder Verkleinern abgeschickt).

    UpdateWindow();
    

    Und ich habe abwechselnd auch versucht den gesammten Inhalt des Fensters für Falsch zu erklären und es dann neu zu zeichenen:

    Invalidate();
    UpdateWindow();
    

    Leider blieben beide Versuche ohne erflog, desshalb komm ich zu euch.

    Wie kann ich meine Anwendung umschreibe damit jedes Viedeoformat angezeigt wird, mit Bild und ton, ohne das ich erst den Rahmen vergrößern oder verkleinern muss?
    Und wieso läßt sich ein .avi Video das mit dem Windows-Media Player problemlos abgespielt werden kann nicht anzeigen( d.H. Bild hab ich aber ton nicht!!)!?

    ---> Insofern kann es doch auch kein Problem vom Codec sein, oder doch?

    Vieleicht weiß da ja jemand bescheid, vielen Dank schon mal...

    mfg Amilo



  • Du kannst dich in die Win32 AVIFile API einarbeiten, und das Streamen selbst übernehmen:
    http://windowssdk.msdn.microsoft.com/en-us/library/ms706554.aspx

    http://www.gamedev.net/reference/articles/article840.asp



  • Ok - also ich muss sagen, das ist ja ganz nett dieses Paper - aber es bringt mich irgendwie nicht weiter - also ich komm damit nicht klar - hat da jemand vieleicht Code oder eine andere erklärung?



  • Leute - ich bins nochmal - wäre wirklich Klasse wenn da einer von euch etwas wüsste - ich muss da nämlich ein Projekt fertigstellen - und ich komme einfach nicht mit den Codes-Zurecht... Bitte helft mir,..



  • Also da du eh die MFC verwendest, kannst du doch einfach den Mediaplayer als COM/OLE/ActiveX Object in deine Form ziehen. Der kann dann alle Codecs abspielen, die auf dem Rechner installiert sind. Leider kann ich dir aber prompt keine Link zur MSDN liefern...



  • es wäre hilfreich zu wissen wo dein problem liegt also code posten wo du nicht weiterkommst. vom gedankenlesen sind wir noch unendliche weiten entfernt. 😉

    und dir einfach so code schreiben macht hier keiner auser für geld 😃

    mfg
    LowFly



  • Also ich habe bisher eine anwendung geschribene die Videos im .avi format abspielen kann (allerdings ist er da aber auch sehr wählerrisch - siehe meinene ersten post). Der Code dazu ist hier:

    // Der code ist in der Behandlungsmethode zur WM_PNT nachricht geschrieben
    
    HWND m_hAVI;
    
    m_hAVI = MCIWndCreate(m_hWnd,AfxGetInstanceHandle(),MCIWNDF_NOTIFYSIZE | MCIWNDF_SHOWALL,NULL);
    
        if(m_hAVI)
        {
            MCIWndOpen(m_hAVI,"C:\\M.AVI",0); 
            MCIWndPlay(m_hAVI); UpdateWindow();
        }
    

    Diesen Code habe ich (wie im Code selbst erwähnt) in die Behandlungsmethode für die WM_PAINT Nachricht in einer SDI anwendung geschrieben.

    Nun bringt mir leider nur dieser Code - den ich irgendwann einmal in eimem Programmierer Buch aus dem Markt und technik verlag gelernt habe nicht viel weil es nicht jedes Format abspielt.
    Da liegt das Problem: ich muss einen "Player" für jedes video-Format Programmieren. Die Links die ihr mir gegeben habt habe ich versucht und mich auch durch die seiten gekämpft aber damit komme ich nicht zurecht (und das liegt nur in zweiter linie daran das das alles englisch ist)...
    Daher kann ich euch hier auch keine Brauchbaren ergebnisse geben weil ich keine hab die jemals auch nur in ansätzen (compiler-fehler-frei) erstellt wurden.

    MfG Amilo



  • Sorry Jungs wenn ich störe aber am Montag muss ich Präsentieren, - wenn keinem was einfällt ist das ok aber bestimmt kennt irgendjemand eine Internet-Seite wo ich das lernen kann - auf deutsch,..


Anmelden zum Antworten