vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v2.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2016
 
zurück
Rubrik: Multimedia & Sound · Video   |   VB-Versionen: VB2005, VB200823.11.09
YouTube Videos in eigener Anwendung

Erstellen eines eigenen UserControl, mit dem sich Flash-Videos abspielen lassen.

Autor:   Roland WutzkeBewertung:     [ Jetzt bewerten ]Views:  32.367 
www.vb-power.netSystem:  Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise bis zu 120,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 479,20 EUR statt 599,- EUR
  • sevDTA 2.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 20,00 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 55,20 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    Heute möchten wir Ihnen ein UserControl vorstellen, mit dem Sie Flash-Videos abspielen können. Das UserControl hosted dabei den FlashPlayer über LateBinding, so dass keine Versionsabhängigkeit zu einem bestimmten Player entsteht. Es ist also egal, ob auf dem PC die ältere Version 9 oder die aktuelle Version 10 des FlashPlayers installiert ist.

    Hinweise zu YouTube Videos
    Die URL für ein YouTube Video setzt sich aus der Basisadresse http://www.youtube.com/v/ und der Video-ID zusammen, z.B. „egJR3K6UIJY“. Daraus ergibt sich für das Video „Phil Collins Farewell Tour - Drums and Take Me Home“ folgende Video-URL:
    http://www.youtube.com/v/egJR3K6UIJY

    Sie können YouTube Videos nur dann in externen Playern abspielen, wenn diese zur Einbettung freigegeben sind. Dies wird Ihnen auf der YouTube Webseite neben dem Video angezeigt.

    Nachfolgend nun das FlashPlayer UserControl
    Fügen Sie Ihrem Projekt eine neue Klasse hinzu, und kopieren den Code in das Klassenmodul. Erstellen Sie einmal das Projekt, um so das UserControl zu erzeugen. VB.Net stellt das neue UserControl automatisch in die ToolBox oben ein. Sie können jetzt das so neu erzeugte UserControl auf Ihre Form ziehen und damit wie gewohnt arbeiten.

    Imports System.Text
    Imports System.ComponentModel
    Imports System.Runtime.InteropServices
     
    ''' <summary>
    ''' FlashPlayer UserControl
    ''' </summary>
    ''' <remarks>
    ''' Dieses UserControl hosted über LateBinding einen
    ''' versionsunabhängigen FlashPlayer.
    ''' 
    ''' November 2009 - VB-Power.net
    ''' http://www.vb-power.net
    ''' </remarks>
    Public Class FlashPlayer
      Inherits UserControl
     
      Private m_FlashHost As FlashHost
      Private m_AutoPlay As Boolean = True
      Private m_ColorFrom As Color = Color.Gray
      Private m_ColorTo As Color = Color.Gray
      Private m_ShowBorder As Boolean = False
      Private m_IsPlayerInit As Boolean = False
      ''' <summary>
      ''' Controller-Host für den FlashPlayer zur Darstellung
      ''' in einem UserControl.
      ''' </summary>
      Private Class FlashHost
        Inherits AxHost
     
        Public Sub New(ByVal sCLSID As String)
          MyBase.New(sCLSID)
        End Sub
     
        Public ReadOnly Property Player() As Object
          Get
            Return Me.GetOcx
          End Get
        End Property
      End Class
      ''' <summary>
      ''' Initialisiert das UserControl
      ''' </summary>
      Public Sub New()
        Try
          ' Versionsunabhängiges LateBinding des FlashPlayers
          Dim tFlashPlayer As Type = Type.GetTypeFromProgID("ShockwaveFlash.ShockwaveFlash")
          If tFlashPlayer IsNot Nothing Then
            m_FlashHost = New FlashHost(tFlashPlayer.GUID.ToString)
            DirectCast(m_FlashHost, ISupportInitialize).BeginInit()
            SuspendLayout()
            m_FlashHost.Visible = True
            m_FlashHost.Dock = DockStyle.Fill
            Controls.Add(m_FlashHost)
            DirectCast(m_FlashHost, ISupportInitialize).EndInit()
            ResumeLayout(False)
            PerformLayout()
            m_IsPlayerInit = True
          Else
            MessageBox.Show("Der FlashPlayer konnte nicht initialisiert werden.", _
               "Überprüfung FlashPlayer", MessageBoxButtons.OK, MessageBoxIcon.Error)
          End If
        Catch ex As Exception
          MessageBox.Show(ex.Message, "Initialisierung FlashPlayer", _
             MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
      End Sub
      ''' <summary>
      ''' Legt fest, ob das Video sofort abgespielt werden soll.
      ''' </summary>
      <DefaultValue(GetType(System.Boolean), "True")> _
      Public Property AutoPlay() As Boolean
        Get
          Return m_AutoPlay
        End Get
        Set(ByVal value As Boolean)
          m_AutoPlay = value
        End Set
      End Property
      ''' <summary>
      ''' Legt die erste Verlaufsfarbe für Border und Navigator fest.
      ''' </summary>
      <DefaultValue(GetType(System.Drawing.Color), "Gray")> _
      Public Property ColorFrom() As Color
        Get
          Return m_ColorFrom
        End Get
        Set(ByVal value As Color)
          m_ColorFrom = value
        End Set
      End Property
      ''' <summary>
      ''' Legt die zweite Verlaufsfarbe für Border und Navigator fest.
      ''' </summary>
      <DefaultValue(GetType(System.Drawing.Color), "Gray")> _
      Public Property ColorTo() As Color
        Get
          Return m_ColorTo
        End Get
        Set(ByVal value As Color)
          m_ColorTo = value
        End Set
      End Property
      ''' <summary>
      ''' Zeigt an, ob ein FlashPlayer initialisiert werden konnte.
      ''' </summary>
      <Browsable(False)> _
      Public ReadOnly Property IsPlayerInit() As Boolean
        Get
          Return m_IsPlayerInit
        End Get
      End Property
      ''' <summary>
      ''' Legt fest, ob der Player einen Rahmen angezeigen soll.
      ''' </summary>
      <DefaultValue(GetType(System.Boolean), "False")> _
      Public Property ShowBorder() As Boolean
        Get
          Return m_ShowBorder
        End Get
        Set(ByVal value As Boolean)
          m_ShowBorder = value
        End Set
      End Property
      ''' <summary>
      ''' Spielt das angegebene Video ab.
      ''' </summary>
      ''' <param name="URL">Die URL des Videos.</param>
      Public Sub PlayMovie(ByVal URL As String)
        If Not String.IsNullOrEmpty(URL) Then
          Dim sb As New StringBuilder
          sb.Append(URL)
          sb.AppendFormat("&autoplay={0}", IIf(m_AutoPlay, "1", "0"))
          sb.AppendFormat("&color1=0x{0}{1}{2}", String.Format("{0:X2}", m_ColorFrom.R), _
             String.Format("{0:X2}", m_ColorFrom.G), String.Format("{0:X2}", m_ColorFrom.B))
          sb.AppendFormat("&color2=0x{0}{1}{2}", String.Format("{0:X2}", m_ColorTo.R), _
             String.Format("{0:X2}", m_ColorTo.G), String.Format("{0:X2}", m_ColorTo.B))
          sb.AppendFormat("&border={0}", IIf(m_ShowBorder, "1", "0"))
     
          m_FlashHost.Player.Movie = sb.ToString
        End If
      End Sub
    End Class

    Aufrufbeispiel:

    If Me.FlashPlayer1.IsPlayerInit Then
      ' Phil Collins Farewell Tour - Drums and "Take me Home"
      Me.FlashPlayer1.PlayMovie("http://www.youtube.com/v/egJR3K6UIJY")
    End If

    Dieser Tipp wurde bereits 32.367 mal aufgerufen.

    Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

    Über diesen Tipp im Forum diskutieren
    Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

    Aktuelle Diskussion anzeigen (1 Beitrag)

    nach obenzurück


    Anzeige

    Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
    (einschl. Beispielprojekt!)

    Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
    - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
    - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
    Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
     
       

    Druckansicht Druckansicht Copyright ©2000-2016 vb@rchiv Dieter Otter
    Alle Rechte vorbehalten.
    Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

    Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel