考試大編輯整理:在初步研究了Windows的SYSTEM.INI后發(fā)現(xiàn),通過VB的多媒體控件MCI.VBX可以打開MPEG壓縮文件(如VCD2.0版的.DAT文件)。
首先你的Windows系統(tǒng)中SYSTEM.INI文件關(guān)于[MCI]中需有MPEGVideo項(xiàng)(一般Windows95和Windows98中都已有此項(xiàng),通過安裝XingPlay或CCDVP95等軟件也可增加此項(xiàng))。
其次在VB中建立一個新窗口,將MCI.VBX加入ToolBox中,將MCI控件拖放至窗體Form上,調(diào)整其大小,將九個按鈕(從左至右為:Prev、Next、Play、Pause、Back、Step、Stop、Record和Eject)中Record按鈕Visible屬性設(shè)為False,其余按鈕的Visible屬性和Enabled屬性設(shè)置為True,以上按鈕的設(shè)置可通過MMControl的屬性欄內(nèi)“自定義”項(xiàng)來設(shè)置。
假設(shè)光驅(qū)為E:,VCD碟片文件為E:\MPEGAV\MUSIC01.DAT。
源代碼如下:
Private Sub Form_ Load()
MMControl.DeviceType=″MPEGVideo″
MMControl.FileName=″E:\MPEGAV\MUSIC01.DAT″
MMControl.Command=″OPEN″
MMControl.Command=″PLAY″
End Sub
Sub Form_Unload(Cancel As Integer)
MMControl.Command=″close″
End Sub
筆者通過實(shí)踐發(fā)現(xiàn)Step和Back按鈕功能不明顯,所以對以上兩個按鈕進(jìn)行了一些改進(jìn)。
Sub MMControl_ StepClick(Cancel As Integer)
j=MMControl.Position+100 ′數(shù)值100為前進(jìn)量,可適當(dāng)調(diào)整
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 ′數(shù)值100為后退量,可適當(dāng)調(diào)整
If i<0 Then
MMControl.From=0
Else
MMControl.From=i
End If
MMControl.Command=″Play″
End Sub
MCI控件還有很多屬性,如畫面播放位置hWndDisplay屬性等,讀者可參閱相關(guān)資料自行摸索,這里不再介紹。讀者還可以通過建立通用對話框來打開文件,以解決VCD文件名不統(tǒng)一或多文件的問題。
調(diào)整好窗體Form的標(biāo)題、圖標(biāo)、顏色等,然后編譯成 EXE文件,你就可以在Windows下?lián)碛凶约旱腣CD播放器了。
另外,因電腦性能差異及VCD解碼質(zhì)量的不同,播放畫面質(zhì)量和音質(zhì)將有所差異。
首先你的Windows系統(tǒng)中SYSTEM.INI文件關(guān)于[MCI]中需有MPEGVideo項(xiàng)(一般Windows95和Windows98中都已有此項(xiàng),通過安裝XingPlay或CCDVP95等軟件也可增加此項(xiàng))。
其次在VB中建立一個新窗口,將MCI.VBX加入ToolBox中,將MCI控件拖放至窗體Form上,調(diào)整其大小,將九個按鈕(從左至右為:Prev、Next、Play、Pause、Back、Step、Stop、Record和Eject)中Record按鈕Visible屬性設(shè)為False,其余按鈕的Visible屬性和Enabled屬性設(shè)置為True,以上按鈕的設(shè)置可通過MMControl的屬性欄內(nèi)“自定義”項(xiàng)來設(shè)置。
假設(shè)光驅(qū)為E:,VCD碟片文件為E:\MPEGAV\MUSIC01.DAT。
源代碼如下:
Private Sub Form_ Load()
MMControl.DeviceType=″MPEGVideo″
MMControl.FileName=″E:\MPEGAV\MUSIC01.DAT″
MMControl.Command=″OPEN″
MMControl.Command=″PLAY″
End Sub
Sub Form_Unload(Cancel As Integer)
MMControl.Command=″close″
End Sub
筆者通過實(shí)踐發(fā)現(xiàn)Step和Back按鈕功能不明顯,所以對以上兩個按鈕進(jìn)行了一些改進(jìn)。
Sub MMControl_ StepClick(Cancel As Integer)
j=MMControl.Position+100 ′數(shù)值100為前進(jìn)量,可適當(dāng)調(diào)整
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 ′數(shù)值100為后退量,可適當(dāng)調(diào)整
If i<0 Then
MMControl.From=0
Else
MMControl.From=i
End If
MMControl.Command=″Play″
End Sub
MCI控件還有很多屬性,如畫面播放位置hWndDisplay屬性等,讀者可參閱相關(guān)資料自行摸索,這里不再介紹。讀者還可以通過建立通用對話框來打開文件,以解決VCD文件名不統(tǒng)一或多文件的問題。
調(diào)整好窗體Form的標(biāo)題、圖標(biāo)、顏色等,然后編譯成 EXE文件,你就可以在Windows下?lián)碛凶约旱腣CD播放器了。
另外,因電腦性能差異及VCD解碼質(zhì)量的不同,播放畫面質(zhì)量和音質(zhì)將有所差異。