El AOQ Client SDK para Android proporciona un conjunto completo de capacidades de comunicación de audio y video en tiempo real, que incluye gestión del ciclo de vida del motor, captura y reproducción de audio/video, configuración de códecs, inyección de flujos de audio externos, mezcla de archivos de audio, mensajería en tiempo real y callbacks de fotogramas de audio/video. Este documento es la referencia completa de la API de Java para la plataforma Android.
Índice de API
Ciclo de vida del motor
| API | Descripción |
|---|---|
| createEngine | Crear una instancia del motor (singleton) |
| destroy | Destruir la instancia del motor |
| getVersion | Obtener la versión del SDK |
| connect | Conectar al servidor Relay |
| disconnect | Desconectar del servidor |
Gestión de dispositivos de audio
| API | Descripción |
|---|---|
| startAudioCapture | Abrir el dispositivo de captura de audio (micrófono) |
| stopAudioCapture | Cerrar el dispositivo de captura de audio |
| muteAudioCapture | Silenciar o reactivar la captura de audio |
| startAudioPlayer | Iniciar renderizado de audio (reproducción de audio remoto) |
| stopAudioPlayer | Detener la renderización de audio |
| pauseAudioPlayer | Pausar el renderizado de audio, con desvanecimiento opcional |
| resumeAudioPlayer | Reanudar el renderizado de audio, con aparición gradual opcional |
| interruptAudioPlayer | Interrumpir la sesión de audio actual |
| enableSpeakerphone | Cambiar la salida de audio entre el altavoz y el auricular |
| isSpeakerphoneEnabled | Verificar si la salida de audio usa el altavoz |
Configuración de codificación de audio
| API | Descripción |
|---|---|
| setAudioEncoderConfig | Establecer parámetros de codificación de audio |
| setAudioDecoderConfig | Establecer parámetros de decodificación de audio |
Reproducción de archivos de audio
| API | Descripción |
|---|---|
| startAudioFile | Iniciar la reproducción y publicación de un archivo de audio local |
| stopAudioFile | Detener la reproducción del archivo de audio |
| pauseAudioFile | Pausar la reproducción del archivo de audio |
| resumeAudioFile | Reanudar la reproducción del archivo de audio |
| getAudioFileDuration | Obtener la duración total del archivo de audio |
| getAudioFileCurrentPosition | Obtener la posición de reproducción actual del archivo de audio |
| setAudioFilePositionMillis | Buscar una posición en el archivo de audio |
| setAudioFileVolume | Establecer el volumen del archivo de audio |
| getAudioFileVolume | Obtener el volumen actual del archivo de audio |
Secuencias de audio externas
| API | Descripción |
|---|---|
| addAudioExternalStream | Agregar un flujo de audio externo |
| pushAudioExternalStreamData | Enviar datos de audio PCM externos |
| setAudioExternalStreamVolume | Establecer el volumen de la secuencia de audio externa |
| getAudioExternalStreamVolume | Obtener el volumen de la secuencia de audio externa |
| clearAudioExternalStreamBuffer | Borrar el búfer de la secuencia de audio externa |
| removeAudioExternalStream | Eliminar un flujo de audio externo |
Callbacks de cuadros de audio
| API | Descripción |
|---|---|
| setAudioFrameObserver | Establecer el listener del callback de tramas de audio |
| enableAudioFrameObserver | Habilitar o deshabilitar callbacks de tramas de audio en una etapa específica |
Indicación de volumen de audio local
| API | Descripción |
|---|---|
| enableLocalAudioVolumeIndication | Habilitar o deshabilitar la indicación de volumen de captura local |
Gestión de dispositivos de video
| API | Descripción |
|---|---|
| startVideoCapture | Abrir el dispositivo de captura de video (cámara) |
| stopVideoCapture | Cerrar el dispositivo de captura de video |
| switchCamera | Cambiar entre cámaras frontal y trasera |
| setLocalView | Establecer o eliminar la ventana de renderizado de video local |
| setRemoteView | Establecer o eliminar la ventana de renderizado de video remoto |
Codificación de video y entrada externa
| API | Descripción |
|---|---|
| setVideoEncoderConfig | Establecer parámetros de codificación de video |
| setVideoDecoderConfig | Establecer parámetros de decodificación de video |
| pushExternalVideoCapturedFrame | Enviar tramas de video capturadas externamente |
| pushExternalVideoEncodedFrame | Enviar tramas de video codificadas externamente |
Captura de pantalla
| API | Descripción |
|---|---|
| startScreenCapture | Iniciar la captura de pantalla |
| stopScreenCapture | Detener la captura de pantalla |
Control de transmisión de flujo de medios
| API | Descripción |
|---|---|
| enableSendMediaStream | Habilitar o deshabilitar la transmisión de secuencia de medios local |
Callbacks de cuadros de video
| API | Descripción |
|---|---|
| setVideoFrameObserver | Establecer el listener del callback de tramas de video |
| enableVideoFrameObserver | Habilitar o deshabilitar callbacks de tramas de video en una etapa específica |
Mensajes en tiempo real
| API | Descripción |
|---|---|
| sendDataMsg | Enviar un mensaje de datos en tiempo real |
Callbacks de AoqClientListener
| API | Descripción |
|---|---|
| onError | Callback de error del motor |
| onWarning | Callback de advertencia del motor |
| onConnectionStatusChange | Callback de cambio de estado de conexión |
| onStats | Callback de estadísticas del motor |
| onAudioDeviceStateChanged | Callback de cambio de estado de operación del dispositivo de audio |
| onAudioDeviceRouteChanged | Callback de cambio de ruta de salida de audio |
| onAudioDeviceInterrupted | Callback de interrupción del dispositivo de audio |
| onScreenCaptureStateChanged | Callback de cambio de estado de captura de pantalla |
| onVideoDeviceStateChanged | Callback de cambio de estado de operación del dispositivo de video |
| onAudioDeviceFocusChanged | Callback de cambio de enfoque de audio |
| onAudioFileState | Callback de estado de reproducción de archivo de audio |
| onLocalAudioVolumeIndication | Callback de indicación de volumen de captura local |
| onDataMsg | Callback de mensaje de datos en tiempo real recibido |
Callbacks de AoqAudioFrameListener
| API | Descripción |
|---|---|
| onCapturedAudioFrame | Se invoca cuando se captura un cuadro de audio sin procesar. El cuadro contiene datos PCM no procesados. |
| onProcessCapturedAudioFrame | Se invoca para un cuadro de audio después del procesamiento 3A, como la cancelación de eco y la supresión de ruido. |
| onPublishAudioFrame | Se invoca para un cuadro de audio antes de la publicación, inmediatamente antes de la codificación y la transmisión. |
| onPlaybackAudioFrame | Se invoca para un cuadro de audio remoto antes de la reproducción, después de la decodificación y la mezcla. |
Callbacks de AoqVideoFrameListener
| API | Descripción |
|---|---|
| onCapturedVideoFrame | Se invoca cuando se captura un cuadro de video sin procesar, antes del preprocesamiento. |
| onPreEncodeVideoFrame | Se invoca para un cuadro de video después del preprocesamiento y antes de la codificación. |
| onRemoteVideoFrame | Se invoca para un cuadro de video remoto después de la decodificación y antes de la renderización. |
Detalles de la API
pushExternalVideoCapturedFrame admite Video y Screen. Habilite primero la captura externa en la pista correspondiente; de lo contrario, devolverá AoqECVideoExternalCaptureNotEnabled (211).
Ciclo de vida del motor
createEngine
Cree la instancia del motor. El SDK mantiene el motor como un singleton global; llamar a este método nuevamente devuelve la instancia existente.
Parámetro | Tipo | Descripción |
|---|---|---|
context | Context | Contexto de aplicación Android |
config | AoqCreateConfig | Configuración de creación del motor |
listener | AoqClientListener | Listener de callbacks de eventos del motor |
/api/v1/allocate. Para un modelo específico, consulte Conexión mediante AOQ de Qwen-Omni-Realtime, Conexión mediante AOQ de Qwen-Audio-Realtime o Conexión mediante AOQ de Qwen-LiveTranslate-Realtime.| Parámetro | Tipo | Descripción |
|---|---|---|
| config | AoqConnectConfig | Configuración de conexión, incluyendo Token, SID, puntos finales Relay y pistas de publicación/suscripción |
Gestión de dispositivos de audio
startAudioCapture
Abre el dispositivo de captura de audio (micrófono) e inicia la captura de audio local. Para entrada de audio externa (pushAudioExternalStreamData), establezca isExternal en true. En este modo, el micrófono no se abre.
| Parámetro | Tipo | Descripción |
|---|---|---|
| config | AoqAudioCaptureConfig | Configuración de captura de audio |
stopAudioCapture
Cierra el dispositivo de captura de audio y detiene la captura de audio local.
muteAudioCapture
Silencia o reactiva la captura de audio. A diferencia de stopAudioCapture, silenciar mantiene la captura activa pero envía cuadros silenciosos.
| Parámetro | Tipo | Descripción |
|---|---|---|
| mute | boolean | true silencia la captura; false la reactiva. |
startAudioPlayer
Inicia la renderización de audio y reproduce el audio remoto a través del altavoz o el auricular. Para renderización externa (reproducir PCM usted mismo), establezca isExternal en true.
| Parámetro | Tipo | Descripción |
|---|---|---|
| config | AoqAudioPlaybackConfig | Configuración de reproducción de audio |
stopAudioPlayer
Detiene el renderizado de audio y cierra el dispositivo de reproducción.
pauseAudioPlayer
Pausa la renderización de audio con un fundido de salida opcional. Los datos de audio remoto continúan llegando mientras está en pausa, pero no se reproducen.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fadeMs | int | Duración del desvanecimiento de salida en milisegundos. 0 pausa la reproducción inmediatamente. |
resumeAudioPlayer
Reanuda la renderización de audio con un fundido de entrada opcional. Llame a este método después de pauseAudioPlayer.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fadeMs | int | Duración del desvanecimiento de entrada en milisegundos. 0 reanuda la reproducción inmediatamente. |
interruptAudioPlayer
Interrumpe la conversación de audio actual y borra el búfer de reproducción. Esto se usa comúnmente cuando un usuario interrumpe el habla de la IA en una conversación.
| Parámetro | Tipo | Descripción |
|---|---|---|
| trackType | AoqTrackType | Tipo de pista a interrumpir |
| fadeMs | int | Duración del desvanecimiento de salida en milisegundos. 0 interrumpe la reproducción inmediatamente. |
enableSpeakerphone
Cambia la salida de audio al altavoz o al auricular. Solo surte efecto después de startAudioPlayer.
| Parámetro | Tipo | Descripción |
|---|---|---|
| enable | boolean | true cambia al altavoz; false cambia al auricular. |
isSpeakerphoneEnabled
Verifica si el audio se está reproduciendo actualmente a través del altavoz.
Configuración del códec de audio
Configuración de codificación de audio
setAudioEncoderConfig
Configura la codificación de audio para la publicación. Los cambios de configuración surten efecto inmediatamente.
| Parámetro | Tipo | Descripción |
|---|---|---|
| config | AoqAudioCodecConfig | Configuración de codificación de audio. Establezca trackType en AoqTrackTypeAudio. |
setAudioDecoderConfig
Configura la decodificación de audio para el audio suscrito. La configuración debe coincidir con la configuración de codificación remota.
| Parámetro | Tipo | Descripción |
|---|---|---|
| config | AoqAudioCodecConfig | Configuración de decodificación de audio. Establezca trackType en AoqTrackTypeAudio. |
Reproducción de archivos de audio
startAudioFile
Inicia la transmisión y reproducción de un archivo de audio local. La transmisión remota y la reproducción local pueden ejecutarse simultáneamente, con sus volúmenes controlados por publishVolume y playoutVolume, respectivamente.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | String | Identificador de archivo definido por la aplicación utilizado para control posterior |
| config | AoqAudioFileMixConfig | Configuración de reproducción de archivo de audio |
stopAudioFile
Detiene la reproducción del archivo de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | String | Identificador de archivo, que coincide con el valor pasado a startAudioFile |
pauseAudioFile
Pausa la reproducción del archivo de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | String | Identificador de archivo |
resumeAudioFile
Reanuda la reproducción del archivo de audio. Llame a este método después de pauseAudioFile.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | String | Identificador de archivo |
getAudioFileDuration
Obtiene la duración total de un archivo de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | String | Identificador de archivo |
getAudioFileCurrentPosition
Obtiene la posición de reproducción actual de un archivo de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | String | Identificador de archivo |
setAudioFilePositionMillis
Establece la posición de reproducción de un archivo de audio (búsqueda).
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | String | Identificador de archivo |
| positionMillis | long | Posición de reproducción objetivo en milisegundos |
setAudioFileVolume
Establece el volumen del archivo de audio. Los volúmenes de transmisión y de reproducción local se pueden controlar por separado.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | String | Identificador de archivo |
| type | AoqAudioStreamDirection | Dirección del volumen. AoqAudioStreamPublish controla la transmisión; AoqAudioStreamPlayout controla la reproducción. |
| volume | int | Volumen. Valores válidos: 0-100. |
getAudioFileVolume
Obtiene el volumen actual del archivo de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | String | Identificador de archivo |
| type | AoqAudioStreamDirection | Dirección del volumen |
Secuencias de audio externas
addAudioExternalStream
Añade un flujo de audio externo. Se pueden crear múltiples flujos independientes y distinguirlos por streamId.
| Parámetro | Tipo | Descripción |
|---|---|---|
| streamId | String | Identificador de flujo externo definido por la aplicación |
| config | AoqAudioExternalStreamConfig | Configuración de flujo de audio externo |
pushAudioExternalStreamData
Alimenta datos de audio PCM externos en la secuencia especificada.
| Parámetro | Tipo | Descripción |
|---|---|---|
| streamId | String | Identificador de flujo externo |
| data | AoqAudioFrameData | Datos de fotograma de audio PCM |
setAudioExternalStreamVolume
Establece el volumen del flujo de audio externo. Los volúmenes de transmisión y de reproducción local se pueden controlar por separado.
| Parámetro | Tipo | Descripción |
|---|---|---|
| streamId | String | Identificador de flujo externo |
| type | AoqAudioStreamDirection | Dirección del volumen |
| volume | int | Volumen. Valores válidos: 0-100. |
getAudioExternalStreamVolume
Obtiene el volumen actual de la secuencia de audio externa.
| Parámetro | Tipo | Descripción |
|---|---|---|
| streamId | String | Identificador de flujo externo |
| type | AoqAudioStreamDirection | Dirección del volumen |
clearAudioExternalStreamBuffer
Borra el búfer del flujo de audio externo con un fundido de salida opcional. Se usa comúnmente para interrumpir la reproducción actual.
| Parámetro | Tipo | Descripción |
|---|---|---|
| streamId | String | Identificador de flujo externo |
| fadeoutMs | int | Duración del desvanecimiento de salida en milisegundos. -1 usa el valor predeterminado, 0 borra el búfer inmediatamente y un valor mayor que 0 retiene la duración especificada para el desvanecimiento de salida. |
removeAudioExternalStream
Elimina una secuencia de audio externa y libera sus recursos.
| Parámetro | Tipo | Descripción |
|---|---|---|
| streamId | String | Identificador de flujo externo |
Devoluciones de llamada de cuadros de audio
setAudioFrameObserver
Establece el listener de cuadros de audio. Pase listener=null para eliminarlo.
| Parámetro | Tipo | Descripción |
|---|---|---|
| listener | AoqAudioFrameListener | Escucha de fotogramas de audio. Pase null para eliminarla. |
enableAudioFrameObserver
Habilita o deshabilita las devoluciones de llamada de cuadros de audio en la posición especificada.
| Parámetro | Tipo | Descripción |
|---|---|---|
| enabled | boolean | true habilita los callbacks; false los deshabilita. |
| audioSource | AoqAudioSource | Posición de la fuente de audio: captura, después del procesamiento 3A, publicación o reproducción |
| config | AoqAudioObserverConfig | Configuración de callback |
Indicación de volumen de audio local
enableLocalAudioVolumeIndication
Habilita o deshabilita las indicaciones de volumen de audio capturado localmente. Cuando está habilitado, el SDK invoca onLocalAudioVolumeIndication a intervalos config.interval para informar el volumen capturado localmente y si se detecta voz.
| Parámetro | Tipo | Descripción |
|---|---|---|
| config | AoqAudioVolumeIndicationConfig | Configuración de indicación de volumen. interval<=0 deshabilita las devoluciones de llamada. |
Gestión de dispositivos de video
startVideoCapture
Abre el dispositivo de captura de video (cámara). El video capturado se envía a través de AoqTrackTypeVideo. Para entrada de video externa (pushExternalVideoCapturedFrame), establezca isExternal en true; la cámara no se abre en este modo.
| Parámetro | Tipo | Descripción |
|---|---|---|
| config | AoqVideoCaptureConfig | Configuración de captura de video. |
stopVideoCapture
Cierra el dispositivo de captura de video y detiene la captura de video local.
switchCamera
Alterna entre la cámara frontal y la trasera. Llame a este método después de startVideoCapture(isExternal=false).
| Parámetro | Tipo | Descripción |
|---|---|---|
| direction | AoqCameraDirection | Dirección de la cámara objetivo: AoqCameraDirectionFront para la cámara frontal y AoqCameraDirectionBack para la cámara trasera. |
setLocalView
Establece o elimina la vista de renderización de video local. Pase canvas=null o canvas.view=null para eliminar la renderización.
| Parámetro | Tipo | Descripción |
|---|---|---|
| trackType | AoqTrackType | Tipo de pista |
| canvas | AoqVideoCanvas | Lienzo de renderizado de video. Pase null para eliminar el renderizado. |
setRemoteView
Establece o elimina la vista de renderización de video remoto. Pase canvas=null o canvas.view=null para desvincularla.
| Parámetro | Tipo | Descripción |
|---|---|---|
| trackType | AoqTrackType | Tipo de pista |
| canvas | AoqVideoCanvas | Lienzo de renderizado de video. Pase null para desvincularlo. |
Codificación de video y entrada externa
setVideoEncoderConfig
Configura la codificación de video para publicación. Si isExternal=true, pushExternalVideoEncodedFrame envía fotogramas codificados directamente por trackType sin recodificación por parte del SDK.
| Parámetro | Tipo | Descripción |
|---|---|---|
| config | AoqVideoCodecConfig | Configuración de codificación de video. |
setVideoDecoderConfig
Configura la decodificación de video para el video suscrito, enrutado por config.trackType.
Solo trackType, codecType, width, height, fps y bitrate aplican a la decodificación. Los otros campos aplican solo a la codificación.
| Parámetro | Tipo | Descripción |
|---|---|---|
| config | AoqVideoCodecConfig | Configuración de decodificación de video. |
pushExternalVideoCapturedFrame
Envía fotogramas de video sin procesar externos para su codificación y transmisión por parte del SDK. Los fotogramas se enrutan por trackType. La captura externa debe estar habilitada para la pista correspondiente.
| Parámetro | Tipo | Descripción |
|---|---|---|
| trackType | AoqTrackType | Tipo de pista. Para AoqTrackTypeVideo, llame primero a startVideoCapture(isExternal=true). Para AoqTrackTypeScreen, llame primero a startScreenCapture(isExternal=true). |
| frame | AoqVideoFrame | Datos de fotograma de video externo. |
pushExternalVideoEncodedFrame
Envía fotogramas de video codificados externamente. El SDK los empaqueta y envía sin recodificar. Los fotogramas solo se consumen después de llamar a setVideoEncoderConfig(isExternal=true) para el trackType correspondiente. No se requiere startVideoCapture/startScreenCapture.
| Parámetro | Tipo | Descripción |
|---|---|---|
| trackType | AoqTrackType | Tipo de pista |
| frame | AoqVideoEncodedFrame | Fotograma de video codificado externo. |
pushExternalVideoCapturedFrame consume fotogramas Video después de startVideoCapture(isExternal=true) y fotogramas Screen después de startScreenCapture(isExternal=true). Si el búfer interno está lleno, el método devuelve AoqECVideoExternalBufferFull (210).Captura de pantalla
trackType admite AoqTrackTypeAudio, AoqTrackTypeVideo y AoqTrackTypeScreen.
config especifica la configuración de captura de pantalla. El contenido de la pantalla se envía en la pista AoqTrackTypeScreen.
Para iniciar, 0 significa que la solicitud es aceptada; onScreenCaptureStateChanged informa el resultado de forma asíncrona. Un retorno distinto de cero rechaza la solicitud sincrónicamente. Detener devuelve 0 en caso de éxito o un valor distinto de cero en caso de fallo, e informa el estado detenido a través de este callback.
Con isExternal=false, el SDK captura mediante MediaProjection. Iniciar la captura nuevamente mientras está activa devuelve AoqECStateInvalid; detenerla es idempotente.
Para fotogramas sin procesar externos, establezca isExternal=true y proporcione fotogramas Screen sin procesar a través de pushExternalVideoCapturedFrame para la codificación del SDK. Para fotogramas codificados externamente, configure la pista Screen para codificación externa con setVideoEncoderConfig, luego llame a pushExternalVideoEncodedFrame; no se requiere startScreenCapture.
Control de transmisión de flujo de medios
enableSendMediaStream
Habilita o deshabilita el envío de un flujo de medios local, seleccionado por trackType. Cuando el envío está deshabilitado, la captura y la codificación continúan, pero los datos no se envían a través de la red.
| Parámetro | Tipo | Descripción |
|---|---|---|
| trackType | AoqTrackType | Tipo de pista. Admite AoqTrackTypeAudio/AoqTrackTypeVideo/AoqTrackTypeScreen. |
| enable | boolean | true habilita el envío; false deshabilita el envío. |
Devoluciones de llamada de cuadros de video
setVideoFrameObserver
Establece el listener de cuadros de video. Pase listener=null para eliminarlo.
| Parámetro | Tipo | Descripción |
|---|---|---|
| listener | AoqVideoFrameListener | Listener de fotogramas de video. Pase null para eliminarlo. |
enableVideoFrameObserver
Habilita o deshabilita las devoluciones de llamada de cuadros de video en la posición especificada.
| Parámetro | Tipo | Descripción |
|---|---|---|
| enabled | boolean | true habilita los callbacks; false los deshabilita. |
| videoSource | AoqVideoSource | Posición de la fuente de video: después de la captura, antes de la codificación o después de la decodificación remota |
| config | AoqVideoObserverConfig | Configuración de devolución de llamada. Use config.trackType para observar la pista de Video o Screen. |
Callbacks de AoqClientListener
AoqClientListener es el punto de entrega unificado para todos los eventos asíncronos del SDK. Todos los métodos de callback tienen una implementación vacía predeterminada, por lo que solo necesita sobrescribir los que le interesen.
Mensajes en tiempo real
sendDataMsg
Envía un mensaje de datos en tiempo real al extremo remoto. Llame a este método después de que connect tenga éxito y se haya llamado a enableSendMediaStream(Data, true).
| Parámetro | Tipo | Descripción |
|---|---|---|
| msg | AoqDataMsg | Mensaje de datos |
Callbacks de AoqClientListener
onError
Devolución de llamada de error del motor. Se activa cuando ocurre un error irrecuperable.
| Parámetro | Tipo | Descripción |
|---|---|---|
| code | int | Código de error correspondiente a un valor de enumeración AoqErrorCode |
| message | String | Descripción del error |
onWarning
Devolución de llamada de advertencia del motor. Se activa por excepciones recuperables que no impiden que el SDK continúe ejecutándose.
| Parámetro | Tipo | Descripción |
|---|---|---|
| code | int | Código de advertencia correspondiente a un valor de enumeración AoqWarningCode |
| message | String | Descripción de la advertencia |
onConnectionStatusChange
Devolución de llamada de cambio de estado de conexión. Transiciones de estado: Disconnected → Connecting → Connected/Failed → Disconnected.
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | AoqConnectionStatus | Estado de conexión actual |
onStats
Callback de estadísticas del motor. El SDK informa periódicamente estadísticas de publicación y suscripción de audio/video y estadísticas de red para monitorear la calidad de la llamada y las condiciones de la red, y diagnosticar problemas de audio/video.
| Parámetro | Tipo | Descripción |
|---|---|---|
| stats | AoqStats | Estadísticas de publicación y suscripción de audio/video/mensajes de datos, y estadísticas de red |
onAudioDeviceStateChanged
Callback para cambios en el estado de captura/reproducción del dispositivo de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| state | AoqAudioDeviceState | Estado del dispositivo de audio, incluyendo estado (código de estado) y motivo (motivo del error) |
onAudioDeviceRouteChanged
Callback para cambios en la ruta de salida de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| routeType | int | Ruta de salida de audio actual, correspondiente a un valor de enumeración AoqAudioDeviceRouteType |
onAudioDeviceInterrupted
Devolución de llamada de interrupción del dispositivo de audio. Se activa por interrupciones del sistema, como llamadas entrantes u otra aplicación que toma el enfoque de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| interrupt | boolean | true indica interrupción; false indica recuperación de la interrupción. |
onScreenCaptureStateChanged
Notifica cambios en el estado de captura de pantalla mediante AoqScreenCaptureStateCode y el AoqErrorCode unificado. Las notificaciones se entregan en orden en el hilo principal de Android.
| Parámetro | Tipo | Descripción |
|---|---|---|
| state | AoqScreenCaptureState | Estado de captura de pantalla, incluyendo estado (código de estado) y motivo (causa del error). |
onVideoDeviceStateChanged
Callback para cambios en el estado de captura del dispositivo de video.
| Parámetro | Tipo | Descripción |
|---|---|---|
| state | AoqVideoDeviceState | Estado del dispositivo de video, incluyendo estado (código de estado) y motivo (motivo del error) |
onAudioDeviceFocusChanged
Callback para cambios de enfoque de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| audioFocus | int | Constante AUDIOFOCUS_* de Android, como AUDIOFOCUS_GAIN, AUDIOFOCUS_LOSS o AUDIOFOCUS_LOSS_TRANSIENT |
onAudioFileState
Callback de estado de reproducción de archivo de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| state | AoqAudioFileState | Estado de reproducción del archivo de audio, incluyendo fileId, stateCode y errorCode |
onLocalAudioVolumeIndication
Reporta el volumen de audio capturado localmente. Se activa solo después de habilitar las indicaciones de volumen mediante enableLocalAudioVolumeIndication.
| Parámetro | Tipo | Descripción |
|---|---|---|
| volume | AoqAudioVolume | Información de volumen local, incluyendo isSpeech (si se detecta voz) y volume (volumen instantáneo suavizado [0-255]). |
onDataMsg
Callback para mensajes de datos en tiempo real recibidos.
| Parámetro | Tipo | Descripción |
|---|---|---|
| msg | AoqDataMsg | Mensaje de datos |
Devoluciones de llamada de AoqAudioFrameListener
Interfaz de listener de cuadros de audio. Todos los métodos tienen implementaciones predeterminadas vacías y se pueden sobrescribir según sea necesario.
| Método | Cuándo se activa | Parámetro |
|---|---|---|
| onCapturedAudioFrame | Cuando se captura un fotograma de audio sin procesar | frame: AoqAudioFrameData |
| onProcessCapturedAudioFrame | Fotograma de audio después del procesamiento 3A | frame: AoqAudioFrameData |
| onPublishAudioFrame | Fotograma de audio antes de la publicación | trackType: tipo de pista; frame: AoqAudioFrameData |
| onPlaybackAudioFrame | Fotograma de audio remoto antes de la reproducción | frame: AoqAudioFrameData |
onCapturedAudioFrame
Se invoca cuando se captura un cuadro de audio sin procesar. El cuadro contiene datos PCM no procesados.
| Parámetro | Tipo | Descripción |
|---|---|---|
| frame | AoqAudioFrameData | Datos de fotograma de audio capturado |
onProcessCapturedAudioFrame
Se invoca para un cuadro de audio después del procesamiento 3A, como la cancelación de eco y la supresión de ruido.
| Parámetro | Tipo | Descripción |
|---|---|---|
| frame | AoqAudioFrameData | Datos de trama de audio después del procesamiento 3A |
onPublishAudioFrame
Se invoca para un cuadro de audio antes de la publicación, inmediatamente antes de la codificación y la transmisión.
| Parámetro | Tipo | Descripción |
|---|---|---|
| trackType | AoqTrackType | Tipo de pista |
| frame | AoqAudioFrameData | Datos de trama de audio antes de la publicación |
onPlaybackAudioFrame
Se invoca para un cuadro de audio remoto antes de la reproducción, después de la decodificación y la mezcla.
| Parámetro | Tipo | Descripción |
|---|---|---|
| frame | AoqAudioFrameData | Datos de trama de audio remota antes de la reproducción |
Devoluciones de llamada de AoqVideoFrameListener
Interfaz de escucha de fotogramas de video. Todos los métodos tienen implementaciones predeterminadas que devuelven false, lo que indica que no hay modificación de datos. Cada uno de los tres callbacks incluye trackType para distinguir las pistas Video y Screen.
| Método | Cuándo se activa | Parámetro |
|---|---|---|
| onCapturedVideoFrame | Cuando se captura un fotograma de video sin procesar (antes del preprocesamiento) | trackType: tipo de pista; frame: AoqVideoFrameData |
| onPreEncodeVideoFrame | Fotograma de video antes de la codificación (después del preprocesamiento) | trackType: tipo de pista; frame: AoqVideoFrameData |
| onRemoteVideoFrame | Fotograma de video remoto después de la decodificación y antes del renderizado | trackType: tipo de pista; frame: AoqVideoFrameData |
onCapturedVideoFrame
Se invoca cuando se captura un cuadro de video sin procesar, antes del preprocesamiento.
| Parámetro | Tipo | Descripción |
|---|---|---|
| trackType | AoqTrackType | Tipo de pista (Video/Pantalla) |
| frame | AoqVideoFrameData | Datos de fotograma de video capturado |
onPreEncodeVideoFrame
Se invoca para un cuadro de video después del preprocesamiento y antes de la codificación.
| Parámetro | Tipo | Descripción |
|---|---|---|
| trackType | AoqTrackType | Tipo de pista (Video/Pantalla) |
| frame | AoqVideoFrameData | Datos de fotograma de video antes de la codificación |
onRemoteVideoFrame
Se invoca para un cuadro de video remoto después de la decodificación y antes de la renderización.
| Parámetro | Tipo | Descripción |
|---|---|---|
| trackType | AoqTrackType | Tipo de pista (Video/Pantalla) |
| frame | AoqVideoFrameData | Datos de fotograma de video remoto decodificado |
Tipos de datos y enumeraciones
Tipos comunes
AoqRelayEndpoint
Endpoint de retransmisión.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| routeIndex | int | -1 | Índice de ruta |
| endpoint | String | "" | Nombre de dominio o dirección IP del servidor de retransmisión |
| port | int | 0 | Puerto UDP del servidor de retransmisión |
| tcpPort | int | 0 | Puerto TCP del servidor de retransmisión |
AoqTrackParam
Propiedades de la pista.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| trackType | AoqTrackType | AoqTrackTypeAudio | Tipo de pista |
| trackMode | AoqTrackMode | AoqTrackModeSegment | Modo de transmisión o sin transmisión. Se aplica solo al audio descendente. |
AoqTrackParam.trackMode
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| trackMode | AoqTrackMode | AoqTrackModeSegment | Aplica solo a audio descendente. |
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
workDir | String | "" | Directorio de trabajo del SDK |
isBTScoMode | boolean | false | true para modo Bluetooth SCO; false: modo A2DP |
enableDumpAudio | boolean | false | Habilitar volcado de audio (para depuración) |
extras | String | "" | Cadena de parámetros adicionales |
| maxEncodedVideoFrameBytes | int | 190 × 1024 | Tamaño máximo del cuadro codificado en bytes. Aplica solo al codificador JPEG interno del SDK. |
| enableDropOversizedVideoFrame | boolean | false | Para el codificador JPEG interno del SDK, si se debe descartar un cuadro que sigue siendo demasiado grande incluso con la calidad más baja. |
subscribeTracks no debe incluir AoqTrackTypeScreen; de lo contrario, connect devuelve AoqECUnSupport sin iniciar una conexión. setRemoteView también devuelve AoqECUnSupport para Screen.
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
token | String | "" | Token de autenticación |
sid | String | "" | ID de sesión |
certFingerprint | String | "" | Huella digital del certificado del servidor |
relayEndpoints | List<AoqRelayEndpoint> | vacío | Lista de endpoints de Relay |
workspaceIdHash | String | "" | Hash del ID del espacio de trabajo |
publishTracks | List<AoqTrackParam> | vacío | Pistas locales para publicar |
subscribeTracks | List<AoqTrackParam> | vacío | Pistas remotas a suscribir |
Tipos de estadísticas
AoqNetworkStats
Campo | Tipo | Descripción |
|---|---|---|
sendBitrate | int | Tasa de bits de envío (bps) |
sendBytes | long | Bytes enviados acumulados |
recvBitrate | int | Tasa de bits de recepción (bps) |
recvBytes | long | Bytes acumulados recibidos |
loss | int | Tasa de pérdida de paquetes (0–100) |
rtt | int | Tiempo de ida y vuelta (ms) |
AoqStats
Estadísticas del motor. Se reportan periódicamente a través de onStats. Todos los campos pueden ser null.
| Campo | Tipo | Descripción |
|---|---|---|
| audioPublishStats | Arreglo de AoqAudioPublishStats | Arreglo de estadísticas de publicación de audio (@Nullable) |
| videoPublishStats | Arreglo de AoqVideoPublishStats | Arreglo de estadísticas de publicación de video (@Nullable) |
| dataMsgPublishStats | Arreglo de AoqDataMsgPublishStats | Arreglo de estadísticas de publicación de mensajes de datos (@Nullable) |
| audioSubscribeStats | Arreglo de AoqAudioSubscribeStats | Arreglo de estadísticas de suscripción de audio (@Nullable) |
| videoSubscribeStats | Arreglo de AoqVideoSubscribeStats | Arreglo de estadísticas de suscripción de video (@Nullable) |
| dataMsgSubscribeStats | Arreglo de AoqDataMsgSubscribeStats | Arreglo de estadísticas de suscripción de mensajes de datos (@Nullable) |
| networkStats | AoqNetworkStats | Estadísticas de red (@Nullable) |
AoqAudioPublishStats
Estadísticas de publicación de audio.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| trackType | AoqTrackType | AoqTrackTypeAudio | Tipo de pista |
| bitrate | int | 0 | Tasa de bits en bps |
| bytes | long | 0 | Total de bytes enviados |
| encodeVolume | int | 0 | Volumen de codificación de publicación |
AoqVideoPublishStats
Estadísticas de publicación de video.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| trackType | AoqTrackType | AoqTrackTypeVideo | Tipo de pista |
| bitrate | int | 0 | Tasa de bits en bps |
| bytes | long | 0 | Total de bytes enviados |
| encodeFps | int | 0 | Tasa de cuadros de codificación |
AoqDataMsgPublishStats
Estadísticas de publicación de mensajes de datos.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| trackType | AoqTrackType | AoqTrackTypeData | Tipo de pista |
| bitrate | int | 0 | Tasa de bits en bps |
| bytes | long | 0 | Total de bytes enviados |
AoqAudioSubscribeStats
Estadísticas de suscripción de audio.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| trackType | AoqTrackType | AoqTrackTypeAudio | Tipo de pista |
| bitrate | int | 0 | Tasa de bits en bps |
| bytes | long | 0 | Total de bytes recibidos |
| playVolume | int | 0 | Volumen de reproducción |
AoqVideoSubscribeStats
Estadísticas de suscripción de video.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| trackType | AoqTrackType | AoqTrackTypeVideo | Tipo de pista |
| bitrate | int | 0 | Tasa de bits en bps |
| bytes | long | 0 | Total de bytes recibidos |
| decodeFps | int | 0 | Tasa de fotogramas de decodificación |
| renderFps | int | 0 | Tasa de fotogramas de renderizado |
AoqDataMsgSubscribeStats
Estadísticas de suscripción a mensajes de datos.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| trackType | AoqTrackType | AoqTrackTypeData | Tipo de pista |
| bitrate | int | 0 | Tasa de bits en bps |
| bytes | long | 0 | Total de bytes recibidos |
Enumeraciones
AoqTrackMode
| Valor | Número | Descripción |
|---|---|---|
| AoqTrackModeSegment | 0 | Modo de segmento: entrega datos en segmentos semánticos, como oraciones. Aplica solo al audio descendente. |
| AoqTrackModeStream | 1 | Modo de flujo: entrega datos de forma continua. Aplica solo al audio descendente. |
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqECOK | 0 | Éxito |
AoqECParamInvalid | 1 | Parámetro no válido |
AoqECStateInvalid | 2 | Estado no válido |
AoqECUnSupport | 3 | No compatible |
AoqECAudio | 100 | Error genérico de audio |
AoqECAudioExternalBufferFull | 110 | Búfer de audio externo lleno |
AoqECAudioDevice | 120 | Error genérico de dispositivo de audio |
AoqECAudioDeviceRecordingAuthFailed | 121 | Permiso de grabación no concedido |
AoqECAudioDeviceRecordingOccupied | 122 | Dispositivo de grabación en uso |
AoqECAudioDeviceRecordingBackgroundStart | 123 | Error al iniciar la grabación en segundo plano |
AoqECAudioDeviceRecordingStartFail | 124 | Error al iniciar la grabación |
AoqECAudioDevicePlayoutOccupied | 125 | Dispositivo de reproducción en uso |
AoqECAudioDevicePlayoutBackgroundStart | 126 | Error al iniciar la reproducción en segundo plano |
AoqECAudioDevicePlayoutStartFail | 127 | Error al iniciar la reproducción |
AoqECAudioDeviceEarpieceRequiresVoipMode | 128 | El auricular requiere modo VoIP |
AoqECVideo | 200 | Error genérico de video |
AoqECVideoExternalBufferFull | 210 | Búfer de video externo lleno |
AoqECVideoExternalCaptureNotEnabled | 211 | Captura de video externa no habilitada |
AoqECVideoExternalEncoderNotEnabled | 212 | Codificador de video externo no habilitado |
AoqECVideoDevice | 220 | Error genérico de dispositivo de video |
AoqECVideoDeviceCameraOpenFail | 221 | Error al abrir la cámara |
AoqECVideoDeviceCameraAuthFailed | 222 | Permiso de cámara no concedido |
AoqECVideoDeviceCameraOccupied | 223 | Cámara en uso |
AoqECVideoDeviceCameraRunningError | 224 | Error de ejecución de la cámara |
AoqECVideoCodec | 230 | Error genérico del códec de video |
AoqECVideoCodecEncoderInitFail | 231 | Error en la inicialización del codificador de video |
AoqECVideoRender | 240 | Error genérico de renderizado de video |
AoqECVideoRenderCreateFail | 241 | Fallo en la creación del renderizador de video |
AoqECVideoRenderDrawError | 242 | Error de dibujo en renderizado de video |
| AoqECScreen | 300 | Error general de uso compartido de pantalla |
| AoqECScreenAuthFailed | 310 | Permiso de uso compartido de pantalla denegado |
| AoqECScreenStartFailed | 311 | Error al iniciar el uso compartido de pantalla |
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqWCOK | 0 | Sin advertencia |
AoqWCAudio | 100 | Advertencia genérica de audio |
AoqWCAudioHowling | 101 | Acople de audio detectado |
AoqWCAudioDevice | 120 | Advertencia genérica de dispositivo de audio |
AoqWCAudioDeviceMicEnumerateError | 121 | Error de enumeración de micrófono |
AoqWCAudioDeviceMicStartTimeout | 122 | Tiempo de espera agotado al iniciar el micrófono |
AoqWCAudioDeviceRecordingError | 123 | Error de grabación |
AoqWCAudioDeviceSpeakerEnumerateError | 124 | Error de enumeración de altavoces |
AoqWCAudioDeviceSpeakerStartTimeout | 125 | Tiempo de espera agotado al iniciar el altavoz |
AoqWCAudioDevicePlayoutError | 126 | Error de reproducción |
AoqWCVideo | 200 | Advertencia genérica de video |
AoqWCVideoCameraEnumerateError | 201 | Error de enumeración de cámaras |
AoqWCVideoEncoderSwitched | 202 | Codificador de video cambiado |
AoqWCVideoRenderDowngrade | 203 | Renderizado de video degradado |
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqTrackTypeAudio | 0 | Pista de audio |
AoqTrackTypeVideo | 1 | Pista de video |
AoqTrackTypeData | 2 | Pista de mensajería de datos |
| AoqTrackTypeScreen | 3 | Pista de pantalla compartida. Solo enlace ascendente. |
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqEncoderTypeUnknown | 0 | Formato desconocido |
AoqEncoderTypeAudioPCM | 1 | Audio PCM |
AoqEncoderTypeAudioOpus | 2 | Audio Opus |
AoqEncoderTypeVideoH264 | 3 | Video H.264 |
AoqEncoderTypeVideoJpeg | 4 | Video JPEG |
AoqEncoderTypeDataText | 5 | Texto de datos |
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqConnectionStatusDisconnected | 0 | Desconectado |
AoqConnectionStatusConnecting | 1 | Conectando |
AoqConnectionStatusConnected | 2 | Conectado |
AoqConnectionStatusFailed | 3 | Error de conexión |
AoqMirrorMode
Modo espejo.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqMirrorModeDisabled | 0 | Espejo deshabilitado |
| AoqMirrorModeEnabled | 1 | Espejo habilitado |
AoqOrientationMode
Orientación del video.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqOrientationModeAuto | 0 | Automático |
| AoqOrientationModePortrait | 1 | Vertical |
| AoqOrientationModeLandscape | 2 | Horizontal |
Tipos de audio
AoqAudioCaptureConfig
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
isExternal | boolean | false | Si se debe usar el modo de captura externa |
isVoipMode | boolean | false | Si se debe habilitar el modo VoIP (afecta el enrutamiento del dispositivo, por ejemplo, el auricular) |
channel | int | 1 | Número de canales (predeterminado: mono) |
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
isVoipMode | boolean | false | Si se debe habilitar el modo VoIP (AEC por hardware); aplica a dispositivos móviles |
isDefaultSpeaker | boolean | true | Si se debe usar el altavoz por defecto; aplica a móviles |
isExternal | boolean | false | Si se debe usar el modo de reproducción externa |
channel | int | 1 | Número de canales (predeterminado: mono) |
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
trackType | AoqTrackType | Audio | Tipo de pista |
codecType | AoqEncoderType | AudioOpus | Formato de códec |
sampleRate | int | 48000 | Frecuencia de muestreo (Hz) |
channel | int | 1 | Recuento de canales |
bitrate | int | 32000 | Tasa de bits (bps) |
AoqAudioDeviceStateCode
Códigos de estado de captura y reproducción del dispositivo de audio.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioDeviceNone | 0 | Sin estado |
| AoqAudioDeviceRecordStarting | 1 | Iniciando captura |
| AoqAudioDeviceRecordStarted | 2 | Captura iniciada |
| AoqAudioDeviceRecordStopping | 3 | Deteniendo captura |
| AoqAudioDeviceRecordStopped | 4 | Captura detenida |
| AoqAudioDeviceRecordFail | 5 | Error en la captura |
| AoqAudioDevicePlayStarting | 6 | Iniciando reproducción |
| AoqAudioDevicePlayStarted | 7 | Reproducción iniciada |
| AoqAudioDevicePlayStopping | 8 | Deteniendo reproducción |
| AoqAudioDevicePlayStopped | 9 | Reproducción detenida |
| AoqAudioDevicePlayFail | 10 | Error en la reproducción |
AoqAudioDeviceState
Estado de captura y reproducción del dispositivo de audio.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| state | AoqAudioDeviceStateCode | AoqAudioDeviceNone | Estado de operación del dispositivo |
| reason | int | 0 | Código de motivo de error (consulte AoqErrorCode) |
AoqAudioDeviceRouteType
Tipos de ruta de dispositivo de audio.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioDeviceRouteDefault | 0 | Ruta predeterminada |
| AoqAudioDeviceRouteHeadset | 1 | Auriculares con micrófono |
| AoqAudioDeviceRouteEarpiece | 2 | Auricular |
| AoqAudioDeviceRouteHeadsetNoMic | 3 | Auriculares sin micrófono |
| AoqAudioDeviceRouteSpeakerPhone | 4 | Altavoz |
| AoqAudioDeviceRouteUsb | 5 | Dispositivo de audio USB |
| AoqAudioDeviceRouteBluetooth | 6 | Modo Bluetooth SCO |
| AoqAudioDeviceRouteBluetoothA2dp | 7 | Modo Bluetooth A2DP |
Tipos de archivos de audio
AoqAudioFileMixConfig
Configuración de reproducción de archivos de audio.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| fileName | String | "" | Nombre del archivo incluyendo su ruta. No debe estar vacío. |
| cycles | int | -1 | Recuento de bucles. -1 realiza un bucle indefinidamente. |
| startPosMs | long | 0 | Posición inicial de reproducción en milisegundos |
| publishVolume | int | 100 | Volumen de publicación. Valores válidos: 0-100. |
| playoutVolume | int | 100 | Volumen de reproducción. Valores válidos: 0-100. |
AoqAudioFileStateCode
Códigos de estado de reproducción de archivo de audio.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioFileNone | 0 | Sin estado |
| AoqAudioFileStarted | 1 | Reproducción iniciada |
| AoqAudioFileStopped | 2 | Reproducción detenida |
| AoqAudioFilePaused | 3 | Reproducción en pausa |
| AoqAudioFileResumed | 4 | Reproducción reanudada |
| AoqAudioFileEnded | 5 | Reproducción finalizada |
| AoqAudioFileBuffering | 6 | Almacenamiento en búfer de reproducción |
| AoqAudioFileBufferingEnd | 7 | Almacenamiento en búfer finalizado |
| AoqAudioFileFailed | 8 | Error en la reproducción |
AoqAudioFileErrorCode
Códigos de error de reproducción de archivo de audio.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioFileNoError | 0 | Sin error |
| AoqAudioFileOpenFailed | 1 | Error al abrir el archivo |
| AoqAudioFileDecodeFailed | 2 | Error al decodificar el archivo |
AoqAudioFileState
Estado del archivo de audio.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| fileId | String | "" | Identificador de archivo |
| stateCode | AoqAudioFileStateCode | AoqAudioFileNone | Código de estado de reproducción del archivo |
| errorCode | AoqAudioFileErrorCode | AoqAudioFileNoError | Código de error del archivo |
Flujo de audio externo y tipos de volumen
AoqAudioExternalStreamToggle
Estados de alternancia de secuencia de audio externa.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioExternalStreamToggleNormal | 0 | Estado normal |
| AoqAudioExternalStreamTogglePause | 1 | Estado en pausa |
AoqAudioFrameData
Datos de fotograma de audio externo.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| dataPtr | matriz de bytes | null | Datos de audio PCM sin procesar (@Nullable) |
| dataSize | int | 0 | Tamaño de datos PCM en bytes |
| numOfSamples | int | 0 | Número de muestras por canal |
| bytesPerSample | int | 0 | Bytes por muestra |
| numOfChannels | int | 0 | Número de canales |
| samplesPerSec | int | 0 | Muestras por segundo (tasa de muestreo) |
| pushSequence | int | 0 | Ronda de entrada PCM |
| timeStamp | long | 0 | Marca de tiempo |
| autoGenMute | boolean | false | Válido en callbacks de datos. true indica silencio generado por el SDK. |
AoqAudioSource
Fuentes de datos del callback de tramas de audio.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioSourceCaptured | 0 | Datos de audio capturados |
| AoqAudioSourceProcessCaptured | 1 | Datos de audio después del procesamiento 3A |
| AoqAudioSourcePublish | 2 | Datos de audio publicados |
| AoqAudioSourcePlayback | 3 | Datos de audio de reproducción |
AoqAudioObserverMode
Modos de callback de fotogramas de audio.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioObserverModeReadOnly | 0 | Modo de solo lectura |
| AoqAudioObserverModeReadWrite | 1 | Modo de lectura y escritura |
AoqAudioObserverConfig
Configuración del callback de tramas de audio.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| sampleRate | int | 48000 | Tasa de muestreo de audio del callback en Hz |
| channels | int | 1 | Recuento de canales de audio del callback |
| mode | AoqAudioObserverMode | AoqAudioObserverModeReadOnly | Modo de lectura y escritura |
AoqAudioVolumeIndicationConfig
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| reportSpeech | boolean | false | Si se debe detectar voz. |
| interval | int | 0 | Intervalo de devolución de llamada en milisegundos. Los valores de 0 o menos deshabilitan las devoluciones de llamada; los valores entre 0 y 10 usan 10. |
| smooth | int | 3 | Factor de suavizado, de 0 a 10. Los valores más altos producen resultados más suaves. |
AoqAudioVolume
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| isSpeech | boolean | false | Si se detecta voz. |
| volume | int | 0 | Volumen instantáneo suavizado, de 0 a 255. |
Tipos de video
AoqRenderMode
Modos de renderizado.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqRenderModeAuto | 0 | Modo automático |
| AoqRenderModeStretch | 1 | Modo de estiramiento |
| AoqRenderModeFill | 2 | Modo de relleno |
| AoqRenderModeCrop | 3 | Modo de recorte |
AoqVideoCanvas
Lienzo de renderización de video.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| view | View | null | Android View utilizada para la renderización (@Nullable) |
| renderMode | AoqRenderMode | AoqRenderModeAuto | Modo de renderización |
AoqCameraDirection
Dirección de la cámara.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqCameraDirectionFront | 0 | Cámara frontal |
| AoqCameraDirectionBack | 1 | Cámara trasera |
AoqScreenCaptureConfig
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| isExternal | boolean | false | Si la aplicación suministra tramas de pantalla sin procesar. |
| mediaProjectionIntent | Intent | null | Pase un intent de permiso de MediaProjection existente, o null para permitir que el SDK solicite el permiso. Se ignora para la captura externa. |
| notificationFactory | AoqScreenShareNotificationFactory | null | Fábrica de notificaciones de servicio en primer plano. Null usa la notificación predeterminada. Se ignora para la captura externa. |
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
width | int | 1280 | Ancho de captura (píxeles); se ignora cuando |
height | int | 720 | Altura de captura (píxeles); se ignora cuando |
fps | int | 15 | Tasa de cuadros de captura; se ignora cuando |
isExternal | boolean | false | Modo de captura externa; cuando es true, la cámara no se abre |
cameraDirection | AoqCameraDirection | Frontal | Dirección de la cámara; ignorada cuando |
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
trackType | AoqTrackType | Video | Tipo de pista |
codecType | AoqEncoderType | VideoH264 | Formato de códec |
width | int | 540 | Ancho de codificación (píxeles) |
height | int | 960 | Alto de codificación (píxeles) |
fps | int | 5 | Tasa de cuadros de codificación |
bitrate | int | 500000 | Tasa de bits objetivo (bps) |
minBitrate | int | 128000 | Tasa de bits mínima (bps) |
keyframeInterval | int | 2 | Intervalo de fotogramas clave (segundos) |
mirrorMode | AoqMirrorMode | Deshabilitado | Modo espejo |
orientationMode | AoqOrientationMode | Automático | Modo de orientación de video |
isExternal | boolean | false | Cuando es true, el SDK omite la recodificación; use |
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqVideoPixelFormatUnknown | 0 | Formato desconocido |
AoqVideoPixelFormatI420 | 1 | I420 (YUV planar) |
AoqVideoPixelFormatNV12 | 2 | NV12 (YUV semi-planar) |
AoqVideoPixelFormatNV21 | 3 | NV21 (YUV semi-planar) |
AoqVideoPixelFormatBGRA | 4 | BGRA de 32 bits |
AoqVideoPixelFormatRGBA | 5 | RGBA de 32 bits |
AoqVideoPixelFormatTextureOES | 7 | Textura OES externa |
AoqVideoPixelFormatTexture2D | 8 | Textura 2D estándar |
AoqVideoFrame
Datos de video externos.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| format | AoqVideoPixelFormat | AoqVideoPixelFormatUnknown | Formato de píxel |
| width | int | 0 | Ancho del video en píxeles |
| height | int | 0 | Altura del video en píxeles |
| data | matriz de bytes | null | Datos en formato empaquetado (NV12/NV21/BGRA/RGBA) (@Nullable) |
| dataY | matriz de bytes | null | Datos del plano Y I420 (@Nullable) |
| dataU | matriz de bytes | null | Datos del plano U I420 (@Nullable) |
| dataV | matriz de bytes | null | Datos del plano V I420 (@Nullable) |
| strideY | int | 0 | Stride del plano Y |
| strideU | int | 0 | Stride del plano U |
| strideV | int | 0 | Stride del plano V |
| textureId | int | 0 | ID de textura (válido para TEXTURE_OES/TEXTURE_2D) |
| transformMatrix | matriz float | null | Matriz de transformación de textura de 4×4 en orden de filas (@Nullable) |
| eglContext | EGLContext | null | Contexto EGL compartido (@Nullable) |
| timeStamp | long | 0 | Marca de tiempo en milisegundos. Si es 0, el SDK la completa utilizando el reloj local. |
AoqVideoCodecType
Tipo de códec para tramas codificadas externamente.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqVideoCodecTypeJPEG | 0 | Codificación JPEG |
AoqVideoEncodedFrame
Cuadro de video codificado externamente. La aplicación codifica el cuadro; el SDK lo empaqueta y lo envía sin recodificar.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| codec | AoqVideoCodecType | AoqVideoCodecTypeJPEG | Formato de codificación |
| data | matriz de bytes | null | Datos codificados (@Nullable) |
| width | int | 0 | Ancho en píxeles |
| height | int | 0 | Altura en píxeles |
| timeStamp | long | 0 | Marca de tiempo en milisegundos. Si es 0, el SDK la completa utilizando el reloj local. |
AoqVideoDeviceStateCode
Códigos de estado de captura del dispositivo de video.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqVideoDeviceNone | 0 | Sin estado |
| AoqVideoDeviceCaptureStarting | 1 | Iniciando captura |
| AoqVideoDeviceCaptureStarted | 2 | Captura iniciada |
| AoqVideoDeviceCaptureStopping | 3 | Deteniendo captura |
| AoqVideoDeviceCaptureStopped | 4 | Captura detenida |
| AoqVideoDeviceCaptureFail | 5 | Error en la captura |
AoqVideoDeviceState
Estado de captura del dispositivo de video.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| state | AoqVideoDeviceStateCode | AoqVideoDeviceNone | Estado de captura del dispositivo |
| reason | int | 0 | Código de motivo de error (consulte AoqErrorCode) |
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
trackType | AoqTrackType | Audio | Tipo de pista de audio |
codecType | AoqEncoderType | AudioPCM | Formato de flujo de audio |
channels | int | 1 | Recuento de canales |
sampleRate | int | 48000 | Frecuencia de muestreo (Hz) |
playoutVolume | int | 100 | Volumen de reproducción [0–100] |
publishVolume | int | 100 | Volumen de publicación [0–100] |
maxBufferDuration | int | 1000 | Duración máxima del búfer (milisegundos) |
enable3A | boolean | false | Si se debe aplicar el procesamiento 3A al PCM de entrada |
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqAudioStreamPublish | 0 | Publicar flujo (enviar) |
AoqAudioStreamPlayout | 1 | Flujo de reproducción (recibir) |
AoqScreenCaptureStateCode
| Valor | Número | Descripción |
|---|---|---|
| AoqScreenCaptureNone | 0 | None |
| AoqScreenCaptureStarting | 1 | Iniciando |
| AoqScreenCaptureStarted | 2 | Entrada lista; no indica transmisión |
| AoqScreenCaptureStopping | 3 | Deteniendo |
| AoqScreenCaptureStopped | 4 | Detenido |
| AoqScreenCaptureFail | 5 | Fallo de inicio o de ejecución |
AoqScreenCaptureState
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| state | AoqScreenCaptureStateCode | AoqScreenCaptureNone | Estado de la captura de pantalla. |
| reason | int | 0 | 0 para estados normales; un AoqErrorCode en caso de fallo. |
AoqScreenShareNotificationFactory
createNotificationChannel antes de devolver una notificación personalizada; de lo contrario, el servicio en primer plano no se iniciará.
Tipos de callback de fotogramas de video
AoqVideoSource
Fuentes de datos del callback de tramas de video (posiciones en la tubería).
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqVideoSourceCaptured | 0 | Datos de video después de la captura (antes del preprocesamiento) |
| AoqVideoSourcePreEncode | 1 | Datos de video antes de la codificación (después del preprocesamiento) |
| AoqVideoSourceRemote | 2 | Datos de video remoto después de la decodificación y antes de la renderización |
AoqVideoObserverMode
Modos de callback de fotogramas de video.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqVideoObserverModeReadOnly | 0 | Modo de solo lectura |
| AoqVideoObserverModeReadWrite | 1 | Modo de lectura y escritura |
AoqVideoObserverAlignment
Alineación del ancho de salida de video.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqVideoObserverAlignmentDefault | 0 | Alineación predeterminada |
| AoqVideoObserverAlignmentEven | 1 | Alineación par |
| AoqVideoObserverAlignment4 | 2 | Alineación de 4 bytes |
| AoqVideoObserverAlignment8 | 3 | Alineación de 8 bytes |
| AoqVideoObserverAlignment16 | 4 | Alineación de 16 bytes |
AoqVideoObserverConfig
Configuración del callback de tramas de video.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| trackType | AoqTrackType | AoqTrackTypeVideo | Pista de video a observar. Solo se admiten Video y Screen. |
| format | AoqVideoPixelFormat | AoqVideoPixelFormatI420 | Formato de píxel de callback deseado |
| alignment | AoqVideoObserverAlignment | AoqVideoObserverAlignmentDefault | Política de alineación de ancho |
| mode | AoqVideoObserverMode | AoqVideoObserverModeReadOnly | Modo de lectura/escritura. Solo I420 admite acceso de lectura y escritura. |
| mirrorApplied | boolean | false | Indica si se deben reflejar los datos del callback |
AoqVideoFrameData
Datos de callback de fotograma de video. Los campos byte/texture hacen referencia a memoria interna del SDK y solo son válidos durante el callback. Realice una copia para uso asíncrono.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| format | AoqVideoPixelFormat | AoqVideoPixelFormatUnknown | Formato de píxel |
| width | int | 0 | Ancho en píxeles |
| height | int | 0 | Altura en píxeles |
| data | ByteBuffer | null | Datos en formato empaquetado (NV12/NV21/BGRA/RGBA). El ByteBuffer directo hace referencia a memoria nativa (@Nullable). |
| dataY | ByteBuffer | null | Plano Y I420 (@Nullable) |
| dataU | ByteBuffer | null | Plano U I420 (@Nullable) |
| dataV | ByteBuffer | null | Plano V I420 (@Nullable) |
| strideY | int | 0 | Stride del plano Y |
| strideU | int | 0 | Stride del plano U |
| strideV | int | 0 | Stride del plano V |
| textureId | int | 0 | ID de textura (válido para TEXTURE_OES/TEXTURE_2D) |
| transformMatrix | matriz float | null | Matriz de transformación de textura de 4×4 en orden de filas (válida para TEXTURE_OES/TEXTURE_2D) (@Nullable) |
| timeStamp | long | 0 | Marca de tiempo en milisegundos |
Tipos de mensajes de datos
AoqDataMsg
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
data | byte[] | new byte[0] | Datos del mensaje (matriz de bytes) |