Тема: Работа с видео.
Задача: определить длительность видео подручными средствами. Поскольку длительность каждого видео зависит от частоты кадров в секунду, то следовательно необходимо эту частоту определить.
Вопрос: Как определить частоту, пользуясь страндартными средствами (я использую энти ДЛЛ ) :
- Код: Выделить всё
Public Declare Function strMedia Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Public Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long
Саму длину вычисляю так:
- Код: Выделить всё
Public VidLenght() as long
strMedia "OPEN " & GetShortPath(FileName) & " ALIAS V", 0, 0, 0
Dim GFL As String * 256
strMedia "STATUS V LENGTH", GFL, Len(GFL), 0
VidLenght = Val(GFL)
End Function
Public Function GetShortPath(strFileName As String) As String
Dim strPath As String
strPath = Space(265)
GetShortPath = Left(strPath, GetShortPathName(strFileName, strPath, 264))
End Function
З.Ы. Спасибо за помощь !