' Lista namnen och numren på kanalerna för varje installerad enhet
' Notera att vi bara kontrollerar de giltiga ID numren
Dim outinfo As WAVEOUTCAPS ' tar emot information om varje enhet
Dim numdevs As Long ' antalet installerade enheter
Dim thisdev As Long ' räknare för vilken enhet vi kollar
Dim outname As String ' buffer för enhetens namn
Dim retval As Long ' returnerings värde
' Ta reda på antalet enheter
numdevs = waveOutGetNumDevs()
' Loopa igenom enheterna en och en och skriv ut den önskade informationen
' Kom ihåg att den första enheten har ID 0
For thisdev = 0 To numdevs - 1
' Ta reda på möjligheterna för enheten
retval = waveOutGetDevCaps(thisdev, outinfo, Len(outinfo))
If retval = 0 Then ' fortsätt endast om den ovanstående funktionen lyckas
Debug.Print "Device #"; thisdev
' Extrahera enhetens namn från strängen
outname = Left(outinfo.szPname, InStr(outinfo.szPname, vbNullChar) - 1)
Debug.Print " "; outname;
' Skriv ut antalet kanaler, mono eller stereo
If outinfo.nChannels = 1 Then
Debug.Print " (mono)"
Else
Debug.Print " (stereo)"
End If
End If
Next thisdev