c# - socket - Cómo hacer que mi aplicación sea considerada como un programa de comunicación en Windows.
comunicar dos aplicaciones c# (1)
Estoy creando un programa que utiliza la biblioteca de Speech y me gustaría silenciar o reducir todos los demás sonidos cuando la señora está hablando.
He estado buscando una forma de silenciar otras aplicaciones manualmente, pero he visto una opción en Windows en la pestaña de comunicación (dentro de las opciones de sonido) que menciona que la ventana puede administrar esto por mí. Como en esta imagen:
Básicamente, ¿qué se necesita para que mi aplicación sea considerada como una aplicación de comunicación (como Skype)?
Creo que las aplicaciones de comunicación están implementando algo relacionado con la interfaz IAudioVolumeDuckNotification
. El ejemplo de C ++ proporcionado también hace referencia a los mensajes de las ventanas WM_VOLUME_DUCK
y WM_VOLUME_UNDUCK
que pueden ser suficientes (pero no parecen estar documentados o con capacidad de búsqueda en Google).
ACTUALIZAR
El proyecto .NET Core Audio API en CodePlex parece proporcionar un contenedor .NET.
ACTUALIZAR
En la aplicación de muestra MSDN DuckingMediaPlayer
se puede encontrar una implementación de C ++ de IAudioVolumeDuckNotification
, así como un ejemplo de notificación del estado ducked
. Realmente funciona (lo probé). Una combinación de métodos PInvoke''ing y la envoltura de .NET para la interfaz debería ser suficiente para ponerlo en marcha.