明辉站/网站教程/内容

[PB]开发媒体播放器案例

网站教程2024-05-14 阅读
[摘要]PowerBuilder作为一种优秀的数据库前端开发工具,深受广大数据库开发者的青睐,现在的数据库涉及到多媒体应用越来越多,而PowerBuilder没有像VB、Delphi那样提供开发多媒体的控件,但并不是说利用PowerBuilder就不能开发多媒体。下面就介绍利用PowerBuilder开发...

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() 

……

相关阅读