Positionne la lecture du son � la position sp�cifi�e
#include <Sound.au3>
_SoundSeek ( ByRef $aSndID, $iHour, $iMin, $iSec )
$aSndID | Tableau d'identificatio�n du son retourn� par _SoundOpen() |
$iHour | Heure de la nouvelle position |
$iMin | Minute de la nouvelle position |
$iSec | Seconde de la nouvelle position |
Succ�s: | Retourne 1. |
�chec: | Retourne 0 et d�finit @error <> 0. |
@error: |
1 = �chec de la fonction 3 = ID du son invalide. Utiliser le tableau retourn� par _SoundOpen(). |
Apr�s l'utilisation de _SoundSeek() sur un son, _SoundPlay() doit �tre utilis� pour reprendre la lecture.
L'utilisation du tableau ID retourn� par _SoundOpen() est obligatoire avec cette fonction pour s'assurer que le fichier est lu � partir de la position correcte, ind�pendamment du type d'encodage.
Le tableau d'ID du son doit �tre mis � jour par la fonction car le facteur de correction de synchronisation VBR peut avoir �t� alt�r�.
#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 l'erreur: " & DllStructGetData($tText, 1) & @CRLF & "Notez SVP: Le son peut toujours jouer correctement.") Else MsgBox($MB_SYSTEMMODAL, "Success", "L'ouverture du fichier a r�ussi.") EndIf _SoundPlay($aSound, 0) ; Joue le son pendant une seconde. Sleep(1000) ; Positionne la lecture � 2 secondes. _SoundSeek($aSound, 0, 0, 2) ConsoleWrite("Apr�s _SoundSeek: " & _SoundPos($aSound, 2) & " _SoundStatus: " & _SoundStatus($aSound) & @CRLF) _SoundSeek($aSound, 0, 0, 1) ConsoleWrite("Apr�s _SoundSeek1: " & _SoundPos($aSound, 2) & " _SoundStatus: " & _SoundStatus($aSound) & @CRLF) _SoundPlay($aSound, 0) Do Sleep(100) Until _SoundPos($aSound, 2) >= _SoundLength($aSound, 2) _SoundClose($aSound)