Software pemutar VCD seperti "Super Jieba" umumnya memiliki tombol atau pilihan menu bernama "Play VCD". Klik untuk memutar film VCD secara otomatis. Jika jalur file tetap, hal ini dapat dicapai hanya dengan menggunakan kontrol multimedia (mmcontrol). Namun, untuk komputer yang berbeda, karena jumlah partisi logis pada hard disk berbeda, jalur drive disk optik kemungkinan besar akan sama. berbeda. Bagaimana cara mencapainya? Di bawah ini, silakan lihat analisis rinci saya:
Gunakan "regedit.exe" untuk melihat item atribut drive CD-ROM (hkey_local_machine, enum, scsi) di registri Windows 98, dan bandingkan item atribut drive hard disk (hkey_local_machine, enum, esdi) dengan floppy disk drive
Item atribut (hkey_local_machine, enum, flop), Anda dapat menemukan: badan disk yang berbeda dibedakan berdasarkan parameter "devicetype". Jenis perangkat hard disk adalah "0", floppy disk adalah "0a", dan drive disk optik adalah "5" ". Kemudian gunakan "devicetype" sebagai kata kunci untuk mencari manual pemrograman tentang win32API, dan Anda bisa mendapatkan fungsi "getdevicetype" yang mengidentifikasi disk yang berbeda.
Dengan fungsi ini, Anda bisa mendapatkan huruf drive dari drive CD-ROM menggunakan kalimat berikut:
IfGetDriveType("d:/")<>5Lalu
IfGetDriveType("e:/")<>5Lalu
IfGetDriveType("f:/")<>5Lalu
IfGetDriveType("g:/")<>5Lalu
drivecd="H"
File GoTogetcd
AkhirJika
drivecd="G"
File GoTogetcd
AkhirJika
drivecd="F"
File GoTogetcd
AkhirJika
drivecd="E"
File GoTogetcd
Kalau tidak
drivecd="D"
AkhirJika
dapatkan file cd:
Program ini menggunakan metode lengkap untuk menentukan apakah jenis perangkat disk D, E, F, dan G adalah "5". Jika tidak, drive disk optiknya adalah H (tidak banyak mesin dengan huruf drive melebihi H , jadi daftar lengkapnya berakhir di sini), dan kita mendapatkan The "drivecd" adalah huruf drive dari drive CD-ROM.
Karena jalur semua film VCD adalah /mpegav/, Anda dapat menggunakan fungsi VB "Dir()" untuk mendapatkan jalur pemutaran lengkap:
MMControl1.FileName=drivecd&":/Mpegav/"&Dir(drivecd&":/Mpegav/*.dat").
Program sumber berikut secara khusus mengimplementasikan pemutaran VCD otomatis. Hanya ada satu kontrol multimedia dalam bentuk program - MMcontrol1. Setelah program dijalankan, maka secara otomatis akan memutar dari file pertama. Tekan tombol "berikutnya" pada kontrol multimedia untuk memutar file berikutnya.
'Deklarasikan fungsi GetDriveType
PRivateDeclareFunctionGetDriveTypeLib"kernel32"Alias"GetDriveTypeA"(ByValnDriveAsString)AsLong
Dimfiles()AsString
DimdrivecdAsString
DimiAsInteger
DimjAsInteger
PrivateSubForm_Load()
'Tentukan huruf drive dari drive CD-ROM
IfGetDriveType("d:/")<>5Lalu
IfGetDriveType("e:/")<>5Lalu
IfGetDriveType("f:/")<>5Lalu
IfGetDriveType("g:/")<>5Lalu
drivecd="H"
File GoTogetcd
AkhirJika
drivecd="G"
File GoTogetcd
AkhirJika
drivecd="F"
File GoTogetcd
AkhirJika
drivecd="E"
File GoTogetcd
Kalau tidak
drivecd="D"
AkhirJika
'Masukkan semua file VCD ke dalam file array()
dapatkan file cd:
OnErrorGoTocderr:
s=Dir(drivecd&":/Mpegav/*.dat")
saya=1
Sementara<>""
ReDimPreservefiles(i)AsString
file(i)=s
saya=saya 1
s=Dir()
Pergi ke
j=1
Panggilanvcdplay
OnErrorGoTo0
KeluarSub
cderr:
MsgBox"CD belum siap!"
Bongkar Saya
Sub Akhir
'Tentukan apakah akan memutar file berikutnya
PrivateSubMMControl1_StatusUpdate()
JikaMMControl1.Position=MMControl1.LengthThen
j=j 1
Jikaj>i-1Makaj=1
Panggilanvcdplay
AkhirJika
Sub Akhir
'Putar file VCD
Putar Subvcd Pribadi()
MMControl1.Command="berhenti"
MMControl1.Command="tutup"
MMControl1.FileName=drivecd&":/Mpegav/"&files(j)
MMControl1.Command="buka"
MMControl1.Command = "mainkan"
Sub Akhir
Program di atas diteruskan pada Windows98 Cina dan VisualBasic6.0. ->