El software de reproducción de VCD, como "Super Jieba", generalmente tiene un botón u opción de menú llamado "Reproducir VCD". Haga clic para reproducir películas en VCD automáticamente. Si la ruta del archivo es fija, se puede lograr usando solo el control multimedia (mmcontrol). Sin embargo, para diferentes computadoras, debido a que el número de particiones lógicas en el disco duro es diferente, es probable que la ruta de la unidad de disco óptico sea diferente. diferente. ¿Cómo se logra? A continuación, consulte mi análisis detallado:
Utilice "regedit.exe" para ver los elementos de atributos de la unidad de CD-ROM (hkey_local_machine, enum, scsi) en el registro de Windows 98 y compare los elementos de atributos de la unidad de disco duro (hkey_local_machine, enum, esdi) con el disquete unidad de disco
Elementos de atributo (hkey_local_machine, enum, flop), puede encontrar: diferentes cuerpos de disco se distinguen por el parámetro "devicetype" El tipo de dispositivo del disco duro es "0", el disquete es "0a" y la unidad de disco óptico. es "5" ". Luego use "devicetype" como palabra clave para buscar el manual de programación sobre win32API, y podrá obtener la función "getdevicetype" que identifica diferentes discos.
Con esta función, puede obtener la letra de la unidad de CD-ROM usando la siguiente oración:
SiGetDriveType("d:/")<>5Entonces
IfGetDriveType("e:/")<>5Entonces
IfGetDriveType("f:/")<>5Entonces
IfGetDriveType("g:/")<>5Entonces
unidadcd="H"
Ir a obtener archivos cd
Fin si
unidadcd="G"
Ir a obtener archivos cd
Fin si
unidadcd="F"
Ir a obtener archivos cd
Fin si
unidadcd="E"
Ir a obtener archivos cd
Demás
unidadcd="D"
Fin si
obtener archivos cd:
El programa utiliza el método exhaustivo para determinar si el tipo de dispositivo de los discos D, E, F y G es "5". Si no es así, la unidad de disco óptico es H (no hay muchas máquinas con letras de unidad superiores a H). , por lo que la lista exhaustiva termina aquí), y obtenemos "drivecd" es la letra de la unidad de CD-ROM.
Debido a que la ruta de todas las películas VCD es /mpegav/, puede usar la función VB "Dir()" para obtener la ruta de reproducción completa:
MMControl1.FileName=drivecd&":/Mpegav/"&Dir(drivecd&":/Mpegav/*.dat").
El siguiente programa fuente implementa específicamente la reproducción automática de VCD. Sólo hay un control multimedia en el formulario del programa: MMcontrol1. Una vez que se ejecuta el programa, se reproducirá automáticamente desde el primer archivo. Presione la tecla "siguiente" en el control multimedia para reproducir el siguiente archivo.
'Declarar la función GetDriveType
PRivateDeclareFunctionGetDriveTypeLib"kernel32"Alias"GetDriveTypeA"(ByValnDriveAsString)AsLong
Dimfiles()AsString
DimdrivecdAsString
DimiAsInteger
DimjAsInteger
PrivadoSubForm_Load()
'Determinar la letra de la unidad de CD-ROM
SiGetDriveType("d:/")<>5Entonces
IfGetDriveType("e:/")<>5Entonces
IfGetDriveType("f:/")<>5Entonces
IfGetDriveType("g:/")<>5Entonces
unidadcd="H"
Ir a obtener archivos cd
Fin si
unidadcd="G"
Ir a obtener archivos cd
Fin si
unidadcd="F"
Ir a obtener archivos cd
Fin si
unidadcd="E"
Ir a obtener archivos cd
Demás
unidadcd="D"
Fin si
'Coloque todos los archivos VCD en archivos de matriz()
obtener archivos cd:
OnErrorGoTocderr:
s=Dir(unidadcd&":/Mpegav/*.dat")
yo=1
Mientras<>""
ReDimPreservefiles(i)AsString
archivos(i)=s
yo=yo 1
s=dir()
Encaminarse a
j=1
Llamarvcdplay
EnErrorGoTo0
SalirSub
cderr:
MsgBox"¡CDno está listo!"
Descargarme
FinSub
'Determinar si se reproducirá el siguiente archivo
PrivadoSubMMControl1_StatusUpdate()
SiMMControl1.Position=MMControl1.LengthEntonces
j=j1
Sij>i-1Entoncesj=1
Llamarvcdplay
Fin si
FinSub
'Reproducir archivo VCD
PrivadoSubvcdplay()
MMControl1.Command="detener"
MMControl1.Command="cerrar"
MMControl1.FileName=unidadcd&":/Mpegav/"&files(j)
MMControl1.Command="abrir"
MMControl1.Command="reproducir"
FinSub
El programa anterior pasó a Windows98 chino y VisualBasic6.0. ->