malo777
Messages postés88Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention13 juin 2013
-
17 janv. 2013 à 00:35
malo777
Messages postés88Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention13 juin 2013
-
20 janv. 2013 à 12:40
Bonsoir
J'ai réussi à lister les cartes son installées sur l'ordi dans un combobox et maintenant j'aimerais que l'utilisateur puissent choisir la carte son qui va servir à lire un fichier wav ou mp3 via l'ocx mediaplayer (msdxm.ocx)
J'ai bien essayé de mettre ça dans ComboAudioOUT_click :
Mais rien ne marche
Quelqu'un aurait la solution, je m'arrache les cheveux depuis quelques jours...
Merci de votre aide.
Malo
voici le contenu du module WaveOut
Type WAVEOUTCAPS
wMid As Integer
wPid As Integer
vDriverVersion As Long
szPname As String * 32
dwFormats As Long
wChannels As Integer
End Type
Public hWaveOut As Long
Public OUT_BUFFER_SIZE As Long
Public OUT_DEVICE_ID As Long
Public outErrorMsg As String * 200
Public outRes As Long
Public outFormat As WAVEFORMAT
Public outPlaying As Boolean
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
malo777
Messages postés88Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention13 juin 20131 20 janv. 2013 à 00:16
Merci pour ta réponse ucfoutu.
Merci aussi banana32, même si les quelques dernières phrases me semble de trop.
Que fais tu sur ce forum si tu pense perdre du temps avec vb6?!
Bref, je vais regarder ce projet basé sur BASS.dll, je l'avait déjà regardé, mais peut-être pas assez.
Sinon tant pis, mon logiciel sera amputé d'une fonction.
malo777
Messages postés88Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention13 juin 20131 20 janv. 2013 à 12:40
Il s'agit d'un logiciel de balise radio pour radio amateur.
le but est de transmettre un message à intervalle régulier.
Certain radio amateur ont un pc dédié à la radio, dans ce cas, pas besoin de choisir la carte son, mais pour les autres il aurait été préférable de pouvoir choisir, pour pouvoir transmettre sur une carte pendant que l'autre fait son travail normal (sons windows, musiques, vidéos...)