
#DEFINE OF_SHARE_DENY_WRITE 0x20
DECLARE LONG AVIFileOpen IN "avifil32" LONG @ppfile, STRING szFile, LONG mode, LONG pclsidHandler
DECLARE LONG AVIFileRelease IN "avifil32" LONG pfile
DECLARE LONG AVIFileInfo IN "avifil32" LONG NFichero, STRING @FDatos, LONG FTamano
DECLARE AVIFileInit IN "avifil32"
DECLARE AVIFileExit IN "avifil32"
LOCAL hFile AS LONG, AviInfo AS STRING
hFile = 10
AviInfo = REPLICATE(CHR(0),11*4) &&11 los elementos que tiene *4pos. que ocupa cada uno
AviInfo = AviInfo + SPACE(64) &&area para el string que devuelve
AVIFileInit()
cCad = "c:\smstit\ANIMATE\a180.avi"
IF AVIFileOpen(@hFile, cCad,OF_SHARE_DENY_WRITE, 0) = 0
IF AVIFILEINFO(hFile, @AviInfo, LEN(AviInfo)) = 0 Then
MESSAGEBOX("Tamaño: " + TRANSFORM(nRepStruct(AviInfo,6)) + "x" + TRANSFORM(nRepStruct(AviInfo,7)))
MESSAGEBOX(TRANSFORM(nRepStruct(AviInfo,1))+CHR(13)+; &&dwMaxBytesPerSec
TRANSFORM(nRepStruct(AviInfo,2))+CHR(13)+ ; &&dwFlags
TRANSFORM(nRepStruct(AviInfo,3))+CHR(13)+ ; &&dwCaps
TRANSFORM(nRepStruct(AviInfo,4))+CHR(13)+ ; &&dwStreams
TRANSFORM(nRepStruct(AviInfo,5))+CHR(13)+ ; &&dwSuggestedBufferSize
TRANSFORM(nRepStruct(AviInfo,6))+CHR(13)+ ; &&dwWidth
TRANSFORM(nRepStruct(AviInfo,7))+CHR(13)+ ; &&dwHeight
TRANSFORM(nRepStruct(AviInfo,8))+CHR(13)+ ; &&dwScale
TRANSFORM(nRepStruct(AviInfo,9))+CHR(13)+ ; &&dwRate
TRANSFORM(nRepStruct(AviInfo,10))+CHR(13)+ ; &&dwLength
TRANSFORM(nRepStruct(AviInfo,11))+CHR(13)+ ; &&dwEditCount
SUBSTR(AviInfo,11*4+1,64)) &&szFileType
ELSE
MESSAGEBOX("No Se pudo obtener las propiedades del archivo")
ENDIF
AVIFileRelease(hFile)
ELSE
MESSAGEBOX("Error al abrir el video")
ENDIF
AVIFileExit()
FUNCTION nRepStruct
LPARAMETERS cEstructura, nValor
LOCAL cCadena, nEmp
nEmp=((nValor-1)*4)+1
cCadena = SUBSTR(cEstructura,nEmp,4)
RETURN (ASC(SUBSTR(cCadena, 1,1))+ ;
BITLSHIFT(ASC(SUBSTR(cCadena, 2,1)), 8)+ ;
BITLSHIFT(ASC(SUBSTR(cCadena, 3,1)), 16)+ ;
BITLSHIFT(ASC(SUBSTR(cCadena, 4,1)), 24))
ENDFUNC
La informacion retornada viene dada por una estructura asi:
*Struct AVIFILEINFO dwMaxBytesPerSec As Long dwFlags As Long dwCaps As Long dwStreams As Long dwSuggestedBufferSize As Long dwWidth As Long dwHeight As Long dwScale As Long dwRate As Long dwLength As Long dwEditCount As Long szFileType As String * 64 *EndStructSaludos Jorge Mota Microsoft Visual FoxPro MVP Guatemala
| Obtener Informacion de un video AVI | Entrar/Crear una cuenta [3] | 2 Comentarios | |
|
| |
| Los comentarios son propiedad de sus respectivos autores. No somos responsables de su contenido. |
Re: Obtener Informacion de un video AVIpor amby en 23 Sep, 2004 - 05:25 (Información del usuario [4] | Enviar un mensaje [5] http://www.amby.net [6]) |
|
Bienvenido Jorge !!!!! Que bueno saber que estás de regreso. Aportando más sobre API. Muchas gracias, te extrañamos mucho. Saludos, Ana |