You can retrieve the length of a standard windows media file (WAV, AVI or MIDI) using simple MCI functions. First, you must open the file with: |
Click here to copy the following block | Declare Function mciSendString Lib "winmm" Alias "mciSendStringA" (ByVal _ lpstrCommand As String, ByVal lpstrReturnString As String, _ ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
CommandString = "Open " & FileName" & " alias MediaFile" mciSendString CommandString, vbNullString, 0, 0& |
where MediaFile is an arbitrary name (an alias) that you then use in subsequent command strings. FileName is the full path of the media file and must be in the short format 8+3 characters. Now you can get file length in milliseconds: |
Click here to copy the following block | Dim MediaLength as Long Dim RetString As String * 256 Dim CommandString As String
CommandString = "Set MediaFile time format milliseconds" mciSendString CommandString, vbNullString, 0, 0& CommandString = "Status MediaFile length" MciSendString CommandString, RetString, Len(RetString), 0& MediaLength = CLng(RetString) |
Now, the MediaLength variable containes the length of the media file. You only have to close the MCI device, with |
|