2009-07-09 16 views
7

Estoy intentando crear lo que creo que es una aplicación básica. Bueno, dos aplicaciones una para Windows y otra para OS X. Me gustaría capturar la señal de audio que se está reproduciendo (es decir, si el usuario está reproduciendo música de sus altavoces). Luego tome esa señal y transmítala para que otra computadora pueda "escuchar". La otra computadora sería Windows o OS X.Obtener la señal de audio del parlante y luego transmitirla

  1. ¿Alguna idea sobre cómo obtener la señal de audio?
  2. ¿Cuál es la forma más eficiente de transmitir audio sin un complemento de terceros? Si hay una solución de código abierto, me interesaría.

¡Gracias!

Chris

+0

Estoy interesado en la respuesta, así – Tim

Respuesta

3

En Windows XP esto no es trivial en absoluto, porque no hay manera de interceptar la señal de salida sin tener que escribir un controlador de filtro de audio (que no se somethign para los débiles de corazón).

En Windows Vista y superior, puede capturar la salida del motor de audio utilizando las API WASAPI (integradas en Windows para que sean gratuitas) e inicializando un cliente de audio con el indicador AUDCLNT_STREAMFLAGS_LOOPBACK. Esto le dará una secuencia de captura que está enganchada a la salida del motor de audio.

Puede empaquetar ese audio y enviarlo a la otra máquina y procesarlo con la API de reproducción de audio que desee.

No sé cómo hacer el equivilant en OSX aunque :(.

+0

frío. Estoy bien con Vista requiere. No se sabe si esto es todavía disponibles en Windows 7? – chrishomer

+0

Por supuesto que lo es. –

+0

Parece que las API WASAP requieren una fuente libre de DRM. Tiene sentido pero esperaba poder transmitir archivos DRM protegidos ya que esto no es una transmisión para muchos, solo para ti en otro dispositivo. – chrishomer

Cuestiones relacionadas