---- 用过VB编程的人对AVI的视频图象播放一定很熟悉,可用多种办法可以实现,其中较为常用的一种:只要在窗体中加入一个MCI32.ocx控件MMControl1和 一个Picture1控件用几条语句即可实现,源码如下:
MMControl1.filename = “AVI文件.avi” MMControl1.hWndDisplay = Picture1.hWnd MMControl1.Command = “open” MMControl1.Command = “play”
---- 在Pb6中如何实现呢?
---- 由于要使用MCI32.OCX控件,所以可以通过插入OLE引用外部控件来实现对OCX的引用(如图一)。
---- 首先在窗体中插入一MMCI控件ole_1。
---- 由于MMC控件支持许多种多媒体文件的的播放如MID,WAV,AVI等,对MID和WAV文件的播放不需指定窗口显示属性。这是因为便用Open 命令的过程中,MCI程序通过检查设备类型自动进行设置。如果设备类型是 MMMovie、Overlay 或 VCR,那么就要指定播放窗口。否则不使用播放窗口。
---- 对于AVI文件的播放要使用窗口设备,必须使用 hWndDisplay 属性来设置显示输出的窗口,否则视频图象无法显示。但能否象在VB中一样插入一图片控件来实现呢?不行,由于hWndDisplay对应的是窗口的句柄,而PB中Picture控件无handl属性。所以无法像VB中使用Picture. HWnd来给hWndDisplay属性赋值。那么如何给hWndDisplay赋值呢?在这里我们要建立另外一窗体w2,其大小与视频图象播放窗口大小一致。使用Handle()函数来获得窗体W2的句柄,给MMCI控件的hWndDisplay赋值。
---- 具体编程如下:
建立主窗口WMAIN。其windows type 为 main型。 建立窗口W2 其windows type 为 Child型。 插入一OEL控件 OEL_1。 为了简单起见直接在主窗口OPEN事件中加入以下源码: long hdd open(W2) hdd=handle(W2) ole_1.visible=false ole_1.object.FileName = "AVI文件.avi" // 注意:AVI文件带路径 ole_1.object.hWndDisplay=hdd ole_1.object.Command = "Open" ole_1.object.command = "play"
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18