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 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 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 36.905 mal aufgerufen.
Anzeige
![]() ![]() ![]() (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. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats ![]() Dieter Otter PopUp-Menü wird nicht angezeigt :-( In diesem Tipp verraten wir Ihnen, wie Sie Probleme mit PopUp-Menüs umgehen können, wenn diese unter bestimmten Umständen einfach nicht angezeigt werden. sevZIP40 Pro DLL ![]() Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. |
||||||||||||||||
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. |