当你在用老牌的XingPlay或是华丽的《超级解霸5.0》的时候,你有没有想过拥有一个你自己编写的软解压播放器呢?其实你只要掌握一点VB的技巧,那么要实现这个愿望就变得很简单了。
笔者在初步研究了Windows的SYSTEM.INI后发现,通过VB的多媒体控件MCI.VBX可以打开MPEG压缩文件(如VCD2.0版的.DAT文件)。
首先你的Windows系统中SYSTEM.INI文件关于[MCI]中需有MPEGVideo项(一般Windows95和Windows98中都已有此项,通过安装XingPlay或CCDVP95等软件也可增加此项)。
其次在VB中建立一个新窗口,将MCI.VBX加入ToolBox中,将MCI控件拖放至窗体Form上,调整其大小,将九个按钮(从左至右为:Prev、Next、Play、Pause、Back、Step、Stop、Record和Eject)中Record按钮Visible属性设为False,其余按钮的Visible属性和Enabled属性设置为True,以上按钮的设置可通过MMControl的属性栏内“自定义”项来设置。
假设光驱为E:,VCD碟片文件为E:\MPEGAV\MUSIC01.DAT。
源代码如下:
Private Sub Form_ Load()
MMControl.DeviceType=″MPEGVideo″
MMControl.Name=″E:\MPEGAV\MUSIC01.DAT″
MMControl.Command=″OPEN″
MMControl.Command=″PLAY″
End Sub
Sub Form_Unload(Cancel As Integer)
MMControl.Command=″close″
End Sub
笔者通过实践发现Step和Back按钮功能不明显,所以对以上两个按钮进行了一些改进。
Sub MMControl_ StepClick(Cancel As Integer)
j=MMControl.Position+100 ′数值100为前进量,可适当调整
If j>MMControl.Length Then
MMControl.From=MMControl.Length
Else
MMControl.From=j
End If
MMControl.Command=″Play″
End Sub
Sub MMControl_ BackClick(Cancel As Integer)
i=MMControl.Position-100 ′数值100为后退量,可适当调整
If i<0 Then
MMControl.From=0
Else
MMControl.From=i
End If
MMControl.Command=″Play″
End Sub
MCI控件还有很多属性,如画面播放位置hWndDisplay属性等,读者可参阅相关资料自行摸索,这里不再介绍。读者还可以通过建立通用对话框来打开文件,以解决VCD文件名不统一或多文件的问题。
调整好窗体Form的标题、图标、颜色等,然后编译成EXE文件,你就可以在Windows下拥有自己的VCD播放器了。
另外,因电脑性能差异及VCD解码质量的不同,播放画面质量和音质将有所差异。
-
vb教程之用VB设计VCD播放器
本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
JavaScript判断两个数组相等的四类方法
js如何操作video标签
React实战--利用甘特图和看板,强化Paas平
【记录】正则替换的偏方
前端下载 Blob 类型整理
抽象语法树AST必知必会
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程