Informations sur les cartes de son

metalkev64 Messages postés 45 Date d'inscription mardi 6 septembre 2005 Statut Membre Dernière intervention 28 avril 2009 - 21 avril 2009 à 21:10
metalkev64 Messages postés 45 Date d'inscription mardi 6 septembre 2005 Statut Membre Dernière intervention 28 avril 2009 - 28 avril 2009 à 16:22
Bonjour,

Je voudrais savoir comment obtenir des informations au sujet de/des cartes de son présente sur un ordinateur.

j'utilise actuellement waveOutGetNumDevs et waveOutGetDevCaps de winmm.dll afin d'obtenir le nombre et le nom des cartes de son présente, mais il me marque une information cruciale donc j'ignore le nom et l'utilité. Ce que je sais, c'est que c'est indispensable pour ce que je veux faire.

Alors, voilà. Lorsque les gens post les configs de leur ordinateur, au niveau de la carte de son on voit quelques choses qui ressemble à ceci:

wave-out.0 FFFF FFFF Logitech USB Headset

Ce que je recherche c'est la signification du FFFF FFFF (qui varie selon le type de carte) et surtout comment obtenir ces valeurs dans mon programme vb6 ?

Merci d'avance.

3 réponses

radcur Messages postés 282 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 15 août 2012 2
22 avril 2009 à 04:54
salut

tu peux jeter un coup d'oeil du côté des WMI.  Ca permet d'avoir des infos assez complètes à propos des périphériques.
0
metalkev64 Messages postés 45 Date d'inscription mardi 6 septembre 2005 Statut Membre Dernière intervention 28 avril 2009
28 avril 2009 à 16:01
0
metalkev64 Messages postés 45 Date d'inscription mardi 6 septembre 2005 Statut Membre Dernière intervention 28 avril 2009
28 avril 2009 à 16:22
J'ai finalement trouvé comment avoir ces valeurs, il s'agissait en
fait des valeurs wMid et wPid que l'on obtient avec waveOutGetDevCap,
il fallait seulement les convertir en hexadécimal. Toutefois, j'ai un
autre problème étrange et ce n'est pas où est passé le texte de mon
précédent post. Les informations obtenues par waveOutGetDevCap ne sont
pas toujours les bonnes, j'utilise des casques USB avec carte audio
intégrer donc, ils peuvent être débranchés et rebranchés
en tous temps et le nom alors obtenu ne correspond plus avec celui
donné par windows le tous confirmer par d'autre logiciel telle VLC,
Evrest et la version C++ de mon code.


Exemple : J'ai trois cartes audio :


Logitech USB Headset (2) ($ffff,$ffff)


SigmaTel Audio ($1,$64)


Logitech USB Headset ($ffff,$ffff)


je débranche un casque USBet j'ai selon windows et les autres:


SigmaTel Audio ($1,$64)


Logitech USB Headset ($ffff,$ffff)


mais vb me dit:


Logitech USB Headset (2) ($ffff,$ffff)


SigmaTel Audio ($1,$64)


Je rebranche le casque et j'ai selon windows et les autres:


Logitech USB Headset (2) ($ffff,$ffff)


SigmaTel Audio ($1,$64)


Logitech USB Headset ($ffff,$ffff)


mais selon vb j'ai:


Logitech USB Headset (2) ($ffff,$ffff)


SigmaTel Audio ($1,$64)


Logitech USB Headset (3) ($ffff,$ffff)


comment expliquer cette différence et comment faire pour avoir les bonnes valeurs.


voici mon code vb:



Private Sub EcrireListeSortieAudio()
    Dim CntDev As Long
    Dim temp As WAVEOUTCAPS
    Dim i As Integer

    cboSortieAudio.Clear
    CntDev = waveOutGetNumDevs
    ReDim NameList(0) As String
    If CntDev = 0 Then
        Exit Sub
    Else
        ReDim NameList(CntDev) As String
        For i = 0 To CntDev - 1
            temp.szPname = ""
            If waveOutGetDevCaps(i + 0, temp, Len(temp)) = 0 Then
            'récupère le nom du périphérique
                NameList(i) = Left$(temp.szPname, InStr(1, temp.szPname, Chr$(0), vbBinaryCompare) - 1) & " ($" & Hex(temp.wMid) & ",$" & Hex(temp.wPid) & ")"
                cboSortieAudio.AddItem NameList(i)
            End If
        Next
    End If
End Sub

Merci d'avance.
 
0
Rejoignez-nous