用VB设计VCD播放器的方法与技巧
2006-02-27 11:52:00 来源:WEB开发网核心提示:笔者在初步研究了Windows的SYSTEM.INI后发现,通过VB的多媒体控件MCI.VBX可以打开MPEG压缩文件(如VCD2.0版的.DAT文件),用VB设计VCD播放器的方法与技巧,首先你的Windows系统中SYSTEM.INI文件关于[MCI]中需有MPEGVideo项(一般Windows95和Window
笔者在初步研究了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。
源代码如下:
PrivateSubForm_Load()
MMControl.DeviceType=″MPEGVideo″
MMControl.FileName=″E:\MPEGAV\MUSIC01.DAT″
MMControl.Command=″OPEN″
MMControl.Command=″PLAY″
EndSub
SubForm_Unload(CancelAsInteger)
MMControl.Command=″close″
EndSub
笔者通过实践发现Step和Back按钮功能不明显,所以对以上两个按钮进行了一些改进。
SubMMControl_StepClick(CancelAsInteger)
j=MMControl.Position+100 ′数值100为前进量,可适当调整
Ifj>MMControl.LengthThen
MMControl.From=MMControl.Length
Else
MMControl.From=j
EndIf
MMControl.Command=″Play″
EndSub
SubMMControl_BackClick(CancelAsInteger)
i=MMControl.Position-100 ′数值100为后退量,可适当调整
Ifi<0Then
MMControl.From=0
Else
MMControl.From=i
EndIf
MMControl.Command=″Play″
EndSub
MCI控件还有很多属性,如画面播放位置hWndDisplay属性等,读者可参阅相关资料自行摸索,这里不再介绍。读者还可以通过建立通用对话框来打开文件,以解决VCD文件名不统一或多文件的问题。
调整好窗体Form的标题、图标、颜色等,然后编译成EXE文件,你就可以在Windows下拥有自己的VCD播放器了。
另外,因电脑性能差异及VCD解码质量的不同,播放画面质量和音质将有所差异。->
首先你的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。
源代码如下:
PrivateSubForm_Load()
MMControl.DeviceType=″MPEGVideo″
MMControl.FileName=″E:\MPEGAV\MUSIC01.DAT″
MMControl.Command=″OPEN″
MMControl.Command=″PLAY″
EndSub
SubForm_Unload(CancelAsInteger)
MMControl.Command=″close″
EndSub
笔者通过实践发现Step和Back按钮功能不明显,所以对以上两个按钮进行了一些改进。
SubMMControl_StepClick(CancelAsInteger)
j=MMControl.Position+100 ′数值100为前进量,可适当调整
Ifj>MMControl.LengthThen
MMControl.From=MMControl.Length
Else
MMControl.From=j
EndIf
MMControl.Command=″Play″
EndSub
SubMMControl_BackClick(CancelAsInteger)
i=MMControl.Position-100 ′数值100为后退量,可适当调整
Ifi<0Then
MMControl.From=0
Else
MMControl.From=i
EndIf
MMControl.Command=″Play″
EndSub
MCI控件还有很多属性,如画面播放位置hWndDisplay属性等,读者可参阅相关资料自行摸索,这里不再介绍。读者还可以通过建立通用对话框来打开文件,以解决VCD文件名不统一或多文件的问题。
调整好窗体Form的标题、图标、颜色等,然后编译成EXE文件,你就可以在Windows下拥有自己的VCD播放器了。
另外,因电脑性能差异及VCD解码质量的不同,播放画面质量和音质将有所差异。->
更多精彩
赞助商链接