L'interface MCI ne spécifie pas de valeur maximale pour le volume.
La fonction API mciSendCommand
attend un facteur pour les paramètres donnés. Dans les facteurs termes MCI sont mis à l'échelle avec 1000:
500 = 0.5 // 50%, half the normal value
1000 = 1.0 // 100%, normal value
2000 = 2.0 // 200%, double the normal value
(Qu'est-ce que ce facteur signifie en fait dépend de la fonction API spécifique)
Dans votre cas 1000 signifie un volume de 100%, toutes les valeurs plus petites donnent l'atténuation. Bien sûr, le pilote audio réel derrière l'interface MCI peut également accepter des amplifications, c'est-à-dire des valeurs> 1000.
L'utilisation d'une valeur maximale de 1000 semble être un choix sûr.
Si vous êtes sur le point de créer une application multimédia, vous devriez envisager sérieusement une interface ou une bibliothèque plus récente. (Personnellement, j'ai eu de bonnes expériences avec FMOD et Delphi)
Vous devriez ajouter votre version de Windows ... (Je pense que cela devrait fonctionner avec XP) – Whiler
Et ur windows ??? il y a 3 niveaux de volume (ou même quatre): x1 comme internes du joueur (saturation sonore), x2 comme volume de votre programme (Vista +) et x3 comme volume global de la chaîne WaveOut (ou comment les pilotes de votre carte son l'appellent) volume principal de l'ordinateur. Pour maximiser leur produit, vous devez maximiser chacun des coeffs (bien qu'il ait été signalé qu'il peut endommager le matériel sur certains ordinateurs portables). Aussi VfW/MCI est ** API ** ancienne - 1993! Envisagez d'utiliser un autre lecteur de musique comme la bibliothèque BASS ou DSPack –
Btw MSDN indique que MCI_DGV_STATUS_VOLUME renvoie la moyenne du volume aux haut-parleurs gauche et droit (http://msdn.microsoft.com/en-us/library/windows/desktop/dd798405 % 28v = vs.85% 29.aspx) –