Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Flags faux

4 réponses
Avatar
Gloops
Bonjour tout le monde,

Je sèche ...

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

4 réponses

Avatar
Jacques93
Bonjour Gloops,
Gloops a écrit :
Bonjour tout le monde,

Je sèche ...




[...]

Signalé par Nicolas G, le 9 juin dernier :

http://www.mentalis.org/vbexamples/vbexample.php?vbexample=VOLUME&category=SOURCE

ça pourra peut être te mettre sur la piste

--
Cordialement,

Jacques.
Avatar
Gloops
Ah, bonne pioche !
A défaut de répondre à la question, ça solutionne le problème.

Il reste à corriger une erreur de gestion des bornes, mais avec la
source c'est vite fait.

Merci
________________________________________
Jacques93 a écrit, le 23/10/2005 22:42 :
Bonjour Gloops,
Gloops a écrit :

Bonjour tout le monde,

Je sèche ...




[...]

Signalé par Nicolas G, le 9 juin dernier :

http://www.mentalis.org/vbexamples/vbexample.php?vbexample=VOLUME&category=SOURCE


ça pourra peut être te mettre sur la piste



Avatar
Gloops
Jacques93 a écrit, le 23/10/2005 22:42 :

Signalé par Nicolas G, le 9 juin dernier :

http://www.mentalis.org/vbexamples/vbexample.php?vbexample=VOLUME&category=SOURCE



ç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.
Avatar
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.