sonido pantalla interno grabar grabacion con como activar ios ios4 background multitasking audio-recording

pantalla - grabación de audio de fondo en iOS



grabar pantalla iphone ios 10 (2)

He buscado por todos lados documentación sobre cómo grabar audio en segundo plano y he llegado a la conclusión de que la especificación de ''audio'' en el archivo plist podría funcionar. Pero, debido a que iOS 4 terminará las aplicaciones en segundo plano cuando se queda sin memoria, también debemos tomar algunas medidas para reducir nuestro uso de memoria cuando hagamos la transición al fondo. ¿Cómo reducimos nuestro uso de memoria?

Además, ¿alguien sabe una manera segura de grabar audio en segundo plano en iOS?

Desmarqué la casilla en el archivo Info.plist que dice "La aplicación no se ejecuta en segundo plano" y también agregué el

<key> UIBackgroundModes </ key> < array> < string> audio</ string></ array>

en Info.plist . Pero la grabación se detiene tan pronto como presiono el botón "INICIO".

¿Qué devoluciones de llamadas implementamos para saber que la aplicación se ha ido al fondo? Por favor avise.


Además de especificar la grabación en segundo plano en el archivo plist, podemos implementar applicationDidEnterBackground que nos dirá cuándo la aplicación ingresa en segundo plano. Aquí, debemos detener cualquier actualización de la IU porque eso consume memoria, por ejemplo, al actualizar un temporizador y un ecualizador.

Se llamará a la aplicación callWillEnterForeground justo antes de que la aplicación regrese al primer plano para que podamos reanudar lo que sea que hayamos detenido.

La grabación se lleva a cabo en segundo plano. También ayudaría a implementar un oyente de interrupción (esto también funcionaría en el backgroud) para que no pierda sus grabaciones.


En caso de que alguien más esté buscando una respuesta aquí, hice que la mía funcione agregando la matriz UIBackgroundModes a la lista, agregando ''audio'' como ítem 0.

Liberto todos los memory / controllers en la salida como lo harías al salir de la aplicación de modo que todo lo que queda son los almacenamientos intermedios que usa la aplicación (he asignado alrededor de 1Mb, lo que me pone un poco nervioso, ¡pero parece haber funcionado!) Supongo que reducir la fidelidad ayudaría también, pero parece funcionar como está.

En mi configuración de audio central tuve que cambiar el tamaño del búfer de 1024 a 4096 o establecer explícitamente el tamaño del búfer ... Opté por este último ya que la latencia era un problema.

NSTimeInterval iobuffersize = (float)1024.0f/SAMPLE_RATE); sizeofdata = sizeof(iobuffersize); AudioSessionSetProperty(kAudioSessionProperty_PreferredHardwareIOBufferDuration, &sizeofdata, &iobuffersize);

También tuve que asegurarme de que no matara la aplicación al salir a través de no habilitar la opción ''No se ejecuta en segundo plano'', pero esto debería estar desactivado por defecto de todos modos.

Así que supongo que estoy respondiendo a esto para la tranquilidad de saber que funciona con poca configuración después de todo.

Sin embargo, tengo problemas con la configuración de Bluetooth, supongo que es porque los tamaños de los búfers cambian de nuevo pero no pueden resolver esto ... solo obtenga -50 = advertencia de propiedad no válida al renderizar los datos a través del recordingCallback. Supongo que es el tamaño de la frecuencia / muestra, pero quién sabe ... se verá más tarde, pero parece que el fondo ahora funciona.