Mediaplayer einbinden



  • Wie kann ich den eingebundenen Mediaplayer ein Video abspielen
    lassen? Ich habe das ActiveX-Element eingebunden und ihm eine
    Variable zugewiesen. Aber es gibt keine Funktion wie open oder
    play?



  • Hi

    Deine Meembervariable sollte so etwa sein

    CWMPPlayer4 m_MediaPlayer;

    mit

    m_MediaPlayer.SetEnableContextMenu(FALSE); -> in Create oder so unterdrückt normale Popupmenu auf rechter Maustatste

    m_MediaPlayer.SetUrl(Path); -> kannst Du eine neue Datei setzen. Path = Pfad der Datei (C:\Video.mpg)

    m_MediaPlayer.GetControls().play(); ->Startet die Wiedergabe

    m_MediaPlayer.SetFullScreen(TRUE); -> Vollbild

    EVENTSINK_MAP:

    BEGIN_EVENTSINK_MAP(CChildView, CWnd)
        //{{AFX_EVENTSINK_MAP(CChildView)
    	ON_EVENT(CChildView, IDC_MediaPlayer, 5101 /* PlayStateChange */, OnStatusChange, VTS_I4)
    	ON_EVENT(CChildView, IDC_MediaPlayer, 6510 /* MouseDown */, OnMouseDown, VTS_I2 VTS_I2 VTS_I4 VTS_I4)
    	ON_EVENT(CChildView, IDC_MediaPlayer, 5501 /* Error */, OnErrorPlayer, VTS_NONE)
    	//}}AFX_EVENTSINK_MAP
    END_EVENTSINK_MAP()
    
    void CChildView::OnStatusChange(long NewState) 
    {
    	switch(NewState)
    	{
    	case 3:		//Play
    		break;
    	case 2:		//Pause
    		break;
    	case 1:		//Stop
    		break;
    	}
    }
    
    void CChildView::OnMouseDown(short nButton, short nShiftState, long fX, long fY) 
    {
    	if(nButton == 2)
    	{
                    //Hier kann ein Popupmenu auf die rechte Maustaste erzeugt werden
    	}
    }
    
    void CChildView::OnErrorPlayer()
    {
    //ausgabe von Fehlermeldungen
    	::AfxMessageBox(m_MediaPlayer.GetError().GetItem(1).GetErrorDescription());	
    }
    

    siehe auch Windows Media Player 10 SDK ->http://msdn.microsoft.com/library/en-us/wmplay10/mmp_sdk/windowsmediaplayer10sdk.asp

    Hoffe es hilft Dir was weiter, und ich bin nicht völlig an Ziel vorbei gerauscht. 🙄
    Gruß Matthias



  • Mein Mediaplayer ist aber vom Typ OCX und da finde ich
    die beschriebenen Funktionen nicht 😕

    Die Variable dazu "COxc1 m_player" bietet mir GetControls usw. nicht an.



  • Eventuell solltest Du dir das Windows Media Player 10 SDK von MS besorgen,http://www.microsoft.com/downloads/details.aspx?familyid=e43cbe59-678a-458a-86a7-ff1716fad02f&displaylang=en denn mit COxc1 kann ich nichts anfangen und so weit mir bekannt ist, ist das auch immer CWMPPlayer4.

    Nach dem Einbinden müssten auch noch entliche Dateien (.cpp,.h) deinem Project hinzugefügt worden sein, bzw. es müßte doch zumindest eine Wrapper-Klasse hinzugefügt worden sein. damit du Zugriff auf den MediaPlayer bekommst(Schnittstelle).

    Gruß Matthias



  • habe es runtergeladen, aber es ändert sich nichts.
    Ich nehme mir das ActiveXdingens vom Mediaplayer und
    ordne es auf dem Dialog an. Die KLasse kann ich dann
    noch anlegen, aber es ist bereits dieses ocx vorausgewählt.

    Zwar geht alles, wenn ich in den Eigenschaften eine URL angebe,
    aber wie ändere ich das zu spielende Video? Das würd emir ja schon
    reichen.



  • Ich könnte Dir nur noch ein Projekt (MSVC++ 6.0) zukommen lassen. Sozusagen als Demo. Wenn Du willst dann Poste mal ne Mail-Addy.

    Gruß Matthias



  • Danke ist angekommen!



  • Sie habe Post 😃



  • Also nochmals danke.

    Ich bekomme komischerweise noch diese Fehlermeldungen:

    Verwendung des undefinierten Typs "CWMPControls"
    Der linke Teil von '.play' muss eine Klasse/Struktur/Union sein

    bei Code:

    m_playme.GetControls().play();
    

    Die ganzen Dateien sind dem Projekt zugefügt worden.
    Eben entsprechend wie in deiner Anwendung.



  • Argh include war falsch gesetzt. Jetzt geht es.

    Gruß
    Chris



  • Kann man beim Mediaplayercontrol auch irgendwie die Lautstärke
    beeinflussen? Sowas wie setvolume?



  • siehe class CWMPSettings->

    long GetVolume();
    void SetVolume(long nNewValue);

    Gruß



  • Hoi,
    ich hab mal versucht zu muten mit

    CWMPSettings muteit;
    muteit.SetMute(true);
    

    Kompiliert, aber wir nicht gemutet? Woran kann das noch liegen?



  • Machs mal so:

    m_playme.GetSettings().SetMute(true);
    

    #include "wmpsettings.h" nich vergessen.

    Gruß



  • Ah danke habs auch grad kapiert.
    Ich schau mir moementan an was da noch alles möglich ist.
    Ist ja wirklich umfangreich. Hab nur bislang nicht gefunden
    ob man auch dies kleine Fenster andocken kann.



  • Welches kleine Fenster? Das kann doch nur ein Plugin sein oder?

    Gruß



  • Ich meine das angedockte welches man, sobald der Player in der Taskleiste
    liegt, als Visualisierungsfenster aufrufen kann.



  • Geh mal davon aus, das daß der MediaPlayer (die exe) selbst macht, aber Du nutzt doch nur das Ctrl des MediaPlayers. Also wirst Du das selbst machen müssen, wenn Du das haben willst.

    Nur so ein Gedanke, hab dafür keine wirklichen Beweisse.



  • Hallo zusammen.

    Versuch mittlerweile verzweifelt über das WMPSDK10 den Player in einer dialog basierten Applikation für einen Pocket PC (WM 5.0) zum laufen zu bekommen. Kompilieren passt, beim starten verabschiedet sich die App aber immer und ich bekomm folgende Debug-Meldung:

    Persistence not supported on OLE control {6BF52A52-394A-11D3-B153-00C04F79FAA6}.
    >>> Result code: 0x00000000
    Warning: Resource items and Win32 Z-order lists are out of sync. Tab order may be not defined well.
    

    Zudem wird eine 'Debug Assertion Failed!'-Meldung auf dem Gerät/Emulator mit verweis auf 'occcont.cpp' angezeigt.

    Hab keine Ahnung an was das liegt. Hat jmd einen Tip?

    m4d

    PS: Verwende VC8


Anmelden zum Antworten