Comment faire en sorte que ma demande soit considérée comme un programme de communication dans Windows
-
29-10-2019 - |
Question
Je fais un programme qui utilise la bibliothèque vocale et j'aimerais que tous les autres sons soient coupés ou réduits lorsque la dame parle.
J'ai cherché un moyen de fouiller les autres applications manuellement, mais j'ai vu une option dans Windows dans l'onglet Communication (à l'intérieur des options sonores) qui mentionne que la fenêtre peut gérer cela pour moi. Comme sur cette image:
Donc, en gros, que faut-il pour que mon application soit considérée comme une application de communication (comme Skype)?
La solution
Je crois que les applications de communication implémentent quelque chose lié à IAudioVolumeDuckNotification
interface. L'exemple C ++ fourni également des références WM_VOLUME_DUCK
et WM_VOLUME_UNDUCK
Messages Windows qui peuvent être suffisants (mais ne semblent pas être Google ou Google ou documentés).
METTRE À JOUR
La Projet API audio .NET. sur CodePlex semble fournir un wrapper .NET.
METTRE À JOUR
Un exemple de mise en œuvre C ++ de IAudioVolumeDuckNotification
ainsi qu'un exemple de notification du ducked
L'état peut être trouvé dans le MSDN DuckingMediaPlayer
Exemple d'application. Cela fonctionne réellement (je l'ai essayé). Une combinaison de Pinvoke'ing quelques méthodes et l'emballage .NET pour l'interface devrait être suffisant pour vous mettre sur votre chemin.