Hello!
C'est faisable, mais pour cela je te conseille de les lancer dans deux processus différents (sinon, apparemment, tu "écrases" l'ancien son). Je te prépare un petit exemple.
A plus tard, je te file ça d'ici qq minutes.
EDIT : Voici l'exemple de script promis :
► Afficher le texteFichier de lancement "script.au3"
Code : Tout sélectionner
#include <String.au3>
Func playSound($chemin)
Run('"'&@AutoItExe&'" "'&@ScriptDir&'\son.au3" '&_StringToHex($chemin), @ScriptDir)
EndFunc
playSound(@WindowsDir & "\media\Windows XP Startup.wav")
playSound(@WindowsDir & "\media\Windows XP Shutdown.wav")
► Afficher le texteFichier de lecture "son.au3"
Code : Tout sélectionner
#include <String.au3>
If $cmdLine[0] <> 1 Then Exit
SoundPlay(_HexToString($cmdLine[1]), 1)
Bonne chance pour la suite, dis moi quand même si ça marche (testé que sous XP Pro 32)
EDIT@Iste: Hello; pourquoi pas cette fonction?
- Déjà parce que ce n'est pas la bonne syntaxe, [
Run(@AutoItExe & ' /AutoIt3ExecuteLine "SoundPlay(' & "'" & $file & "'" & ')"') ]
- De plus l'utilisation d'une fonction que j'assimile à de l'exécution de code parallèle avec passage de parametre me sort par les trous de nez et est parfois mal perçu par AVG Anti virus ^^
- Ensuite j'ai des soucis à faire fonctionner AutoIt3ExecuteLine sur d'autres versions de Windows parfois (mon Seven ou Seven tout court est assez capricieux, lié à ma remarque précédente)
- Avant de terminer, ce genre d'algo ne fonctionnera que si AutoIt est installé, même si on utilise un script compilé (qui, c'est un comble, est souvent fourni en compilé pour éviter d'installer l'interpréteur ^^)
- Et enfin parce que dans cet exemple, c'est cool de faire ça en une seule ligne, mais ce n'est pas toujours le cas, et si ça se trouve il y aura d'autres bouts de codes qui se grefferont dans le processus/script fils (autant prendre les devants, je suis partisan du "mieux vaut prévenir que guérir" ^^).