Joue un son sp�cifi� par un nom de fichier, une ressource ou un �v�nement syst�me
#include <WinAPIMisc.au3>
_WinAPI_PlaySound ( $sSound [, $iFlags = $SND_SYSTEM_NOSTOP [, $hInstance = 0]] )
$sSound | La cha�ne qui sp�cifie le son � jouer. La longueur maximale est de 255 caract�res. Si $sSound est vide, toute forme d'onde sonore en cours de lecture est stopp�e. |
$iFlags |
[optionnel] Les flags relatifs au son � jouer. Ce param�tre peut prendre une ou plusieurs des valeurs suivantes: $SND_APPLICATION $SND_ALIAS $SND_ALIAS_ID $SND_ASYNC $SND_FILENAME $SND_LOOP $SND_M EMORY $SND_NODEFAULT $SND_NOSTOP $SND_NOWAIT $SND_PURGE $SND_RESOURCE $SND_SYNC Windows Vista ou une version ult�rieure $SND_SENTRY $SND_SYSTEM Les trois flags ($SND_ALIAS, $SND_FILENAME, et $SND_RESOURCE) d�termine si le nom est interpr�t� comme un alias pour un �v�nement syst�me, un nom de fichier, ou un identifiant de ressource. Si aucun de ces flags n'est sp�cifi�, _WinAPI_PlaySound() recherche dans le registre ou dans le fichier Win.ini une association avec le nom du son sp�cifi�. Si une association est trouv�e, l'�v�nement son est jou�. Si aucune association se trouve dans le registre, le nom est interpr�t� comme un nom de fichier. Si le flag $SND_ALIAS_ID est sp�cifi� dans $iFlags, le param�tre $sSound doit avoir l'une des valeurs $SND_ALIAS_*. (Voir MSDN pour plus d'informations) |
$hInstance | [optionnel] Handle du fichier ex�cutable qui contient la ressource � charger. Si $iFlags ne contient pas $SND_RESOURCE, ce param�tre sera ignor�. |
Succ�s: | Retourne True |
�chec: | Retourne False |
Consultez PlaySound dans la librairie MSDN.
#include <APIMiscConstants.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <WinAPIMisc.au3> Local Const $sWav = @ScriptDir & '\Extras\Airplane.wav' ; Copie Airplane.wav dans la m�moire Local $dWav = FileRead($sWav) If @error Then MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Erreur', 'Lecture impossible "'& $sWav & '"') Exit EndIf Local $tWav = DllStructCreate('byte['& BinaryLen($dWav) & ']') DllStructSetData($tWav, 1, $dWav) Local $pWav = DllStructGetPtr($tWav) ; Cr�e une GUI Local $hForm = GUICreate('Test '& StringReplace(@ScriptName, '.au3', '()'), 200, 200) Local $idButton = GUICtrlCreateButton('Play', 70, 70, 60, 60) GUISetState(@SW_SHOW) Local $bPlay = False, $iMsg = GUIGetMsg() While $iMsg <> $GUI_EVENT_CLOSE If $iMsg = $idButton Then $bPlay = Not $bPlay If $bPlay Then _WinAPI_PlaySound($pWav, BitOR($SND_ASYNC, $SND_LOOP, $SND_MEMORY)) GUICtrlSetData($idButton, 'Stop') Else _WinAPI_PlaySound('') GUICtrlSetData($idButton, 'Play') EndIf EndIf $iMsg = GUIGetMsg() WEnd