2012-02-29 15 views
8

¿Cómo se graba audio con iOS? No es la grabación de entrada desde el micrófono, pero quiero ser capaz de capturar/grabar el audio de reproducción actual dentro de mi aplicación?Grabar audio iOS

Por lo tanto, p. Ej. Comienzo una sesión de grabación, y cualquier sonido que se reproduzca solo en mi aplicación, ¿quiero grabarlo en un archivo?

He hecho investigaciones sobre esto, pero estoy confundido con qué usar, ya que parece que mezclar marcos de audio puede causar problemas.

Solo quiero ser capaz de capturar y guardar el audio que se reproduce en mi aplicación.

+0

¿Cómo se reproduce el audio en su aplicación? – sbooth

+0

Voy a utilizar unidades de audio. ¿La grabadora en sí misma será una unidad? – jarryd

+0

solo para aclarar, cuando dices que quieres grabar el sonido que se reproduce en tu aplicación (no en el micrófono), solo quieres decir que quieres grabar directamente desde la tarjeta de sonido, ¿correcto? Por lo tanto, supongamos que si alguien tiene audífonos en la cabeza todavía pueden grabar lo que sea que escuchen. – luca590

Respuesta

4

Bueno, si lo que buscas es simplemente grabar el audio que produce tu aplicación, entonces sí, esto es muy posible.

Lo que no es posible, es grabar todo el audio que se emite a través del altavoz. (EDITAR: Solo quiero aclarar que no hay forma de grabar la salida de audio producida por otras aplicaciones. Solo puede grabar las muestras de audio que USTED produce).

Si desea grabar la salida de audio de su aplicación, debe usar la unidad de audio io remota (http://atastypixel.com/blog/using-remoteio-audio-unit/).

Todo lo que necesita hacer es copiar el búfer de reproducción después de llenarlo.

ex)

memcpy(void *dest, ioData->mBuffers[0].mData, int amount_of_bytes); 
1

No hay una API pública para capturar o grabar toda la salida de audio genérica de una aplicación de iOS.

1

Mira la aplicación de ejemplo MixerHostAudio de Apple. Es una excelente manera de comenzar a aprender sobre unidades de audio. Una vez que tenga una idea de eso, hay muchos tutoriales en línea que hablan sobre agregar grabación.

2

Esto es posible envolviendo un Core Audio utilidad pública archivo CAAudioUnitOutputCapturer http://developer.apple.com/library/mac/#samplecode/CoreAudioUtilityClasses/Introduction/Intro.html

Véase mi respuesta en esta pregunta para las clases de envoltura. Properly use Objective C++

+0

¿Crees que también es posible grabar audio desde otras aplicaciones? ¿Puedes grabar audio puro que, por ejemplo, está produciendo Spotify? –

+0

@PiotrDabkowski iOS hace sandboxing, por lo que el audio es probablemente nativo de la aplicación en sí. Hay cosas como el audio entre aplicaciones, para lo cual, Spotify en su caso debe ser compatible para que pueda recibir el audio de la misma. – lppier

Cuestiones relacionadas