用PB开发多媒体播放器

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2017-06-13 17:05:06

  问:本人在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,UN99vucallback)。
在窗体上放上一个命令按钮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提供答案


Tags:

作者:佚名
分享到: 微信 更多