多流媒體播放器ActiveX控件開發(fā)
If WMP1time(sycpoint)=curtime Then
WindowsMediaPlayer1.Controls.pause
WindowsMediaPlayer2.Controls.stop
WindowsMediaPlayer3.Controls.stop
WindowsMediaPlayer4.Controls.stop
WindowsMediaPlayer2.Controls.currentPosition=WMP2time(sycpoint)
WindowsMediaPlayer3.Controls.currentPosition=WMP3time(sycpoint)
WindowsMediaPlayer4.Controls.currentPosition=WMP4time(sycpoint)
WindowsMediaPlayer1.Controls.play
WindowsMediaPlayer2.Controls.play
WindowsMediaPlayer3.Controls.play
WindowsMediaPlayer4.Controls.play
sycpoint = sycpoint + 1
End If
4 多流媒體播放器ActiveX控件設計概要
為了實現(xiàn)多流媒體播放器在網絡中的應用,可將程序移植成一個ActiveX控件。本文在VB新建工程中選擇建立“ActiveX用戶控件”即可建立控件。其程序編寫與上面所設計的多流媒體播放器沒有太大的區(qū)別。但其打開方式上有所不同,程序是用戶選擇打開多流媒體文件,為4個WindowsMediaPlayer控件賦值。但在ActiveX控件中,為WindowsMediaPlayer賦值的是網站開發(fā)人員賦值或者在動態(tài)頁面中對它進行賦值。
4.1 控件屬性、方法和事件
作為一個控件,屬性是其主要功能的體現(xiàn)。定義一個屬性,除了考慮命名和功能,還要考慮該屬性的數(shù)據(jù)類型、是否允許讀寫、是允許在設計時還是在運行時使用[4]。
屬性、方法和事件統(tǒng)稱為控件的成員??丶慕涌诔蓡T有公有(public)和私有(private)之分。私有成員只能在模塊內部調用,公有成員可以被ActiveX控件的用戶調用。
利用菜單“工具/添加過程”可以添加控件的成員,其類型有4個:Sub(子程序)、Property(屬性)、Function(函數(shù))、Event(事件)。范圍有2個:Public(共有的)、Private(私有的)[7-8]。
4.2 播放器屬性設置
本播放器選擇的用戶過程為Property(屬性)和Public(共有的),生成的代碼為:
Public Property Geturl1() As String
End Property
Public Property Let url1(ByVal New_url1 As String)
End Property
其中Property Get( )讀取該過程的屬性值,Property Set( )為此過程賦值??梢越o設定的用戶屬性賦值和取值。
該控件中,共設置了9個用戶屬性。分別為4個url賦值、4個同步起始時間和1個窗口數(shù)量。設置接口屬性startTime1、startTime2、startTime3、startTime4用于文件頭同步;sycFile用于文件中的同步。
圖5為多窗口調試同步的測試圖。程序運行時,首先讀取同步文件,讀到同步點數(shù)目和第一個同步點同步時間。同時運行各個媒體,在第一媒體播放窗口播放到同步點時間處,會判斷其他三個媒體播放時間是否與讀取到的同步時間相同,相同則不同步,不同就開始同步。本文引用地址:http://www.ex-cimer.com/article/166611.htm
目前,流媒體播放器在網絡、教學、會議和娛樂領域使用廣泛。本文對多流媒體服務器架設、多流播放構架設計進行了分析,對同步模式和同步技術方面進行了闡述,設計了播放器ActiveX控件,為研究多流媒體播放器提供了一種新的解決方法。
參考文獻
[1] 陸其明.DirectShow開發(fā)指南[M].北京:清華大學出版社,2003:1-3.
[2] 王新穎.基于校園網的流媒體同步機制研究[J].襄樊職業(yè)技術學院學報,2006,5(6):7-8.
[3] 張炳卓,蘇恭.建立Real流媒體技術的網絡教學系統(tǒng)[J].中國電化教育,2004(6):83-85.
[4] 李海.Visual Basic編程晉級,ActiveX控件[M].北京:清華大學出版社,2000:100-120.
[5] GINSBURG M.Late Night ActiveX[M].Simon and Schuster,1997:50-63.
[6] 許延.存儲媒體的媒體內同步反饋控制算法[J].電子學報,2002,39(12):1675-1680.
[7] 張震新.基于SMIL的流媒體播放器的設計與實現(xiàn)[J].福建電腦,2007(9):134-136.
[8] 基于DirectShow的流媒體解碼和回放[EB/OL].日日新博客園.http://www.cnblogs.com/wiseman/archive/2004/11/27/69690.aspx.
tcp/ip相關文章:tcp/ip是什么
評論