Comment émuler / remplacer / réactiver les commandes (ou commandes) classiques du mixeur de son dans Windows Vista?

StackOverflow https://stackoverflow.com/questions/71198

Question

J'ai un problème (et le rencontre depuis un certain temps déjà): la nouvelle pile de mixage sonore de Vista offre de nouvelles fonctionnalités intéressantes, mais elle réinvente également la molette. De nombreuses applications qui utilisaient autrefois le mixeur de volume sur un système Windows pour mélanger différentes sorties vocales en une entrée (par exemple, Wave-out + Line-in - > Mixage stéréo) ont depuis cessé de fonctionner. Le plug-in DSP Shoutcast est un bon exemple de ce comportement (il pourrait être utile pour tester des solutions).

Comment puis-je réactiver les commandes de XP-mixer, ou peut-être émuler ce comportement, afin que le programme (SC DSP) puisse gérer correctement le volume de lecture Microphone / Entrée de ligne avec le volume de lecture Wave-out?

Je penserais à émuler un programme branché sur le mélangeur Vista pour la sortie d’onde et la sortie (ou le volume du haut-parleur du micro - tout en lecture, affiché sous forme de "programmes" réglables séparés de sorte que le mélangeur Vista puisse reportez-vous dessus) et "connectez-le" au système sous une certaine émulation se présentant comme l’ancienne interface de contrôle du mélangeur de volume pour le programme, mais je n’ai franchement aucune idée de la façon de le faire.

Pour préciser: ce n'est pas mon PC (c'est un ordinateur portable HP Pavilion). Le problème semble exister principalement du fait que le mélangeur Vista contrôle des programmes distincts et non des entrées / sorties séparées. Le matériel est tout à fait capable de faire ce qui est nécessaire sous Windows XP. Je suis bien conscient du fait qu'il s'agit d'un problème de pilote, mais le pilote est simplement préparé à ce que Vista présente au programmeur via des interfaces. Le dispositif de mixage - comme indiqué dans le système d’exploitation, mais il se peut que cela ressemble au logiciel - est basé sur les API de mixage pour le contrôle Windows Audio.

Effectuez une recherche à l'aide de Google sur Vista et du contrôle du volume de lecture avec entrée de ligne pour obtenir plus d'informations sur le problème (et sur le nombre d'utilisateurs affectés par celui-ci). Bien sûr, une réécriture du plug-in DSP Shoutcast Source pour WinAMP ferait l'affaire, mais cela ne se produira probablement pas ...

Était-ce utile?

La solution

Il est possible de contrôler les niveaux de volume des cartes son indivudual dans le mélangeur Windows Vista à l'aide de l'audio API EndPoint

Cela devrait vous permettre de régler le volume principal et le volume des entrées audio connectées . Une remarque à ce sujet est que lorsque vous énumérez les points finaux, si aucun microphone n'est branché sur votre carte son, rien ne sera énuméré. Cela signifie que vous devrez modifier votre application pour répondre à " microphone branché " événements et en informer l'utilisateur de manière appropriée.

Une autre option consiste à plonger sous Microsoft Core Audio et à accéder au WaveRT pilote directement. C’est beaucoup plus de travail que d’utiliser les API WASAPI / Endpoint, mais vous aurez le plus de contrôle sur l’accès aux entrées / sorties de la carte son.

Autres conseils

Le pilote audio détermine les commandes de mixage disponibles. Cela dépend en grande partie des capacités du matériel.

Si le pilote Vista ne dispose pas de certains contrôles, il s'agit probablement d'un inconvénient de ce pilote et non de Vista.

(Merci de nous indiquer le type de carte son / périphérique que vous utilisez.)

Il serait possible d'écrire un programme pour créer vos propres contrôles de mixage (il s'agirait d'un pilote uniquement logiciel pour une carte son virtuelle), mais ce programme ne pourrait pas affecter le routage audio à l'intérieur du périphérique si le pilote actuel n’a pas de contrôle du mélangeur pour cela.

Si vous marquez votre application comme étant compatible avec Windows XP, tous les anciens contrôles et comportements reviendront.

  

Si vous marquez votre application comme étant compatible avec Windows XP, tous les anciens contrôles et comportements reviendront.

Cela est vrai, mais à partir du correctif KB957388 de Vista SP1, inclus dans SP2, et avec certains pilotes de carte son, les anciennes fonctions de l'API du mélangeur (winmm.dll) peuvent se bloquer lorsque l'application est en mode de compatibilité XP. En particulier, mixerGetNumDevs et moins souvent mixerOpen ne reviendront pas sur certains ordinateurs.

J'ai reçu des rapports de 5 utilisateurs de Vista sur environ 200 utilisateurs de Vista au total, où mon application se bloque lors du démarrage, et je l'ai retrouvée en attente de ces fonctions.

J'aimerais signaler ce problème à Microsoft, mais je ne trouve nulle part où le faire.

Tout ce que je peux faire maintenant, c'est publier mon logiciel sans activer le mode de compatibilité, mais cette application perd toute fonctionnalité et le logiciel ne peut pas contrôler les mélangeurs d'entrée de ligne ou de microphone.

Je n'ai pas le temps de travailler directement avec les fonctions d'API de bas niveau. Je compte sur des composants de haut niveau et je ne parviens pas à en trouver pour les nouvelles API audio de mon système de développement (Delphi).

Je serais intéressé à payer quelqu'un pour écrire une DLL pour moi !!! e-mail ross att stationplaylist dott com

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top