Pregunta

¿Cómo sería posible capturar el audio mediante programación?Estoy implementando una aplicación que transmite en tiempo real el escritorio en la red.La parte del vídeo ha terminado.Necesito implementar la parte de audio.Necesito una manera de obtener datos PCM de la tarjeta de sonido para enviarlos a mi codificador (implementado usando Windows Media Format).

Creo que la respuesta está relacionada con las funciones openMixer(), waveInOpen() en la API de Win32, pero no estoy seguro de qué debo hacer exactamente.

¿Cómo abrir el canal necesario y cómo leer los datos PCM del mismo?

Gracias de antemano.

¿Fue útil?

Solución

No creo que haya una manera directa de hacer esto usando el sistema operativo; es una característica que puede (o no) estar presente en la tarjeta de sonido.Algunas tarjetas de sonido tienen una interfaz loopback: Creative la llama "What U Hear".Simplemente seleccione esto como entrada en lugar del micrófono y grabe desde él usando el waveInOpen() normal que ya conoce.

Si la tarjeta de sonido no tiene esta característica, entonces creo que no tienes suerte más que haciendo algo loco como crear tu propio controlador.O podría convencer a sus usuarios de pasar un cable desde la salida del altavoz hasta la entrada de línea :)

Otros consejos

Las nuevas API de Windows Vista Core Audio tienen soporte para esto explícitamente (llamado Grabación Loopback), por lo que si puedes vivir con una aplicación solo para Vista, este es el camino a seguir.

Ver el Grabación en bucle invertido artículo en MSDN para obtener instrucciones sobre cómo hacer esto.

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