Bonjour,
Finalement, comme je n'arrive pas à obtenir les informations que je voudrais pour faire quelque chose de paramétrable et dynamique, je vais faire simple et mettre les valeurs en "dur"
Par contre je rencontre un autre problème.
Je souhaite, lorsque je change de carte audio, émettre un son afin de m'assurer que le changement a bien été effectué.
Mais le son est joué sur l'ancienne carte audio active.
Pouvez-vous m'aider à trouver l'erreur ?
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
Opt('MustDeclareVars', 1)
Global $SoundCard1, $SoundCard2, $CurrentSoundCard, $SecondSoundCard, $msg, $Apply, $Cancel, $NumberOfSoundCard, $RadioChecked, $Item1, $Item2
; Get the number of Soundcard
$NumberOfSoundCard=DllCall("winmm.dll","uint","waveOutGetNumDevs")
; Get the current Soundcard
$CurrentSoundCard = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Multimedia\Sound Mapper","Playback")
; Create the GUI
GUICreate("Soundcard Changer", 210, 90)
$SoundCard1 = "SigmaTel Audio"
$Item1 = GUICtrlCreateRadio($SoundCard1,30,10,150)
$SoundCard2 = "Samsung UC Audio"
$Item2 = GUICtrlCreateRadio($SoundCard2,30,30,150)
if $CurrentSoundCard = $SoundCard1 Then
GUICtrlSetState($Item1, $GUI_CHECKED)
Else
GUICtrlSetState($Item2, $GUI_CHECKED)
EndIf
$RadioChecked = $CurrentSoundCard
$Apply = GUICtrlCreateButton("Apply", 10, 60, 50, 20)
$Cancel = GUICtrlCreateButton("Cancel", 150, 60, 50, 20)
GUISetState(@SW_SHOW) ; display the GUI
Do
$msg = GUIGetMsg()
Select
Case $msg = $Item1 And BitAND(GUICtrlRead($Item1), $GUI_CHECKED) = $GUI_CHECKED
$RadioChecked = $SoundCard1
Case $msg = $Item2 And BitAND(GUICtrlRead($Item2), $GUI_CHECKED) = $GUI_CHECKED
$RadioChecked = $SoundCard2
Case $msg = $Apply
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Multimedia\Sound Mapper","Playback","REG_SZ",$RadioChecked)
SoundPlay("")
SoundPlay(@WindowsDir & "\media\tada.wav",1)
Case $msg = $Cancel
Case $msg = $GUI_EVENT_CLOSE
EndSelect
Until $msg = $GUI_EVENT_CLOSE Or $msg = $Cancel or $msg = $Apply
Merci par avance.
Cordialement.