Einbetten von Video in eine WinForms App

8

Ich muss die Wiedergabe einer AVI-Datei in einer WinForms-App mit C # einbetten und steuern können. Das Video muss in das Formular eingebettet und nicht in einem separaten Media Player-Fenster gestartet werden.

Was ist der beste Ansatz dafür? Ich fand den System.Media-Namespace, der vielversprechend klang, aber es scheint, dass das nur für Sound nützlich ist.

Verwenden Sie DirectX, um dies zu tun? MCI? Oder ein anderer Ansatz?

    
Jason 01.12.2008, 20:38
quelle

5 Antworten

5

Sie können Media Player in Ihrem WinForm verwenden. Dies wäre ein einfacher Weg, es zu tun.

    
Patrick Desjardins 01.12.2008 20:41
quelle
3

Ich empfehle diese Bibliothek:

Ссылка

Es ist ein .NET-Wrapper um die DirectShow-API.

(Die Beispiel-Apps sollten Sie sehr schnell zum Laufen bringen.)

- Bruce

    
bvanderw 01.12.2008 21:00
quelle
2

Wie ich es gemacht habe, war, und ich zitiere:

  

Klicken Sie mit der rechten Maustaste auf die Toolbox, und klicken Sie auf Elemente auswählen.

     

Hinweis: Wenn die Toolbox nicht angezeigt wird, klicken Sie im Menü Ansicht auf Toolbox   öffne es. Das Dialogfeld Toolbox-Elemente anpassen wird geöffnet.

     

Aktivieren Sie auf der Registerkarte COM-Komponenten das Kontrollkästchen Windows Media Player,   und dann auf OK klicken.

     

Das Windows Media Player-Steuerelement wird auf der aktuellen Toolbox-Registerkarte angezeigt.

     

Wenn Sie das Windows Media Player-Steuerelement der Toolbox Visual hinzufügen   Studio fügt automatisch Verweise auf zwei Bibliotheken hinzu: AxWMPLib und   WMPLib. Der nächste Schritt besteht darin, das Steuerelement dem Windows-Formular hinzuzufügen.

     

So fügen Sie das Windows Media Player-Steuerelement zu einem Windows-Formular hinzu

     

Ziehen Sie das Windows Media Player-Steuerelement aus der Toolbox auf Windows   Formular.

     

Legen Sie im Eigenschaftenfenster die Dock-Eigenschaft auf "Füllen" fest. Du kannst tun   Klicken Sie dazu auf das mittlere Quadrat.

     

Doppelklicken Sie auf die Titelleiste des Formulars, um das Load-Standardereignis hinzuzufügen   im Quelltext-Editor.

     

Fügen Sie dem Form_Load-Ereignishandler den folgenden Code hinzu, um ein Video zu laden   wenn die Anwendung geöffnet wird.

%Vor%

Ссылка

    
Unlimited071 23.05.2012 22:15
quelle
0

Ich würde überlegen die WPF-Mediensteuerelemente zu verwenden und einfach das ElementHost verwenden, um Ihr WPF-Steuerelement in Ihre WinForms-App zu integrieren. Ich denke, dass Sie eine viel reichere Erfahrung bekommen werden.

Weitere Informationen finden Sie unter System.Windows.Forms.Integration

    
Brian Genisio 01.12.2008 20:45
quelle
0

Die Vorschläge von Daok und Brian Genisio sind beide gute Optionen. Lassen Sie mich ein drittes hinzufügen: DirectShow. War ursprünglich Teil von DirectX, wurde jetzt jedoch zum Windows SDK hochgestuft. Es gibt viele gute C # -Beispielanwendungen, die man sich anschauen kann, und es gibt die vollständige Kontrolle über die Wiedergabe.

    
Guge 01.12.2008 20:55
quelle

Tags und Links