Pregunta

Estoy haciendo un programa que usa la biblioteca de discursos y me gustaría obtener todos los demás sonidos apagados o reducidos cuando la dama está hablando.

He estado buscando una manera 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 para mí. Como en esta imagen:

enter image description here

Entonces, básicamente, ¿qué se necesita para que mi aplicación se considere como una aplicación de comunicación (como Skype)?

¿Fue útil?

Solución

Creo que las aplicaciones de comunicación están implementando algo relacionado con el IAudioVolumeDuckNotification interfaz. El ejemplo de C ++ proporcionó también referencias WM_VOLUME_DUCK y WM_VOLUME_UNDUCK Mensajes de Windows que pueden ser suficientes (pero no parecen ser de Google o documentados).

ACTUALIZAR

los Proyecto de API de audio de .NET Core En CodePlex parece proporcionar un envoltorio .NET.

ACTUALIZAR

Una muestra de implementación de C ++ de IAudioVolumeDuckNotification así como un ejemplo de notificación al ducked El estado se puede encontrar en el MSDN DuckingMediaPlayer Aplicación de muestra. En realidad funciona (lo probé). Una combinación de pinvoke'ing un par de métodos y el envoltorio .NET para la interfaz debería ser suficiente para ponerlo en camino.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top