问:本人在pb6.5下可以播放256色(8位).avi文件,但不能播放24位.avi文件。请教高手。谢谢!! 答:你是用什么作的? 我用MCI32.OCX没有问题啊,贴篇文章给你看看: 用PowerBuilder开发多媒体播放器 河北 黄万璞 PowerBuilder作为一种优秀的数据库前端开发工具,深受广大数据库开发者的青睐, 现在的数据库涉及到多媒体应用越来越多,而PowerBuilder没有像VB、Delphi那样提供开 发多媒体的控件,但并不是说利用PowerBuilder就不能开发多媒体。下面就介绍利用PowerBuilder 开发多媒体的三种方法(以播放视频文件AVI为例)。 一、利用OLE方法。打开要播放的多媒体的窗体,点按OLE控件,系统弹出“Insert object”对话框,选择“CreateNew”页,选取视频剪辑,在窗体上放上该OLE控件, 编写窗体Open事件的脚本(比如要播放的视频文件为sample.avi): ole_1.InserFile(“sample.avi”)运行该窗体,双击该OLE,视频就播放出来了。 二、利用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)) 运行窗体,点击该按钮就可以播放视频了。 三、利用OCX控件。Windows95的系统提供了Amovie.ocx控件,该控件提供了很多属性和函数, 可通过编程修改其属性和调用其函数来控制多媒体,开发出高质量的多媒体播放器。下面我们就以 开发具有播放和停止功能的多媒体播放器为例。 在要播放的窗体上,点按OLE控件,系统弹出“Insert objet”对话框,选择“Insert control”页, “选取ActiveMovieControlObject”,在窗体上放上该定制OLE控件,然后在窗体上放两个命令按钮 cb_play和cb_stop,其Text分别赋值为“播放”和“停止”。 在窗体的open事件输入脚本: ole_1.Objet.Filename(″sample.avi″) cb_play的Click事件的脚本为: ole_1.Object.play() cb_stop的Click事件的脚本为: ole_1.object.stop() 这样简单的多媒体播放器就开发好了,如果想对多媒体进行更多的控制,调用该控件相应的函数 和修改其属性即可。至于Amovie.ocx控件有哪些事件、属性和函数,可通过点按Browser图标来查看。 此题由Hello提供答案
|