2012-12-05 2 views
1

J'essaie et ECRIRE le MediaPlayer son volume par http://delphi.about.com/od/adptips2006/qt/mediaplayer_vol.htmcomment obtenir le niveau de volume maximum dans Delphi?

mais 1000 n'est pas plein volume sonore. comment obtenir le niveau de volume maximum?

+0

Vous devriez ajouter votre version de Windows ... (Je pense que cela devrait fonctionner avec XP) – Whiler

+0

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 –

+0

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) –

Répondre

4

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)

Questions connexes