metalkev64
Messages postés45Date d'inscriptionmardi 6 septembre 2005StatutMembreDernière intervention28 avril 2009
-
21 avril 2009 à 21:10
metalkev64
Messages postés45Date d'inscriptionmardi 6 septembre 2005StatutMembreDernière intervention28 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 ?
metalkev64
Messages postés45Date d'inscriptionmardi 6 septembre 2005StatutMembreDernière intervention28 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