[PB]開發(fā)媒體播放器案例
發(fā)表時間:2024-05-18 來源:明輝站整理相關軟件相關文章人氣:
[摘要]PowerBuilder作為一種優(yōu)秀的數(shù)據庫前端開發(fā)工具,深受廣大數(shù)據庫開發(fā)者的青睞,現(xiàn)在的數(shù)據庫涉及到多媒體應用越來越多,而PowerBuilder沒有像VB、Delphi那樣提供開發(fā)多媒體的控件,但并不是說利用PowerBuilder就不能開發(fā)多媒體。下面就介紹利用PowerBuilder開發(fā)...
PowerBuilder作為一種優(yōu)秀的數(shù)據庫前端開發(fā)工具,深受廣大數(shù)據庫開發(fā)者的青睞,現(xiàn)在的數(shù)據庫涉及到多媒體應用越來越多,而PowerBuilder沒有像VB、Delphi那樣提供開發(fā)多媒體的控件,但并不是說利用PowerBuilder就不能開發(fā)多媒體。下面就介紹利用PowerBuilder開發(fā)多媒體的三種方法(以播放視頻文件AVI為例)。
A.利用OLE方法
打開要播放的多媒體的窗體,點按OLE控件,系統(tǒng)彈出“Insert object”對話框,選擇“CreateNew”頁,選取視頻剪輯,在窗體上放上該OLE控件,編寫窗體Open事件的腳本(比如要播放的視頻文件為sample.avi): ole_1.InserFile(“sample.avi”)運行該窗體,雙擊該OLE,視頻就播放出來了。
B.利用MCI方法
這種方法要調用Windows的API函數(shù)MciSendStringA,因此,首先要聲明該函數(shù)。選“Declare/Local External Functions”菜單項,彈出“Declare Local External Functions”對話框,聲明局部外部函數(shù):Function Long mciSendStringA(red string scommand,ref string returnstr,int ilength,UNITucallback)。在窗體上放上一個命令按鈕cb_play,其Text為“播放”,在cb_play的Click事件輸入腳本:
string ls_command,ls_buffer,ls_filename
filename=″sample.avi″
ls_buffer=fill(Char(0),255)
ls_command=″open″+ls_filemane+″type avivideo alias avi″
mciSendStringA(ls_command,ls_buffer,255,handle(parent))
ls_command=″play avi notify″
mciSendStringA(ls_command,ls_buffer,255,handle(parent))
運行窗體,點擊該按鈕就可以播放視頻了。
C.利用OCX控件
Windows95的系統(tǒng)提供了Amovie.ocx控件,該控件提供了很多屬性和函數(shù),可通過編程修改其屬性和調用其函數(shù)來控制多媒體,開發(fā)出高質量的多媒體播放器。下面我們就以開發(fā)具有播放和停止功能的多媒體播放器為例。
在要播放的窗體上,點按OLE控件,系統(tǒng)彈出“Insert objet”對話框,選擇“Insert control”頁,“選取ActiveMovieControlObject”,在窗體上放上該定制OLE控件,然后在窗體上放兩個命令按鈕cb_play和cb_stop,其Text分別賦值為“播放”和“停止”。
在窗體的open事件輸入腳本:
ole_1.Objet.Filename(″sample.avi″) v cb_play的Click事件的腳本為:
ole_1.Object.play()
cb_stop的Click事件的腳本為:
ole_1.object.stop()