iOS multitarea para una aplicación de grabación de audio

Estoy escribiendo una aplicación que graba audio. Estoy estudiando la viabilidad de soportar tareas múltiples mientras hago grabaciones de audio (en segundo plano).

La respuesta parece ser un no por lo que he leído hasta ahora, especialmente porque el progtwig está destinado a liberar los resources del sistema que se utilizan cuando se apagan.

Entonces, me pregunto, ¿es posible permitir que el usuario cambie a otra aplicación en iOS mientras mi aplicación continúa capturando audio en segundo plano?

Usted puede. Skype hace esto.

Probablemente necesite configurar <key>UIBackgroundModes</key><array><string>audio</string></array> en Info.plist, y debe asegurarse de que la session de audio esté activa / ejecutándose / lo que sea antes cambias de aplicaciones (la suposition es que no comenzarás de repente a grabar / reproducir música / lo que sea cuando tu aplicación esté en segundo plano).

Los docs dicen que "audio" le permite reproducir audio en segundo plano, pero presumiblemente esto también se aplica a la grabación de audio. Si no funciona, hay algunas cosas que puedes probar:

  • Configura tanto "voip" como "audio".
  • Reproducir silencio (esto podría ser más fácil de hacer con la API Audio Queue).

Apple parece haber aceptado aplicaciones para iOS4 que continúan grabando audio cuando se colocan en segundo plano, por lo que puede ser una testing de existencia. La aplicación tiene que declararse como capaz de audio de background, asignar previamente todos los resources de audio y comenzar la grabación de audio antes de que la aplicación tenga un background, y también esperan ser asesinados si la aplicación de primer plano requiere resources de memory o audio. Entonces, cualquier uso de los resources del sistema debería ser el mínimo absoluto.

¡Sí!

Su aplicación continuará grabando / reproduciendo un audio mientras se envía al background.

No intente utilizar VOIP a less que no desee publicar su aplicación en Apple Store (por ejemplo, transmitirá su aplicación a través de tiendas de terceros que instalen el perfil de aprovisionamiento).