Bonjour,
J'arrive à obtenir le nombre de cartes audio avec le code suivant :
DllCall("winm.dll","uint","waveOutGetNumDevs")
Par contre je ne sais pas comment récupérer la liste des cartes audio comme on peut l'avoir dans
Panneau de configuration/Sons et périphériques audio/Voix/Unité par défaut
Sauriez-vous comment faire ?
Merci par avance.
Cordialement.
[..] Liste des cartes audio
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
PetitScarabe
- Niveau 1

- Messages : 3
- Enregistré le : mar. 15 juin 2010 15:15
- Status : Hors ligne
- jbnh
- Niveau 11

- Messages : 1932
- Enregistré le : ven. 02 mai 2008 14:54
- Localisation : Bruxelles
- Status : Hors ligne
Re: [...] Liste des cartes audio
Bonsoir et bienvenue sur le forum,
Je vous invite à lire ceci et plus particulièrement _ComputerGetSoundCards .
N'hésitez pas à revenir demander de l'aide si vous rencontrez un problème !
Je vous invite à lire ceci et plus particulièrement _ComputerGetSoundCards .
N'hésitez pas à revenir demander de l'aide si vous rencontrez un problème !
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !
Merci
Merci
-
PetitScarabe
- Niveau 1

- Messages : 3
- Enregistré le : mar. 15 juin 2010 15:15
- Status : Hors ligne
Re: [..] Liste des cartes audio
Bonjour,
Merci pour votre réponse.
J'ai testé et je n'obtiens pas les informations voulues.
Dans mon cas, j'ai deux cartes audio :
1-Samsung UC Audio
2-SigmaTel Audio
or la fonction _ComputerGetSoundCards me revoie les informations suivantes :
1-Périphérique audio USB
2-SigmaTel High Definition Audio CODEC
Je vais essayer de poster sur le forum US.
Encore merci pour votre aide.
Cordialement.
Merci pour votre réponse.
J'ai testé et je n'obtiens pas les informations voulues.
Dans mon cas, j'ai deux cartes audio :
1-Samsung UC Audio
2-SigmaTel Audio
or la fonction _ComputerGetSoundCards me revoie les informations suivantes :
1-Périphérique audio USB
2-SigmaTel High Definition Audio CODEC
Je vais essayer de poster sur le forum US.
Encore merci pour votre aide.
Cordialement.
-
PetitScarabe
- Niveau 1

- Messages : 3
- Enregistré le : mar. 15 juin 2010 15:15
- Status : Hors ligne
Re: [..] Liste des cartes audio
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 ?
Merci par avance.
Cordialement.
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
Cordialement.
