L�nge einer Wave-Datei ermitteln
[Windows 95/98/NT/2000]

07.10.1998


Dies ist gar nicht so schwer, wie vielleicht viele denken !
    Aber eine Information vorab:

    Lange Dateinamen werden von dieser Funktion nicht unterst�tzt !
    Sie m�ssen einen langen Dateinamen zuvor in einen von
    DOS-Zeiten bekannten 8.3-Dateinamen umwandeln.

    Wie dies funktioniert k�nnen Sie
hier nachlesen.

ERFORDERLICHE OBJEKTE
   1 Commandbutton (Command1)

FORM-CODE

   Private Declare Function mciSendString Lib "winmm.dll" _
      Alias "mciSendStringA" (ByVal lpstrCommand As String, _
      ByVal lpstrReturnString As String, ByVal uReturnLength As _
      Long, ByVal hwndCallback As Long) As Long
   Function Wave_L�nge(Dateiname)
      Dim i As Long, RS As String, cb As Long, s As Single
      Wave_L�nge = 0
      RS = Space$(128)
      i = mciSendString("stop sound", RS, 128, cb)
      i = mciSendString("close sound", RS, 128, cb)
      i = mciSendString("open waveaudio!" & _
         Dateiname & " alias sound", RS, 128, cb)
      If i Then Wave_L�nge = -1
      i = mciSendString("status sound length", RS, 128, cb)
      If Wave_L�nge = 0 Then Wave_L�nge = RS / 1000
      i = mciSendString("stop sound", RS, 128, cb)
      i = mciSendString("close sound", RS, 128, cb)
   End Function
   Private Sub Command1_Click()
      L = Wave_L�nge("c:\datei.wav")
      If L = -1 Then
         MsgBox "Fehler"
      Else
         MsgBox "L�nge: " & L & " Sekunden"
      End If
   End Sub

siehe auch

    Soundkarte vorhanden ?
    Soundkarteneinstellungen
    Wavedatei in EXE-Datei integrieren
    Wavedatei abspielen

 

Download -  2 KB