Rien dans les sites du Ring ou chez nos partenaires ?
Bizarre!
La LST41 contient un exemple sur les potentiomètres multicurseurs... pour jouer un fichier AVI.
...l'utilisation d'un potentiomètre multicurseur permet de redéfinir les bornes utilisée pour jouer une AVI...
Peut être qu'en analysant ce code, les API sortiront...
ou du moins des API liées.
STOP : AVIFileInfo de avifil32.dll
AVIFILEINFO est une structure
dwMaxBytesPerSec est un entier [[wd55 : long]]
dwFlags est un entier
dwCaps est un entier
dwStreams est un entier
dwSuggestedBufferSize est un entier
dwWidth est un entier
dwHeight est un entier
dwScale est un entier
dwRate est un entier
dwLength est un entier
dwEditCount est un entier
szFileType As String * 64 szFileType est une chaine asciiZ sur 64 // ????
fin
pfi est un AVIFILEINFO
appeldll32("avifil32","AVIFileInfo",pfile,&pfi,dimension(pfi))
voir le contenu de pfi
NB : code obtenur par tentative de traduction de VB
pardon pour les erreurs éventuelles.
Evidement cette API est à utiliser avec ses soeurs...
code VB initial
Private Const OF_SHARE_DENY_WRITE As Long = &H20
Private Type 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
End Type
Private Declare Function AVIFileOpen Lib "avifil32" Alias "AVIFileOpenA" (ppfile As Long, ByVal szFile As String, ByVal mode As Long, pclsidHandler As Any) As Long
Private Declare Function AVIFileRelease Lib "avifil32" (ByVal pfile As Long) As Long
Private Declare Function AVIFileInfo Lib "avifil32" Alias "AVIFileInfoA" (ByVal pfile As Long, pfi As AVIFILEINFO, ByVal lSize As Long) As Long
Private Declare Sub AVIFileInit Lib "avifil32" ()
Private Declare Sub AVIFileExit Lib "avifil32" ()
Private Sub Form_Load()
Dim hFile As Long, AviInfo As AVIFILEINFO
'initialize the AVIFile library
AVIFileInit
'create a handle to the AVI file
If AVIFileOpen(hFile, "C:\SIERRA\Half-Life\valve\media\sierra.avi", OF_SHARE_DENY_WRITE, ByVal 0&) = 0 Then
'retrieve the AVI information
If AVIFileInfo(hFile, AviInfo, Len(AviInfo)) = 0 Then
MsgBox "AVI dimensions: " + CStr(AviInfo.dwWidth) + "x" + CStr(AviInfo.dwHeight)
Else
MsgBox "Error while retrieving AVI information... :("
End If
'release the file handle
AVIFileRelease hFile
Else
MsgBox "Error while opening the AVI file... :("
End If
'exit the AVIFile library and decrement the reference count for the library
AVIFileExit
End Sub
Merci de nous poster votre code...