VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 巧用VB编程使XMPLAYER自动播放VCD
发表评论(0)作者:, 平台:, 阅读:9566, 日期:2000-03-12
巧用VB编程使XMPLAYER自动播放VCD

广东 徐林清

XingMPEG Player是软解压播放VCD的优秀软件,但调入XM?player、进入播放

状态、隐藏面板等一系列操作,需要多次点击鼠标,较为麻烦。下面用VISUAL

BASIC程序首先检查光驱是否准备好或光驱中是否为 VCD光碟,然后利用VB模拟

XingMPEG的键盘动作,通过短短的几行程序,实现 VCD光盘的自动播放。

①进入VB环境,设置窗体FORM1的Visible属性为 False,然后在窗体上建立一

个驱动器列表框Drivel,亦设其Visible属性为FALSE,以使窗体和列表框在程序调

入时不被显示出来。其它属性均取默认值。

②双击窗体,编写过程代码

Private Sub Form-Load()

On Error GoTo finderr ′检查光驱是否准备好或光驱中是否为VCD光碟

startline:

drvnmb=Drive1?ListCount

cdname$=Drive1?List(drvnmb-1)

files$=Dir$(cdname$ & "\mpegav\*.dat")

If files$=""Then GoTo finderr

act=Shell("C:\Program Files\Xmplayer\XMPLAYER.EXE",1)

′假定Xmplayer位于该目录,打开并使之获得焦点

SendKeys "%(fv)",True ′模拟Ctrl+fv键盘动作,开始播放VCD

PauseTime=2 ′一些VCD光碟因制作不规范,播放前会提示有一些错误,为对这些

错误作出处理,所以暂停若干秒,此暂停是在后台进行,不影响正常 VCD连续播放

start=Timer

Do While Timer<start+PauseTime

Loop

SendKeys"{enter},^s,^p,^{f4},%{esc},^4",True ′模拟其

它键盘动作,满屏播放,隐藏面板等

End

finderr:

msg$="光驱未准备好,或光驱中非VCD光盘,将光驱准备好,"

msg$=msg$ & "或换一张光盘,然后回车重试,或按取消退出"

er=MsgBox(msg$,53,"出错提示")

If er=4 Then Resume startline Else En ′由用户选择重试或退出

End Sub

③将上述程序编译成EXE文件,然后将其快捷方式拖至桌面,双击该图标,即

可装入Xing MPEG Player并自动开始满屏播放VCD,同时置PLAYER面板于Standard

Bar状态,并将之隐藏。程序中^表示Ctrl,%表示Alt,之所以程序中要连续插入

暂停“^S”和播放“^P”两个动作,是因为2?0版本的VCD在按Alt+FV后即开始

播放, 1?0版本在按Alt+FV后还要求按Ctrl+P,而Ctrl+P在播放状态下又等价

于Ctrl+S(即暂停),所以如果只有一个“^P”则使VCD1?0开始播放而VCD2?0

暂停,为了兼顾两种版本的VCD,首先模拟Ctrl+S动作实现暂停,然后再模拟

Ctrl+P开始播放,从而使两种版本的 VCD在执行本程序后都能实现自动播放