Ouvre un fichier audio pour une utilisation avec d'autres fonctions _Sound
#include <Sound.au3>
_SoundOpen ( $sFilePath )
$sFilePath | Nom complet du fichier son |
Succès: | Retourne un tableau de 4 éléments contenant les informations suivantes: $aArray[0] = Chaîne d'identification du fichier son $aArray[1] = Facteur de correction de la longueur VBR $aArray[2] = Facteur de correction de la synchronisation VBR $aArray[3] = Marqueur Sound ID |
Échec: | Retourne 0 et définit @error <> 0. |
@error: | 1 - Erreur d'ouverture MCI 2 - Le fichier n'existe pas |
@extended: | Entier autre que 0 = Erreur MCI |
Bien que beaucoup de fonctions _Sound...() accepteront le nom de fichier comme paramètre, s'il est possible que le fichier soit encodé VBR (débit binaire variable), il est fortement recommandé d'utiliser _SoundOpen() préalablement et d'utiliser ensuite le tableau retourné comme paramètre d'identité dans les autres fonctions _Sound...(). En effet, la DLL MCI suppose que tous les fichiers sont encodés CBR (débit constant de bit) et produit des résultats incorrects pour ces fonctions _Sound...() avec la longueur et la position quand le fichier son a été encodé VBR (débit binaire variable). Si vous utilisez le tableau en tant que paramètre ID avec les fonctions _Sound...() qui modifient les facteurs de correction VBR (_SOUNDSTOP()) le tableau ID sera mise à jour en cas de besoin.
Les éléments individuels du tableau retourné n'ont aucune utilité en dehors des fonctions _Sound et leur usage interne est transparent pour l'utilisateur.
_SoundClose, _SoundLength, _SoundPause, _SoundPlay, _SoundPos, _SoundResume, _SoundStatus, _SoundStop
#include <MsgBoxConstants.au3> #include <Sound.au3> Local $aSound = _SoundOpen(@WindowsDir & "\media\tada.wav") If @error = 2 Then MsgBox($MB_SYSTEMMODAL, "Error", "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, "Error", "L'ouverture a échouée." & @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, "Succès", "Le fichier a été ouvert avec succès") EndIf _SoundClose($aSound)