¿Hay alguna forma de capturar el audio generado por una sola aplicación y no por el sistema en su conjunto? Con WASAPI puedo capturar the entire system audio, pero solo deseo capturar el audio de una aplicación (habrá muchas aplicaciones, todas reproduciendo audio a la vez.)Capturar audio de una sola aplicación en Windows 7
Respuesta
Detours se utiliza para enganchar. Usando lib para enganchar la interfaz IAudioRenderClient, incluyendo GetBuffer y ReleaseBuffer, y leer datos del búfer.
Dependiendo de las API usadas por la aplicación para reproducir el audio, podría escribir una DLL de AppInit que envolverá las funciones incorporadas de waveIn \ waveOut y pasaría los datos de audio. Sé que esto funciona con las funciones waveIn \ waveOut, pero no estoy seguro de qué otras interfaces de reproducción de audio hay en Windows 7 y si son compatibles con el truco de AppInit.
No use AppInit, simplemente inicie el proceso suspendido e inyecte su DLL - en cualquier caso es chistoso, pero al menos no afectará a todas las aplicaciones en la máquina. –
Cierto, pero comenzar suspendido/inyectar es difícil de hacer con un clic de icono: la opción AppInit funciona razonablemente bien. Si quisieras ser muy cuidadoso podrías hacer un secuestro de imagen para el ejecutable que sería compatible con el truco suspender/inyectar: simplemente no tienes ninguna experiencia con eso. – Femi
Por favor, no use AppInit para nada, casi se garantiza que bloqueará otras aplicaciones y hará que las vidas de sus clientes sean menos impresionantes. Puede suspender procesos utilizando las API del depurador, inyecte su DLL, luego presione ir. –
- 1. Capturar excepciones de aplicaciones en una aplicación de Windows Forms
- 2. Reproduzca un archivo de audio en Windows 7 Phone
- 3. C# - Capturar mensajes de Windows desde una aplicación específica
- 4. Capturar una secuencia de audio de micrófono con .NET Framework
- 5. puertos serie USB desde una aplicación .NET en Windows 7
- 6. ¿Cómo evitar que una aplicación se fije en Windows 7?
- 7. Archivo de audio sin procesar a AAC con Windows Media Foundation en Windows 7
- 8. Grabación de audio desde el micrófono en Windows Phone 7 Series
- 9. Administrar volumen de aplicaciones en Windows 7
- 10. ¿Hay una aplicación de referencia de Windows Phone 7?
- 11. Reproducción de audio de Windows (XP a Windows 7) con python?
- 12. Windows Phone 7 de navegación a Internet desde una aplicación
- 13. Capturar firmas en una aplicación de iOS
- 14. Windows Forms: capturar MouseWheel
- 15. comando de una sola línea para ejecutarse como un usuario diferente en Windows 7 que contiene una contraseña también
- 16. Asegurar una sola instancia de aplicación
- 17. Windows Phone 7 Estilos en la aplicación de escritorio
- 18. ¿Cuándo/cómo se agrega una aplicación a la ventana del mezclador de volumen de Windows 7?
- 19. App.config en Windows Phone 7?
- 20. Cards.dll en Windows 7
- 21. Error de autenticación de Windows en una sola máquina
- 22. ¿Cómo mantener una aplicación VB6 vieja ejecutándose en Windows Vista y Windows 7?
- 23. ¿Cómo detectar si se está reproduciendo otro audio en el fondo? (Windows Phone 7)
- 24. WebSocket en Windows 7
- 25. ¿Muestra de código para capturar audio de una Mac en Cocoa y guardarlo en un archivo?
- 26. Capturar todos los cambios durante una instalación de aplicación en Windows
- 27. Aplicación Delphi 6 ejecutándose lentamente en Windows 7
- 28. Delphi 7 vista/windows 7 manifiesto
- 29. Permisos de ServiceController en Windows 7
- 30. Deshabilitar la autenticación de Windows en una sola ubicación
¿Cómo enganchó el IAudioRenderClient usando Detours? Intenté a través de IMMDeviceEnumerator, IMMDevice :: Activate y IAudioClient :: GetService. Pero desafortunadamente IMMDevice :: Activate no parece ser llamado. – Cthutu