上篇介绍的 TBActiveX 控件,它可以支持网页 Media Player 的设定,这跟前面提及的 TBMediaPlayer 功能相同。TBActiveX 具有网页设定 ActiveX 通用属性,所以 TBMediaPlayer 基本上是可以由 TBActiveX 继承下来,再加入 Media Player 特有的属性即可。本文将原来的 TBMediaPlayer 控件,继承的父类别由 WebControl 改为 TBActiveX 类别,重新改写 TBMediaPlayer 控件。

程序代码下载:ASP.NET Server Control - Day12.rar

 

一、改写 TBMediaPlayer 控件

TBMediaPlayer 控件原本是继承 WebControl,现改继承对象为 TBActiveX,来重新改写 TBMediaPlayer 控件。

step1. TBMediaPlayer 继承至 TBActiveX

新增 TBMediaPlayer 控件,继承至 TBActiveX,并在建构函式设定 Media Player ActiveX 的 ClassId。

    Public Class TBMediaPlayer
        Inherits TBActiveX
 
        ''' <summary>
        ''' 建構函式。
        ''' </summary>
        Sub New()
            MyBase.ClassId = "6BF52A52-394A-11D3-B153-00C04F79FAA6"
        End Sub
    End Class

 

step2. 加入相关属性

跟原来的 TBMediaPlayer 控件一样,加入 Url、AutoStart、UIMode 三个属性,可视情形加入需要设定的属性。

 

step3. 加入 Media Player 参数

覆写 CreateChildControls 方法,动态依属性设定在 Params 集合属性加入参数。虽然 TBMediaPlayer 控制项目前只有 Url、AutoStart、UIMode 三个属性,但是父类别 TBActiveX 具有 Params 集合属性,所以开发人员可以视需求加入其它未定义的参数。

 

        ''' <summary>
        ''' 加入 MediaPlayer 參數。
        ''' </summary>
        ''' <param name="Name">參數名稱。</param>
        ''' <param name="Value">參數值。</param>
        Private Sub AddParam(ByVal Name As String, ByVal Value As String)
            Dim oParam As TBActiveXParam
 
            oParam = New TBActiveXParam(Name, Value)
            Me.Params.Add(oParam)
        End Sub
 
        ''' <summary>
        ''' 覆寫 CreateChildControls 方法。
        ''' </summary>
        Protected Overrides Sub CreateChildControls()
            '加入 Url 參數
            If Me.Url <> String.Empty Then
                AddParam("URL", Me.ResolveClientUrl(Me.Url))
            End If
            '加入 autoStart 參數
            If Me.AutoStart Then
                AddParam("autoStart", "true")
            End If
            '加入 uiMode 參數
            If Me.UIMode <> EUIMode.NotSet Then
                AddParam("uiMode", Me.UIMode.ToString)
            End If
            MyBase.CreateChildControls()
        End Sub

 

二、执行程序

在页面拖曳 TBMediaPlayer 控件,设定  Url、AutoStart、UIMode 属性,若有需要加入其它参数,可自行设定 Params 集合属性。执行程序就可以在页面上看到呈现出来的 Media Player。

        <bee:TBMediaPlayer ID="TBMediaPlayer1" runat="server" AutoStart="True" 
            Height="249px" Url="D:\Movie_01.wmv" Width="250px">
        </bee:TBMediaPlayer>

 

 

备注:本文同步发布于「第一届iT邦帮忙铁人赛」,如果你觉得这篇文章对您有帮助,记得连上去推鉴此文增加人气 ^^
http://ithelp.ithome.com.tw/question/10012196

posted on 2008-10-14 13:22  jeff377  阅读(362)  评论(0编辑  收藏  举报