Je lance la fonction suivante pour connaître le volume du haut-parleur,
et selon les flags je me retrouve avec une erreur 2, soit
Public Const MMSYSERR_BASE = 0
Public Const MMSYSERR_BADDEVICEID = (MMSYSERR_BASE + 2)
' device ID out of range
alors que hmixer est tout-à-fait accepté pour fixer le volume du
haut-parleur (hmixer est ouvert avant l'appel par la même instruction
que celle que j'ai mise en commentaire),
ou encore avec une erreur 10 ou 11
Public Const MMSYSERR_INVALFLAG = (MMSYSERR_BASE + 10)
' invalid flag passed
Public Const MMSYSERR_INVALPARAM = (MMSYSERR_BASE + 11)
' invalid parameter passed
Peut-être faut-il essayer encore d'autres flags ?
J'espère au moins que je ne me suis pas mélangé les pinceaux pour
adapter la syntaxe depuis SetVolumeControl.
N.B. La fiche Microsoft 178456 mentionne bien une fonction
GetVolumeControl, mais booléenne, elle sert à initialiser les contrôles.
En revanche la fonction SetVolumeControl règle bien le volume du
haut-parleur et celui du micro aux valeurs saisies, super pour
harmoniser des tâches qui lancent des sons à des volumes différents.
' * * *
Public Function GetCurrentVolume(hmixer) As Double
'Dim hmixer As Long
Dim rc As Long
Dim vol As Long
Dim mxcd As MIXERCONTROLDETAILS
Dim Volume As Double
'rc = mixerOpen(hmixer, 0, 0, 0, 0)
mxcd.cbStruct = Len(mxcd)
mxcd.dwControlID = hmixer
mxcd.cChannels = 1
mxcd.item = 0
mxcd.cbDetails = Len(Volume)
hmem = GlobalAlloc(&H40, Len(vol))
mxcd.paDetails = GlobalLock(hmem)
rc = mixerGetControlDetails(hmixer, _
mxcd, _
MIXER_GETCONTROLDETAILSF_VALUE Or MIXER_OBJECTF_WAVEOUT)
If rc <> MMSYSERR_NOERROR Then
MsgBox "Erreur n° " + Str$(rc), vbOK, AppCaption
End If
GetCurrentVolume = Volume
End Function
http://support.microsoft.com/?id=178456
Windows XP Home SP1
VB6 SP6
ça y est, j'ai retouché la sauce, à présent ce programme peut rectifier le volume pour exécuter une tâche planifiée, puis restaurer les réglages précédents.
ça y est, j'ai retouché la sauce, à présent ce programme peut rectifier
le volume pour exécuter une tâche planifiée, puis restaurer les réglages
précédents.
ça y est, j'ai retouché la sauce, à présent ce programme peut rectifier le volume pour exécuter une tâche planifiée, puis restaurer les réglages précédents.
Gloops
Gloops a écrit, le 24/10/2005 13:43 :
ça y est, j'ai retouché la sauce, à présent ce programme peut rectifier le volume pour exécuter une tâche planifiée, puis restaurer les réglages précédents.
Enfin je parle de ma copie, hein. Je me demande si ça ne va pas intéresser quelqu'un, d'ailleurs.
Gloops a écrit, le 24/10/2005 13:43 :
ça y est, j'ai retouché la sauce, à présent ce programme peut rectifier
le volume pour exécuter une tâche planifiée, puis restaurer les réglages
précédents.
Enfin je parle de ma copie, hein.
Je me demande si ça ne va pas intéresser quelqu'un, d'ailleurs.
ça y est, j'ai retouché la sauce, à présent ce programme peut rectifier le volume pour exécuter une tâche planifiée, puis restaurer les réglages précédents.
Enfin je parle de ma copie, hein. Je me demande si ça ne va pas intéresser quelqu'un, d'ailleurs.