Gibt die Länge einer Sounddatei zurück
#include <Sound.au3>
_SoundLength ( $aSndID [, $iMode = 1] )
| $aSndID | Sound ID Array welches durch _SoundOpen() zurückgegeben wurde oder ein Dateiname |
| $iMode | [optional] Dieses Flag legt fest, in welchem Format die Länge der Sounddatei zurückgegeben werden soll 1 = (Standard) hh:mm:ss wobei h = Stunden, m = Minuten und s = Sekunden sind 2 = Millisekunden |
| Erfolg: | die Soundlänge |
| Fehler: | 0 und setzt das @error Flag auf ungleich 0 |
| @Error: | 1 = $iMode ist ungültig 3 = Ungültige Sound ID. Es ist das zurückgegebene Array von _SoundOpen() oder ein gültiger Dateiname zu verwenden. |
Diese Funktion gibt den bestmöglichen Wert für die Länge der Datei zurück. Dabei wird die Enkodiermethode oder der Parametertyp nicht berücksichtigt.
#include <MsgBoxConstants.au3>
#include <Sound.au3>
Local $sound = _SoundOpen(@WindowsDir & "\media\Windows XP Startup.wav")
If @error = 2 Then
MsgBox($MB_SYSTEMMODAL, "Fehler", "Die Datei existiert nicht.")
Exit
ElseIf @extended <> 0 Then
Local $iExtended = @extended ; Zuweisung, weil @extended nach DllStructCreate() geändert wird
Local $stText = DllStructCreate("char[128]")
DllCall("winmm.dll", "short", "mciGetErrorStringA", "str", $iExtended, "struct*", $tText, "int", 128)
MsgBox($MB_SYSTEMMODAL, "Fehler", "Öffnen fehlgeschlagen." & @CRLF & "Fehlernummer: " & $iExtended & @CRLF & "Fehlerbeschreibung: " & DllStructGetData($stText, 1) & @CRLF & "Beachte: Möglicherweise kann der Sound dennoch korrekt abgespielt werden.")
Else
MsgBox($MB_SYSTEMMODAL, "Erfolgsmeldung", "Die Datei wurde erfolgreich geöffnet.")
EndIf
MsgBox($MB_SYSTEMMODAL, "Sound-Länge", "Der Sound hat eine Spieldauer von: " & @CRLF & _
_SoundLength($sound, 1) & @CRLF & "Millisekunden - " & _SoundLength($sound, 2))