Limitaciones conocidas
Compartir la entrada de audio en Android
Existen algunas limitaciones conocidas relacionadas con la captura de audio en dispositivos Android.
El comportamiento de Android al compartir el micrófono depende de la versión del sistema operativo y de la fuente de audio que utilice cada aplicación.
Consulte la guía de la plataforma Android para obtener más información:
Android 9 y versiones anteriores
Antes de Android 10, la captura de audio suele concederse por orden de llegada. Mientras el reconocimiento de audio de SORI SDK está en ejecución, es posible que otra aplicación normal no pueda iniciar la captura del micrófono, o que SORI SDK no pueda iniciarla si otra aplicación ya está grabando.
Las aplicaciones con privilegios y permisos del sistema, como los asistentes o los servicios de accesibilidad, pueden constituir una excepción a este comportamiento.
Android 10 y versiones posteriores
Android 10 introdujo un modelo de uso compartido de la entrada de audio basado en prioridades. En este modelo, otra aplicación puede empezar a capturar audio mientras se ejecuta el reconocimiento de SORI SDK. La captura de menor prioridad no se detiene necesariamente; puede continuar ejecutándose mientras recibe silencio.
Esto es especialmente importante cuando otra aplicación utiliza una fuente de audio que afecta a la privacidad, como CAMCORDER o VOICE_COMMUNICATION. Por ejemplo, si una aplicación de cámara empieza a grabar vídeo mientras el reconocimiento de SORI SDK está activo, la aplicación de cámara puede recibir el audio del micrófono y SORI SDK puede recibir silencio temporalmente. Cuando finaliza la captura de mayor prioridad, Android puede devolver a SORI SDK la entrada normal del micrófono sin reiniciar el reconocimiento.
En las versiones de SORI SDK que utilizan la captura continua de Android 10 o posterior, esta transición se gestiona como parte del comportamiento normal de captura. Los resultados del reconocimiento pueden no estar disponibles mientras SORI SDK recibe silencio, y el reconocimiento puede reanudarse cuando la aplicación de mayor prioridad libera el micrófono. Puede producirse un breve periodo de recuperación antes de que se reanude el reconocimiento normal.
SORI SDK puede continuar realizando el reconocimiento de audio aunque la aplicación no aparezca en primer plano mediante el uso de un servicio en primer plano. En este caso, es posible que el usuario no sepa que el reconocimiento de audio sigue en curso. Se recomienda ofrecer una forma clara de detenerlo.
Acerca de la grabación de audio en iOS
Reconocimiento en segundo plano
SORI SDK admite el reconocimiento en segundo plano. También es posible realizarlo si especifica que la grabadora de audio puede ejecutarse en segundo plano.
Puede habilitar el reconocimiento en segundo plano añadiendo las siguientes claves y valores al archivo Info.plist del proyecto. El siguiente código es un ejemplo en el que audio es la parte importante.
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
<string>remote-notification</string>
<string>audio</string>
</array>TIP
No todos los permisos son obligatorios, pero disponer de los tres permisos anteriores no interfiere con el funcionamiento de SORI SDK.
Efectos secundarios del reconocimiento en segundo plano
SORI SDK obtiene datos PCM del micrófono mediante Apple Audio Queue System para escuchar el sonido. Para utilizar la grabadora de audio sin provocar conflictos con el sistema u otras aplicaciones, SORI SDK configura Audio Session (AVAudioSession) de la siguiente manera.
- Categoría:
AVAudioSessionCategoryPlayAndRecord - Modo:
AVAudioSessionModeMeasurement - Opciones:
AVAudioSessionCategoryOptionMixWithOthers
En la mayoría de las situaciones, las configuraciones de Audio Session anteriores no provocan ningún problema. Sin embargo, dependiendo de la configuración de Audio Session de una aplicación concreta, en casos excepcionales pueden producirse efectos secundarios en el funcionamiento de SORI SDK o de dicha aplicación. En la mayoría de los casos, el efecto secundario consiste en que no se escucha sonido por el altavoz o los auriculares.
