Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionType WAVEOUTCAPS wMid As Integer wPid As Integer vDriverVersion As Long szPname As String * 32 dwFormats As Long wChannels As Integer End Type Public VU_Device As Long 'ID carte son Private VU_hWave As Long 'handle carte son Declare Function waveOutGetNumDevs Lib "winmm" () As Long Declare Function waveOutGetDevCaps _ Lib "winmm.dll" _ Alias "waveOutGetDevCapsA" (ByVal uDeviceID As Long, _ lpCaps As WAVEOUTCAPS, _ ByVal uSize As Long) As Long Declare Function waveOutOpen _ Lib "winmm.dll" (lphWaveOut As Long, _ ByVal uDeviceID As Long, _ lpFormat As WAVEFORMAT, _ ByVal dwCallback As Long, _ ByVal dwInstance As Long, _ ByVal dwFlags As Long) As Long Function GetOutDev(NameList() As String) As Long 'recupère le nom des périph' de lecture audio 'GetInDev renvoie la longueur de la liste 'La liste NameList() contiendra le nom du(des) périph' Dim BufLng As Long Dim exeAPI As Long Dim CntDev As Long Dim Temp As WAVEOUTCAPS Dim i As Long 'compte les périh disponibles CntDev = waveOutGetNumDevs If CntDev = 0 Then GetOutDev = 0 Exit Function Else 'listage des périh ReDim NameList(CntDev) As String BufLng = 46 For i = 1 To CntDev Temp.szPname = "" exeAPI = waveOutGetDevCaps(i - 1, Temp, BufLng) 'recupère le nom du périph NameList(i) = Left$(Temp.szPname, InStr(1, Temp.szPname, Chr$(0), vbBinaryCompare) - 1) Next i GetOutDev = CntDev End If End Function
Dim CsonOUT() As String Dim i As Long 'préparation interface carte son ComboAudioOUT.Clear For i = 1 To GetOutDev(CsonOUT()) ComboAudioOUT.AddItem CsonOUT(i) Next i ComboAudioOUT.Text = CsonOUT(1)