2010-02-02 15 views
5

Estoy intentando trasladar mi protector de pantalla de windows a mac y una de sus características reaccionaba a la salida de sonido del sistema. En Windows fue fácil usar Direct Sound, pero no puedo encontrar ningún ejemplo de captura de salida de sonido en mac. ¿Es posible incluso sin escribir algo como la extensión kernel? Usar el flash también es muy fácil: incluso proporciona el método computeSpectrum para obtener datos en bruto o incluso datos transformados.Capturar salida de sonido en mac

Todos los programas que ya he encontrado usan Soundflower o su propia extensión kernel. Pero no creo que pedir instalar un programa separado o usar la extensión Kernel sea una buena manera.

Respuesta

4

Una cosa que puedes hacer, teniendo en cuenta que Soundflower es de código abierto, es echarle un vistazo a cómo lo hicieron. No puede copiar & pegar código GPL, pero seguramente puede estudiar las técnicas utilizadas y crear su propia solución (lo guiará en la dirección correcta).

No encontrarás que Apple sea de mucha ayuda aquí. La captura de sonido, de esta manera, puede usarse para todo tipo de propósitos nefastos. Ni siquiera estoy seguro de si Core Audio te permite hacer esto sin hacks. En cualquier caso, tiene una implementación operativa de lo que está tratando de lograr. Me aprovecharía de eso.

+0

¿Conoces algún lugar para ver el código usando Soundflower? – tig

+0

No recomiendo usarlo. Estoy recomendando la ingeniería inversa. El ejemplo que buscas es el código fuente de Soundflower. Por cierto, instalar una extensión de kernel es transparente si lo empaqueta correctamente. – pestilence669

+0

No me gusta que requiera la instalación de privilegios de administrador. Pero creo que tienes razón. – tig

-3

No estoy en mi Mac en este momento, pero estoy bastante seguro de que Quartz Composer tiene un parche para esto. Dependiendo de en qué idioma esté escribiendo su protector de pantalla, puede ser bastante fácil para usted portar su código en un QC patch. Bueno ... probablemente no será fácil, pero puede ser factible.

+0

Creo que puede hacer cualquier cosa que pueda hacer con un parche de control de calidad en el código, ¿no? –

+0

En Quartz Composer, encontré la única forma de trabajar con sonido de entrada, no de salida. Además, mi protector de pantalla no es muy liviano, por lo que prefiero usar Objective-C++ con OpenGL. – tig

Cuestiones relacionadas