播放背景音樂
聲明:
DeclareFunctionMCISendString&Lib″MMSYSTEM″(ByValLPSTRCOMMAND$,ByValLPSTRRETURNSTRAsAny,ByValWRETURNLEN%,ByValHCALLBACK%)
開始播放:
R%=MCISendString&(″OPENEXAMPLE.MIDTYPESEQUENCERALIASNN″,0&,0,0)
R%=MCISendString&(″PLAYNNFROM0″,0&,0,0)
R%=MCISendString&(″CLOSEANIMATION″,0&,0,0)
停止:
R%=MCISendString&(″OPENEXAMPLE.MIDTYPESEQUENCERALIASNN″,0&,0,0)
R%=MCISendString&(″STOPNN″,0&,0,0)
R%=MCISendString&(″CLOSEANIMATION″,0&,0,0)
其中EXAMPLE.MID為播放的文件,NN為自訂名稱標誌。
使XMPlayer自動播放VCD
XingMPEGPlayer是軟解壓縮播放VCD的優秀軟體,但調入XM—player、進入播放狀態、隱藏面板等一系列操作,需多次點擊滑鼠,較為麻煩。以下用VB程式先檢查光碟機是否準備好或光碟機中是否為VCD光盤,然後利用VB模擬XingMPEG的鍵盤動作,透過短短的幾行程序,實現VCD光碟的自動播放。
1.進入VB環境,設定窗體Form1的Visible屬性為False,然後在窗體上建立一個驅動器列錶框Drivel,也設其Visible屬性為False,以使窗體和列錶框在程式調入時不被顯示出來。其它屬性均取預設值。
2.雙擊窗體,編寫過程程式碼
PRivateSubForm—Load()
OnErrorGoTofinderr′檢查光碟機是否準備好或光碟機中是否為VCD光盤
startline:
drvnmb=Drive1ListCount
cdname$=Drive1List(drvnmb-1)
files$=Dir$(cdname$&″/mpegav/*.dat″)
Iffiles$=″″ThenGoTofinderr
act=Shell(″C:/ProgramFiles/Xmplayer/XMPLAYER.EXE″,1)
′假定Xmplayer位於該目錄,開啟並取得焦點
SendKeys″%(fv)″,True′模擬Ctrl+fv鍵盤動作,開始播放VCD
PauseTime=2′一些VCD光盤因製作不規範,播放前會提示有一些錯誤,為對這些錯誤作出處理,所以暫停若干秒,此暫停是在後台進行,不影響正常VCD連續播放
start=Timer
DoWhileTimer<start+PauseTime
Loop
SendKeys″{enter},^s,^p,^{f4},%{esc},^4″,True′模擬其它鍵盤動作,滿屏播放,隱藏面板等
End
finderr:
msg$=″光碟機未準備好,或光碟機中非VCD光碟,將光碟機準備好,″
msg$=msg$&″或換一張光碟,然後回車重試,或按取消退出″
er=MsgBox(msg$,53,″出錯提示″)
Ifer=4ThenResumestartlineElseEn′由用戶選擇重試或退出
EndSub
3.將上述程式編譯成EXE文件,然後將其快捷方式拖至桌面,雙擊該圖標,即可裝入XingMPEGPlayer並自動開始滿屏播放VCD,同時置PLAYER面板於StandardBar狀態,並將之隱藏。程序中^表示Ctrl,%表示Alt。之所以程式中要連續插入暫停「^S」和播放「^P」兩個動作,是因為20版本的VCD在按Alt+FV後即開始播放,10版本在按Alt+FV後還要求按Ctrl+P ,而Ctrl+P在播放狀態下又等價於Ctrl+S(即暫停);所以如果只有一個「^P」則使VCD10開始播放而VCD20暫停,為了兼顧兩種版本的VCD,首先模擬Ctrl+S動作實現暫停,然後再模擬Ctrl+P開始播放,從而使兩個版本的VCD在執行本程式後都能實現自動播放。
上述程式在Pwin95、VB5和XingMPEGPlayer3.2環境中調試通過。 ->