PowerBuilder作為一種優秀的數據庫前端開發工具,深受廣大數據庫開發者的青睐,現在的數據庫涉及到多媒體應用越來越多,而PowerBuilder沒有像VB、Delphi那樣提供開發多媒體的控件,但並不是說利用PowerBuilder就不能開發多媒體。下面就介紹利用PowerBuilder開發多媒體的三種方法(以播放視頻文件AVI為例)。
A.利用OLE方法
打開要播放的多媒體的窗體,點按OLE控件,系統彈出“Insert object”對話框,選擇“CreateNew”頁,選取視頻剪輯,在窗體上放上該OLE控件,編寫窗體Open事件的腳本(比如要播放的視頻文件為sample.avi): ole_1.InserFile(“sample.avi”)運行該窗體,雙擊該OLE,視頻就播放出來了。
B.利用MCI方法
這種方法要調用Windows的API函數MciSendStringA,因此,首先要聲明該函數。選“Declare/Local External Functions”菜單項,彈出“Declare Local External Functions”對話框,聲明局部外部函數: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的系統提供了AmovIE.ocx控件,該控件提供了很多屬性和函數,可通過編程修改其屬性和調用其函數來控制多媒體,開發出高質量的多媒體播放器。下面我們就以開發具有播放和停止功能的多媒體播放器為例。
在要播放的窗體上,點按OLE控件,系統彈出“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()