Dienstag, 31. August 2010

Youtube Video mit C# abspielen

Um Youtube Videos mit C# abzuspielen, ist das Windows Media Player Control nötig, wie schon im Post zum Abspielen von mp3 - Dateien.
Das Steuerelement lässt sich in die Toolbox hinzufügen, in dem man rechts auf diese klickt und dann Element auswählen ... anwählt, im sich öffnenden Fenster zu COM - Steuerelementen wechselt und Windows Media Player auswählt.
Die abzuspielende Multimediadatei lässt sich über die Eigenschaft URL bestimmen. Im Prinzip kann jetzt einfach die Adresse des Youtube Videos als URL gespeichert werden und der Media Player spielt das Video auf dem C# Formular ab. Allerdings muss der direkte Pfad zum Video angegeben werden und nicht die URL - Adresse, unter der das Video online betrachtet werden kann. Statt dem Infix "watch?v=" ist "/v/" nötig, welches den Ordner bezeichnet, in dem die Youtube Videos liegen.
Im Video darf außerdem die Option Einbetten nicht deaktiviert sein.
Ein Beispiel:
Im Browser lässt sich ein Video unter dem Link "http://www.youtube.com/watch?v=8EbtaLNHluE" öffnen, das Steuerlement benötigt aber den Link "http://www.youtube.com/v/8EbtaLNHluE".
Folgender Code lädt das Video in den Media Player, das Video kann dann per Klick auf "Play" im Video Fenster gestartet werden:

axWindowsMediaPlayer1.URL = "http://www.youtube.com/v/8EbtaLNHluE";

Die folgende Beispielfunktion ändert die URL automatisch, sie nimmt also als Parameter den Online Link zum Youtube Video entgegen und spielt dieses dann ab:

private void PlayVideo(string url)
{
    axWindowsMediaPlayer1.URL = url.Replace("watch?v=", "/v/");
}

Kommentare:

  1. Verdammt guter Blog, Respekt ;-)

    Einfacher Erklärungen und ein offensichtlich humorvoller Progger, wenn ich mir das Video so anschaue :-D

    AntwortenLöschen
  2. Leider wird auch der YouTube Player gleich mitgenommen. Schade, da ich das Video direkt so abspielen wollte

    AntwortenLöschen
  3. man kann auch direkt den Flashplayer einbinden, ohne WMP!
    Suche nach shockwave flash objekt in COM Steuerelement

    AntwortenLöschen
  4. wenn man das Webbrowser-tool verwendet und die URL
    mit /v/ einträgt so öffnet sich der youtube Player in dem Fenster, d.h. es wird kein WMP benötigt.
    Meine lieblings Methode :)

    AntwortenLöschen
  5. Seitdem ich meinen PC (Win7 x64) formatiert habe, funktioniert der Aufruf mit dem WMP Control nicht mehr. Mit dem Shockwave Control funktioniert es weiterhin, aber es würde mich interessieren, wieso sich der WMP auf einmal weigert? Windows Updates sind auf dem neuesten Stand!

    AntwortenLöschen