明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用PowerBuilder開發(fā)多媒體播放器

[摘要]PowerBuilder作為一種優(yōu)秀的數(shù)據(jù)庫前端開發(fā)工具,深受廣大數(shù)據(jù)庫開發(fā)者的青睞,現(xiàn)在的數(shù)據(jù)庫涉及到多媒體應用越來越多,而PowerBuilder沒有像VB、Delphi那樣提供開發(fā)多媒體的控件...
PowerBuilder作為一種優(yōu)秀的數(shù)據(jù)庫前端開發(fā)工具,深受廣大數(shù)據(jù)庫開發(fā)者的青睞,現(xiàn)在的數(shù)據(jù)庫涉及到多媒體應用越來越多,而PowerBuilder沒有像VB、Delphi那樣提供開發(fā)多媒體的控件,但并不是說利用PowerBuilder就不能開發(fā)多媒體。下面就介紹利用PowerBuilder開發(fā)多媒體的三種方法(以播放視頻文件AVI為例)。

  一、利用OLE方法。打開要播放的多媒體的窗體,點按OLE控件,系統(tǒng)彈出“Insert object”對話框,選擇“CreateNew”頁,選取視頻剪輯,在窗體上放上該OLE控件,編寫窗體Open事件的腳本(比如要播放的視頻文件為sample.avi):ole_1.InserFile(“sample.avi”)運行該窗體,雙擊該OLE,視頻就播放出來了。

  二、利用MCI方法。這種方法要調(diào)用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))v  運行窗體,點擊該按鈕就可以播放視頻了。

  三、利用OCX控件。Windows95的系統(tǒng)提供了Amovie.ocx控件,該控件提供了很多屬性和函數(shù),可通過編程修改其屬性和調(diào)用其函數(shù)來控制多媒體,開發(fā)出高質(zhì)量的多媒體播放器。下面我們就以開發(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()
  這樣簡單的多媒體播放器就開發(fā)好了,如果想對多媒體進行更多的控制,調(diào)用該控件相應的函數(shù)和修改其屬性即可。至于Amovie.ocx控件有哪些事件、屬性和函數(shù),可通過點按Browser圖標來查看。