top
Loading...
用VB設計VCD播放器

當你在用老牌的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:MPEGAVMUSIC01.DAT。

源代碼如下:

Private Sub Form_ Load()
MMControl.DeviceType=″MPEGVideo″
MMControl.FileName=″E:MPEGAVMUSIC01.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解碼質量的不同,播放畫面質量和音質將有所差異。


作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗