Deseo determinar si otro programa reproduce un sonido por encima de un cierto umbral. No estoy buscando verificar la configuración de volumen en la computadora ni nada de eso. Realmente solo necesito ver si alguna aplicación juega algo más alto de lo que esperaba. Alguien sabe si esto es posible o cómo hacerlo?Determine cuándo se reproduce un sonido fuerte en C#
Respuesta
Echa un vistazo al proyecto this en codeproject. Es un medidor de volumen con DirectX administrado y escrito completamente en C#.
This looks like a good place to start your investigation. No creo que encuentre lo que está buscando incorporado en .Net ya.
Hay muchas fuentes de sonido posibles en la máquina local y, finalmente, estas se comunicarán a través del sistema de sonido de Windows a una mezcladora y a través de la tarjeta de sonido. La única manera que conozco de monitorear todos los sonidos en un sistema Windows es escribir un Controlador de Filtro usando el Kit de Desarrollo de Controlador de Dispositivo. Esto interceptaría todas las solicitudes al sistema de sonido, recorrerá los datos que se envían para jugar y podría establecer indicadores/escribir en un registro cuando detecta grandes diferencias (donde abs (datos [x + 1] - datos [x]) es un gran valor).
El desarrollo del controlador se realiza generalmente en C. Hay un montón de código de muestra en la web si desea seguir esta ruta.
- 1. Recibir notificaciones cuando se reproduce un sonido en OpenAL
- 2. ¿Cómo se reproduce un sonido (alerta) en una aplicación java?
- 3. ¿Cómo se reproduce un sonido en flash AS3 cuando termina?
- 4. ¿Cómo se reproduce el sonido TICK predeterminado?
- 5. Determine cuándo se lanzará un ScheduledExecutorService siguiente
- 6. ¿Cómo se reproduce el sonido de la biblioteca en AS3?
- 7. ¿Cómo se reproduce el sonido tap de iPhone?
- 8. ¿Cómo se reproduce el sonido lo antes posible?
- 9. HTML5 Audio - El sonido sólo se reproduce una vez
- 10. ¿Cómo se reproduce un archivo de sonido en una aplicación Metro de Windows 8 con WinRT?
- 11. ¿Cómo se reproduce el sonido cuando se hace clic en el botón en Android?
- 12. ¿Cómo se reproduce el sonido del clic del teclado en un teclado personalizado?
- 13. Determine cuándo se ejecuta en una máquina virtual
- 14. ¿Reproduce el sonido predeterminado de notificaciones locales al mostrar UIAlertView?
- 15. Inicio lento para AVAudioPlayer la primera vez que se reproduce un sonido
- 16. iPhone: ¿Cómo se reproduce un sonido de notificación local alto independientemente de la configuración del volumen?
- 17. Componente flash Flowplayer reproduce sonido pero no video
- 18. ¿Reproduce un AudioBufferSourceNode dos veces?
- 19. Determine si se ha modificado un archivo abierto en C
- 20. Reproduce el archivo de sonido cuando se hace clic en la imagen
- 21. UILocalNotification reproduce el sonido de los documentos de la aplicación
- 22. ¿Cómo se reproduce el sonido en una llamada telefónica con Android?
- 23. ¿Cómo se reproduce el archivo 3gp en Java?
- 24. ¿Cuál de * y [] se unen más fuerte en C?
- 25. Sonido acordes en C#?
- 26. Cómo reproducir un sonido en C#, .NET
- 27. Reproducción de sonido a través de altavoces mientras se reproduce música a través de auriculares
- 28. ¿Cómo se reproduce un AudioClip largo?
- 29. WebView con video incrustado se reproduce en segundo plano
- 30. Determine cuándo y qué carácter se agrega o elimina en un cuadro de texto
Mi respuesta inmediata es que no existe una manera "lista para usar" de hacer eso con .Net. Probablemente necesite acceso de menor nivel al hardware de sonido. Incluso entonces, no creo que pueda obtener el volumen físico real reproducido porque esto se puede controlar externamente desde la computadora (usando la perilla volumne). :) – Anthony
Creo que un programa que hace eso tendría que cavar bastante profundo en la infraestructura del sistema, como, cerca del controlador de la tarjeta de sonido. Quizás DirectX te permite ir allí ... – flq