Retourne la position de lecture actuelle du son
#include <Sound.au3>
_SoundPos ( $aSndID [, $iMode = 1] )
$aSndID | Tableau d'identification du son retourné par _SoundOpen() ou le nom du fichier |
$iMode | [optionnel] Cet indicateur détermine dans quel format la position dans le son est retournée 1 = (par défaut) hh:mm:ss où h = heures, m = minutes et s = secondes 2 = millisecondes |
Succès: | Retourne la position de lecture du son. |
Échec: | Retourne 0 et définit @error <> 0. |
@error: |
1 = $iMode est invalide 3 = ID du son invalide. Utiliser le tableau retourné par _SoundOpen() ou un nom de fichier valide. |
Il est recommandé d'ouvrir un fichier son avec _SoundOpen() et passer le tableau d'identification plutôt que d'utiliser le nom de fichier dans cette fonction. Un fichier encodé VBR a très peu de chance de retourner la position correcte si le nom du fichier est passé directement à cette fonction.
#include <MsgBoxConstants.au3> #include <Sound.au3> Local $aSound = _SoundOpen(@WindowsDir & "\media\tada.wav") If @error = 2 Then MsgBox($MB_SYSTEMMODAL, "Erreur", "Le fichier n'existe pas!") Exit ElseIf @extended <> 0 Then Local $iExtended = @extended ; Parce que @extended sera défini après DllCall. Local $tText = DllStructCreate("char[128]") DllCall("winmm.dll", "short", "mciGetErrorStringA", "str", $iExtended, "ptr", DllStructGetPtr($tText), "int", 128) MsgBox($MB_SYSTEMMODAL, "Erreur", "L'ouverture a échoué." & @CRLF & "Numéro de l'erreur: " & $iExtended & @CRLF & "Description de : " & DllStructGetData($tText, 1) & @CRLF & "Notez SVP: Le son peut toujours jouer correctement.") Else MsgBox($MB_SYSTEMMODAL, "Succès", "L'ouverture du fichier a réussi.") EndIf _SoundPlay($aSound, 0) SplashTextOn("Position courante", _SoundPos($aSound, 1), 300, 90, Default, Default, 18, Default, 55) Do Sleep(100) ControlSetText("Position courante", "", "Static1", _SoundPos($aSound, 1)) Until _SoundPos($aSound, 2) >= _SoundLength($aSound, 2) _SoundClose($aSound)