Zjištění délky WAV, AVI a MIDI souboru

Postup:
Do deklarační části formuláře zapište:

Private 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

Function GetMediaLength(FileName As String)

    Dim MediaLength As Long
    Dim RetString As String * 256
    Dim CommandString As String

    'Otevření souboru
    CommandString = "Open " & FileName & " alias MediaFile"
    mciSendString CommandString, vbNullString, 0, 0&

    'Zjištění délky
    CommandString = "Set MediaFile time format milliseconds"
    mciSendString CommandString, vbNullString, 0, 0&
    CommandString = "Status MediaFile length"
    mciSendString CommandString, RetString, Len(RetString), 0&
    GetMediaLength = CLng(RetString)

    'Zavření souboru
    CommandString = "Close MediaFile"
    mciSendString CommandString, vbNullString, 0, 0&

End Function


Private Sub Form_Load()

    Dim Seconds, Minutes As Integer
    Dim MilliSeconds As Long
    ' Nahraďte "c:\my_media_file.wav"
    MilliSeconds = GetMediaLength("c:\my_media_file.wav")
    ' Funkce GetMediaLength vrací délku v  milisekundách,
    ' takže musíme provést převod na minuty a vteřiny 
    Seconds = Int(MilliSeconds / 1000) Mod 60
    Minutes = Int(MilliSeconds / 60000)
    MilliSeconds = MilliSeconds Mod 1000

    TotalTime = Minutes & ":" & Seconds & ":" & MilliSeconds
    MsgBox (TotalTime)
   
End Sub

Zpět

Autor: The Bozena