2011-09-13 10 views
5

Existen dos aplicaciones para OS X que le permiten preamplificar audio antes de que el hardware lo reproduzca: Audio Hijack (preamplifica la salida de aplicaciones particulares) y Boom (preamplifica todo sistema de audio). Estas aplicaciones funcionan al aplicar ecualización a las transmisiones de audio preexistentes, con una configuración de preamplificador alta, antes de enviarlas a la tarjeta de sonido.Pre-Amplify Audio OS X

Mi pregunta es: cómo secuestrar la transmisión de audio del sistema y luego enviarla a la tarjeta de sonido. ¿Es esto en algún lugar de una API, o sería necesario modificar una biblioteca del sistema?

+2

Consulte muchas preguntas similares, p. http://stackoverflow.com/questions/965045/osx-audio-hijack-style-audio-recording-from-other-applications-cocoa –

Respuesta

5

1) Cree un dispositivo de sonido estándar que aparezca en las preferencias del sistema de audio. Esto tiene que ser en forma de una extensión kernel (kext). Difícil de crear con solo leer documentos de Apple: prueba mirar una aplicación llamada Soundflower.

2) Una vez que haya cargado el kext y tenga el nuevo dispositivo de audio disponible, selecciónelo en las preferencias como el dispositivo de salida predeterminado para el sistema de audio.

3) Ahora necesita modificar el audio y canalizarlo a la salida del sistema real. Esto se puede hacer en una aplicación complementaria que agrega funciones de devolución de llamada "IOProc" a a) el nuevo dispositivo yb) el dispositivo de salida incorporado de su computadora. A continuación, puede copiar almacenamientos intermedios de audio de un dispositivo a otro, para canalizar el audio a sus altavoces. Para aumentar el volumen, multiplique todos los bytes en el búfer por algún factor. Mira la aplicación de acompañamiento de Soundflower.

+0

- gracias a Paul r por el puntero. Esto es lo que aprendí – Colin