NOTA: No conozco ni el iPhone SDK ni el Objective C, solo me pregunto si es posible.
Sé que obviamente tendría que estar en un dispositivo Jailbreak de todos modos, pero es técnicamente posible que se haga una aplicación de grabación de llamadas de iPhone, ¿o no es posible conectarse a las llamadas o la entrada/salida de audio?
Sé que obviamente no habría una forma 'oficial' de hacerlo y ciertamente no desde una aplicación de la App Store. Y sé que hay aplicaciones de grabación de llamadas que realizan llamadas salientes a través de sus propios servidores.
Solo me pregunto si la razón por la que aún no existe es porque nadie lo ha codificado o si en realidad no es posible.
En iPhones con jailbreak, SpoofApp graba llamadas. No soy abogado, pero tenga en cuenta que la grabación de llamadas puede no ser legal dependiendo de dónde se encuentre y/o dónde se encuentre la otra parte.
Para el mercado del Reino Unido también existe Call Recorder . Utiliza un número de tarifa premium para grabar la llamada, pero también está disponible para iPhones sin jailbreak.
Recientemente descubrí una aplicación que realmente puede hacerlo correctamente, pero solo para llamadas SIP.
¡Se llama MobileVOIP y está en Apple Store! :D
Así que espero que esto responda a tu pregunta. Incluso si no está grabando una llamada telefónica, creo que muestra que es teóricamente posible.
No hay una manera fácil ya que esa parte del software y el hardware está protegida.
Por supuesto, es posible en el sentido teórico, ya que la grabadora de voz y las aplicaciones de mezcla de música muestran que el poder del hardware y el software de procesamiento de señales tiene acceso a ambas corrientes de sonido.
Alguien tendría que volver a hacer parte o todo el código de iOS y cambiarlo. Pero lo que es simple en concepto seguramente es complejo y quizás demasiado costoso para suceder en la realidad.
Simplemente tome el código que escucha el flujo de datos del micrófono dentro de la aplicación del teléfono móvil y descargue un archivo en el almacenamiento, además de codificarlo para llamadas de voz. Si esa aplicación llama a una API en lugar de realizar ese procesamiento por sí misma, entonces implementaría la grabación allí. Haría lo mismo con los datos entrantes y podría agregar marcadores de tiempo para mezclarlos más tarde o mezclarlos a medida que se maneja la llamada.
Este código, por supuesto, no está en su lugar utilizando la API documentada, por lo que deberá parchear la aplicación después de un jailbreak o descubrir una API no documentada para implementar esta función.
El caso de uso es tan obvio que si esto estuviera ahí, cientos de aplicaciones ya lo estarían haciendo.
El desarrollador de iOS Tweak, Elias Limneos, ha lanzado una aplicación en Cydia llamada Audio Recorder (originalmente llamada Call Recorder).
¡Así que finalmente es posible grabar llamadas localmente en el dispositivo sin tener que llamar a través de números de tarifa premium!
Los pitidos de audio se pueden desactivar, pero hay un mensaje forzado de "Esta llamada se está grabando" que se reproduce al principio para la otra parte.
Actualmente solo funciona con el iPhone 4S (solo altavoz) y el iPhone 5 y la licencia cuesta $3.99 por dispositivo.
EDITAR: parece que fui demasiado lento, ya que compré esto la semana pasada, ya se ha descontinuado, aunque los compradores existentes pueden continuar usándolo, no habrá más actualizaciones.
Yo, Elías Limneos. Tristemente anuncio que decidí dejar de distribuir y trabajar en la aplicación "Grabadora de audio". A partir de hoy, Audio Recorder está descontinuado.
Fuente: http://limneos.net/audiorecorder.html
EDITAR: ha vuelto a cambiar de opinión y está disponible para la venta a través de su propio repositorio de Cydia.
Definitivamente es posible, y casi con certeza innecesario, leer directamente de la memoria. Las API privadas de Apple se pueden descubrir usando Xcode y ciertos navegadores de clase Objective-C de terceros.
Si necesita una respuesta a su pregunta no formulada (" ¿Cómo se implementaría una grabadora de llamadas de iPhone?"), entonces estoy de acuerdo con Josh K: diríjase a stackoverflow.com. O póngase en contacto con la gente de Rogue Amoeba , ya que ya resolvieron este problema en Mac OS X, que comparte exactamente las mismas bibliotecas de bajo nivel que iOS.
Sí, es claramente posible al menos leyendo directamente en la memoria, incluso si el gancho es probablemente mucho más fácil de hacer.
jose k
Cregox
bmike