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
|