Si 2 carte son, comment faire référence a l'une ou l'autre.

Tarhla - 10 avril 2001 à 15:56
malo777 Messages postés 88 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 13 juin 2013 - 16 janv. 2013 à 23:21
Pour un système a 2 carte son, quand je fais jouer une liste, elle est jouer par la carte son définit par défaut sur le système.
1) Comment l'obliger a jouer la liste sur une carte bien définit. Carte 1 ou carte 2.
2) Ou comment définire par défaut une carte son en VB.
Je sais que je doit me servire de Winmm Mais Comment ?
A+

5 réponses

cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
7 août 2007 à 10:40
Utilises les fonctions WaveOut de l'api win32 conjointement avec le n° de la carte ou DeviceID

@+
0
malo777 Messages postés 88 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 13 juin 2013 1
16 janv. 2013 à 18:25
Bonjour

est-ce que quelqu'un à une solution pour ça?
Je cherche désespérément mais rien. Je ne connais pas WaveOut et elle n'est pas bien renseignée su le net (ou alors je cherche très mal)

Merci de votre aide


Malo
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 janv. 2013 à 19:17
Bonjour,
A lire et analyser tout (y compris les exemples) ce qui commence par WaveOut ici ====>> ç :
Tapez le texte de l'url ici.
Attention : les exemples sont pour VB6. Sous VB.Net ) pas de longs mais des Integers.
Bonne étude.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
malo777 Messages postés 88 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 13 juin 2013 1
16 janv. 2013 à 22:50
Merci ucfoutu,
je vais lire ça.
Je viens de trouver comment remplir un combobox avec le nom des périphériques son d'entrée et de sortie.
mais je voudrais l'appliquer à l'ocx mediaplayer maintenant...

Merci de ton aide


Malo
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malo777 Messages postés 88 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 13 juin 2013 1
16 janv. 2013 à 23:21
Dans un module

Type 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




dans le form_load :

    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)




mais comment l'appliquer à un contrôle ocx MediaPlayer?
Malo
0
Rejoignez-nous