Skip to main content

Referencia de API de AOQ Client SDK para Windows

Este tema describe las API de C++, los callbacks y los tipos de datos de AOQ Client SDK para Windows.

El SDK de AOQ proporciona API generales de video. Qwen-Audio-Realtime no admite entrada ni salida de video. Para conocer las capacidades de medios de otros modelos, consulte su documentación de conexión.
El SDK mantiene la instancia del motor como un singleton global, proporciona API a través de la clase AoqClientEngine e informa eventos asíncronos a través de la clase abstracta AoqEngineEventListener. Todas las definiciones de tipos residen en el espacio de nombres AoqClientSdk, y el archivo de cabecera es AoqClientEngine.h.
El invocador es responsable del ciclo de vida de todas las cadenas const char*. Deben permanecer válidas al menos hasta que finalice la llamada correspondiente. El motor las copia internamente según sea necesario.

Índice de API

Ciclo de vida del motor

APIDescripción
createEngineCrear una instancia del motor (singleton)
destroyDestruir la instancia del motor
getVersionObtener la versión del SDK
connectConectar al servidor Relay
disconnectDesconectar del servidor

Gestión de dispositivos de audio

APIDescripción
startAudioCaptureAbrir el dispositivo de captura de audio (micrófono)
stopAudioCaptureCerrar el dispositivo de captura de audio
muteAudioCaptureSilenciar o reactivar la captura de audio
startAudioPlayerIniciar renderizado de audio (reproducción de audio remoto)
stopAudioPlayerDetener la renderización de audio
pauseAudioPlayerPausar el renderizado de audio (con desvanecimiento opcional)
resumeAudioPlayerReanudar el renderizado de audio (con aparición gradual opcional)
interruptAudioPlayerInterrumpir la sesión de audio actual
enableLocalAudioVolumeIndicationHabilitar o deshabilitar la indicación de volumen de captura local

Configuración de codificación de audio

APIDescripción
setAudioEncoderConfigEstablecer parámetros de codificación de audio
setAudioDecoderConfigEstablecer parámetros de decodificación de audio

Gestión de dispositivos de video

APIDescripción
startVideoCaptureAbrir el dispositivo de captura de video (cámara)
stopVideoCaptureCerrar el dispositivo de captura de video
setLocalViewEstablecer o eliminar la ventana de renderizado de video local
setRemoteViewEstablecer o eliminar la ventana de renderizado de video remoto

Codificación de video y entrada externa

APIDescripción
setVideoEncoderConfigEstablecer parámetros de codificación de video
setVideoDecoderConfigEstablecer parámetros de decodificación de video
pushExternalVideoCapturedFrameEnviar tramas de video capturadas externamente
pushExternalVideoEncodedFrameEnviar tramas de video codificadas externamente

Captura de pantalla

APIDescripción
getScreenSourceListObtener la lista de fuentes de captura de pantalla (solo escritorio)
startScreenCaptureIniciar la captura de pantalla
stopScreenCaptureDetener la captura de pantalla

Control de transmisión de flujo de medios

APIDescripción
enableSendMediaStreamHabilitar o deshabilitar la transmisión de secuencia de medios local

Reproducción de archivos de audio

APIDescripción
startAudioFileIniciar la reproducción y publicación de un archivo de audio local
stopAudioFileDetener la reproducción del archivo de audio
pauseAudioFilePausar la reproducción del archivo de audio
resumeAudioFileReanudar la reproducción del archivo de audio
getAudioFileDurationObtener la duración total del archivo de audio
getAudioFileCurrentPositionObtener la posición de reproducción actual del archivo de audio
setAudioFilePositionMillisBuscar una posición en el archivo de audio
setAudioFileVolumeEstablecer el volumen del archivo de audio
getAudioFileVolumeObtener el volumen actual del archivo de audio

Secuencias de audio externas

APIDescripción
addAudioExternalStreamAgregar un flujo de audio externo
pushAudioExternalStreamDataEnviar datos de audio PCM externos
setAudioExternalStreamVolumeEstablecer el volumen de la secuencia de audio externa
getAudioExternalStreamVolumeObtener el volumen de la secuencia de audio externa
clearAudioExternalStreamBufferBorrar el búfer de la secuencia de audio externa
removeAudioExternalStreamEliminar un flujo de audio externo

Mensajes en tiempo real

APIDescripción
sendDataMsgEnviar un mensaje de datos en tiempo real

Devoluciones de llamada de cuadros de audio

APIDescripción
setAudioFrameObserverEstablecer el listener del callback de tramas de audio
enableAudioFrameObserverHabilitar o deshabilitar callbacks de tramas de audio en una etapa específica

Devoluciones de llamada de cuadros de video

APIDescripción
setVideoFrameObserverEstablecer el listener del callback de tramas de video
enableVideoFrameObserverHabilitar o deshabilitar callbacks de tramas de video en una etapa específica

AoqEngineEventListener

APIDescripción
onErrorCallback de error del motor
onWarningCallback de advertencia del motor
onConnectionStatusChangeCallback de cambio de estado de conexión
onStatsCallback de estadísticas del motor
onAudioDeviceStateChangedCallback de cambio de estado de operación del dispositivo de audio
onAudioDeviceRouteChangedCallback de cambio de ruta de salida de audio
onAudioFileStateCallback de estado de reproducción de archivo de audio
onLocalAudioVolumeIndicationCallback de indicación de volumen de captura local
onVideoDeviceStateChangedCallback de cambio de estado de operación del dispositivo de video
onDataMsgCallback de mensaje de datos en tiempo real recibido

IAudioFrameObserver

APIDescripción
onCapturedAudioFrameCallback para audio capturado sin procesar. Habilítelo con enableAudioFrameObserver y audioSource = AoqAudioSourceCaptured. Admite frecuencia de muestreo y número de canales configurables, y acceso de lectura/escritura.
onProcessCapturedAudioFrameCallback para audio después del procesamiento 3A. Habilítelo con enableAudioFrameObserver y audioSource = AoqAudioSourceProcessCaptured. Admite frecuencia de muestreo y número de canales configurables, y acceso de lectura/escritura.
onPublishAudioFrameCallback para audio antes de la publicación. Habilítelo con enableAudioFrameObserver y audioSource = AoqAudioSourcePublish. Admite frecuencia de muestreo y número de canales configurables. Solo acceso de lectura.
onPlaybackAudioFrameCallback para audio de reproducción. Habilítelo con enableAudioFrameObserver y audioSource = AoqAudioSourcePlayback. Admite frecuencia de muestreo y número de canales configurables, y acceso de lectura/escritura.

IVideoFrameObserver

APIDescripción
onCapturedVideoFrameCallback para video sin procesar capturado localmente antes del preprocesamiento. Habilítelo con enableVideoFrameObserver y videoSource = AoqVideoSourceCaptured.
onPreEncodeVideoFrameCallback para video sin procesar local después del preprocesamiento y antes de la codificación. Habilítelo con enableVideoFrameObserver y videoSource = AoqVideoSourcePreEncode.
onRemoteVideoFrameCallback para video sin procesar remoto después de la decodificación y antes del renderizado. Habilítelo con enableVideoFrameObserver y videoSource = AoqVideoSourceRemote.

Detalles de la API

Ciclo de vida del motor

createEngine

Crea la instancia del motor. El SDK mantiene el motor como un singleton global, por lo que llamar a este método nuevamente devuelve la instancia existente.
static AoqClientEngine* createEngine(const AoqCreateConfig& config,
                                     AoqEngineEventListener* listener);
Parámetros

Parámetros

Tipo

Descripción

config

const AoqCreateConfig&

Configuración de creación del motor. Para más información, consulte AoqCreateConfig.

listener

AoqEngineEventListener*

Listener de callbacks de eventos. Para más información, consulte AoqEngineEventListener.

Devuelve: Un puntero a la instancia del motor. Se devuelve nullptr en caso de error.

destroy

Destruye la instancia del motor. Después de destruir el motor, debe llamar a createEngine nuevamente antes de poder continuar usándolo.
static int destroy();
Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

getVersion

Obtiene la versión del SDK.
static const char* getVersion();
Devuelve: La cadena de versión.

connect

Se conecta al servidor de retransmisión. El servidor de aplicaciones obtiene parámetros de conexión AOQ temporales basados en el protocolo en uso y los envía al cliente. Para más información, consulte Autenticación por token.
virtual int connect(const AoqConnectConfig& config);
Parámetros

Parámetros

Tipo

Descripción

config

const AoqConnectConfig&

Configuración de autenticación de conexión. Para obtener más información, consulte AoqConnectConfig.

Devuelve: 0 indica que la llamada se despacha y se ejecuta de forma asíncrona; un valor distinto de cero indica que la validación de parámetros falló.

disconnect

Desconecta del servidor.
virtual int disconnect();
Devuelve: 0 indica que la llamada se despacha y se ejecuta de forma asíncrona; un valor distinto de cero indica un fallo.

Gestión de dispositivos de audio

startAudioCapture

Abre el dispositivo de captura de audio (micrófono).
virtual int startAudioCapture(const AoqAudioCaptureConfig& config);
Parámetros

Parámetros

Tipo

Descripción

config

const AoqAudioCaptureConfig&

Configuración de captura de audio. Para obtener más información, consulte AoqAudioCaptureConfig.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

stopAudioCapture

Cierra el dispositivo de captura de audio.
virtual int stopAudioCapture();
Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

muteAudioCapture

Silencia o reactiva la captura de audio.
virtual int muteAudioCapture(bool mute);
Parámetros

Parámetros

Tipo

Descripción

mute

bool

true silencia; false activa el sonido

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

startAudioPlayer

Inicia el renderizado de audio para reproducir audio remoto.
virtual int startAudioPlayer(const AoqAudioPlaybackConfig& config);
Parámetros

Parámetros

Tipo

Descripción

config

const AoqAudioPlaybackConfig&

Configuración de reproducción de audio. Para obtener más información, consulte AoqAudioPlaybackConfig.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

stopAudioPlayer

Detiene el renderizado de audio.
virtual int stopAudioPlayer();
Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

pauseAudioPlayer

Pausa el renderizado de audio, con soporte para desvanecimiento de salida.
virtual int pauseAudioPlayer(int fadeMs);
Parámetros

Parámetros

Tipo

Descripción

fadeMs

int

Duración del desvanecimiento de salida, en milisegundos. 0 indica pausa inmediata.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

resumeAudioPlayer

Reanuda el renderizado de audio, con soporte para desvanecimiento de entrada.
virtual int resumeAudioPlayer(int fadeMs);
Parámetros

Parámetros

Tipo

Descripción

fadeMs

int

Duración del desvanecimiento de entrada, en milisegundos. 0 indica reanudación inmediata.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

interruptAudioPlayer

Interrumpe la sesión de audio actual y detiene el audio que se está reproduciendo.
virtual int interruptAudioPlayer(AoqTrackType trackType, int fadeMs);
Parámetros

Parámetros

Tipo

Descripción

trackType

AoqTrackType

Tipo de pista. Para más información, consulte AoqTrackType.

fadeMs

int

Duración del desvanecimiento de salida, en milisegundos. 0 indica interrupción inmediata.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

enableLocalAudioVolumeIndication

Habilita o deshabilita la indicación de volumen de captura local. Una vez habilitada, la devolución de llamada onLocalAudioVolumeIndication se activa en el intervalo especificado por config.interval. Si config.interval <= 0, la devolución de llamada se deshabilita. Debe llamar a este método después de startAudioCapture para obtener datos de volumen.
virtual int enableLocalAudioVolumeIndication(const AoqAudioVolumeIndicationConfig& config);
Parámetros

Parámetros

Tipo

Descripción

config

const AoqAudioVolumeIndicationConfig&

Configuración de indicación de volumen. Para obtener más información, consulte AoqAudioVolumeIndicationConfig.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

Configuración de codificación de audio

setAudioEncoderConfig

Establece los parámetros de codificación de audio.
virtual int setAudioEncoderConfig(const AoqAudioCodecConfig& config);
Parámetros

Parámetros

Tipo

Descripción

config

const AoqAudioCodecConfig&

Configuración de códec de audio. Para más información, consulte AoqAudioCodecConfig.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

setAudioDecoderConfig

Establece los parámetros de decodificación de audio.
virtual int setAudioDecoderConfig(const AoqAudioCodecConfig& config);
Parámetros

Parámetros

Tipo

Descripción

config

const AoqAudioCodecConfig&

Configuración de códec de audio. Para más información, consulte AoqAudioCodecConfig.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

Gestión de dispositivos de video

startVideoCapture

Abre el dispositivo de captura de video (cámara). Cuando se configura isExternal=true, la cámara no se abre y los fotogramas son proporcionados por pushExternalVideoCapturedFrame.
virtual int startVideoCapture(const AoqVideoCaptureConfig& config);
Parámetros

Parámetros

Tipo

Descripción

config

const AoqVideoCaptureConfig&

Configuración de captura de video. Para obtener más información, consulte AoqVideoCaptureConfig.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

stopVideoCapture

Cierra el dispositivo de captura de video.
virtual int stopVideoCapture();
Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

setLocalView

Establece o elimina la ventana de renderizado de video local. Si canvas.view == nullptr, se elimina el vínculo.
virtual int setLocalView(AoqTrackType trackType, const AoqVideoCanvas& canvas);
Parámetros

Parámetros

Tipo

Descripción

trackType

AoqTrackType

Pista de video. Pase AoqTrackTypeVideo.

canvas

const AoqVideoCanvas&

Lienzo de renderizado. Para más información, consulte AoqVideoCanvas. Si view es nullptr, se elimina el vínculo.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

setRemoteView

Establece o elimina la ventana de renderizado de video remoto. Si canvas.view == nullptr, se elimina el vínculo.
virtual int setRemoteView(AoqTrackType trackType, const AoqVideoCanvas& canvas);
Parámetros

Parámetros

Tipo

Descripción

trackType

AoqTrackType

Pista de video. Pase AoqTrackTypeVideo.

canvas

const AoqVideoCanvas&

Lienzo de renderizado. Para más información, consulte AoqVideoCanvas. Si view es nullptr, se elimina el vínculo.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

Codificación de video y entrada externa

setVideoEncoderConfig

Establece los parámetros de codificación de video y los enruta basándose en config.trackType.
virtual int setVideoEncoderConfig(const AoqVideoCodecConfig& config);
Parámetros

Parámetros

Tipo

Descripción

config

const AoqVideoCodecConfig&

Configuración de códec de video. Para más información, consulte AoqVideoCodecConfig.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

setVideoDecoderConfig

Establece los parámetros de decodificación de video (una propuesta de códec en el lado de suscripción, que debe llamarse antes de connect). La llamada se enruta según config.trackType.
virtual int setVideoDecoderConfig(const AoqVideoCodecConfig& config);
Parámetros

Parámetros

Tipo

Descripción

config

const AoqVideoCodecConfig&

Configuración de códec de video. Para más información, consulte AoqVideoCodecConfig.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

pushExternalVideoCapturedFrame

Envía un fotograma de video externo. Primero debe llamar a startVideoCapture y configurar isExternal=true. Si no se ha iniciado la captura de video externa, se devuelve AoqECVideoExternalCaptureNotEnabled (211). Si el formato del fotograma no es compatible, se devuelve AoqECParamInvalid.
virtual int pushExternalVideoCapturedFrame(AoqTrackType trackType, const AoqVideoFrame& frame);
Parámetros

Parámetros

Tipo

Descripción

trackType

AoqTrackType

Destino de enrutamiento. Pase AoqTrackTypeVideo.

; AoqTrackTypeScreen también es compatible

frame

const AoqVideoFrame&

Datos de fotograma de video externo. Para más información, consulte AoqVideoFrame.

Devuelve: 0 en caso de éxito; AoqECVideoExternalBufferFull (210) indica que el búfer está lleno; AoqECVideoExternalCaptureNotEnabled (211) indica que la captura de video externa no está habilitada; AoqECParamInvalid indica un formato de fotograma no compatible; otros valores distintos de cero indican otros errores.

pushExternalVideoEncodedFrame

Envía un fotograma de video codificado externamente directamente, omitiendo el codificador. Primero debe llamar a setVideoEncoderConfig y configurar isExternal=true. Actualmente solo se admite JPEG.
virtual int pushExternalVideoEncodedFrame(AoqTrackType trackType, const AoqVideoEncodedFrame& frame);
Parámetros

Parámetros

Tipo

Descripción

trackType

AoqTrackType

Destino de enrutamiento. Pase AoqTrackTypeVideo.

; AoqTrackTypeScreen también es compatible

frame

const AoqVideoEncodedFrame&

Datos de fotograma codificados externamente. Para obtener más información, consulte AoqVideoEncodedFrame.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

Captura de pantalla

virtual int startScreenCapture(const AoqScreenCaptureConfig& config);
virtual int stopScreenCapture();
config especifica la configuración de captura de pantalla. El contenido de la pantalla se envía en la pista AoqTrackTypeScreen. Devuelve 0 en caso de éxito o un valor distinto de cero en caso de fallo. Estos métodos devuelven sincrónicamente y no proporcionan un callback onScreenCaptureStateChanged. Llame a getScreenSourceList para enumerar pantallas y ventanas, luego pase los valores seleccionados de sourceId y sourceType en la configuración de captura. Para cuadros sin procesar externos, establezca isExternal=true y proporcione cuadros de Pantalla sin procesar a través de pushExternalVideoCapturedFrame para la codificación del SDK. Para cuadros codificados externamente, configure la pista de Pantalla para codificación externa con setVideoEncoderConfig, luego llame a pushExternalVideoEncodedFrame.

getScreenSourceList

virtual AoqScreenSourceList getScreenSourceList();
Devuelve una lista de fuentes de pantalla. Llame a AoqScreenSourceList::screenSourceListFree(list) después de su uso para liberar su memoria.

Control de transmisión de flujo de medios

enableSendMediaStream

Habilita o deshabilita el envío de un flujo de medios local. Le recomendamos deshabilitar el envío después de la inicialización y habilitarlo solo después de que la devolución de llamada onConnectionStatusChange informe AoqConnectionStatusConnected.
virtual int enableSendMediaStream(AoqTrackType trackType, bool enable);
Parámetros

Parámetros

Tipo

Descripción

trackType

AoqTrackType

Destino de enrutamiento. Se admiten AoqTrackTypeAudio y AoqTrackTypeVideo.

; también admite AoqTrackTypeScreen

enable

bool

true habilita el envío; false deshabilita el envío

Devuelve: 0 indica que la llamada se despacha y se ejecuta de forma asíncrona; un valor distinto de cero indica un fallo.

Reproducción de archivos de audio

startAudioFile

Inicia la reproducción de un archivo de audio local en el flujo de publicación.
virtual int startAudioFile(const char* fileId, const AoqAudioFileMixConfig& config);
Parámetros

Parámetros

Tipo

Descripción

fileId

const char*

ID del archivo de audio. La capa de negocio debe garantizar que sea único.

config

const AoqAudioFileMixConfig&

Configuración de mezcla de archivos de audio. Para obtener más información, consulte AoqAudioFileMixConfig.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

stopAudioFile

Detiene la reproducción del archivo de audio.
virtual int stopAudioFile(const char* fileId);
Parámetros

Parámetros

Tipo

Descripción

fileId

const char*

ID del archivo de audio

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

pauseAudioFile

Pausa la reproducción del archivo de audio.
virtual int pauseAudioFile(const char* fileId);
Parámetros

Parámetros

Tipo

Descripción

fileId

const char*

ID del archivo de audio

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

resumeAudioFile

Reanuda la reproducción del archivo de audio.
virtual int resumeAudioFile(const char* fileId);
Parámetros

Parámetros

Tipo

Descripción

fileId

const char*

ID del archivo de audio

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

getAudioFileDuration

Obtiene la duración total del archivo de audio.
virtual int64_t getAudioFileDuration(const char* fileId);
Parámetros

Parámetros

Tipo

Descripción

fileId

const char*

ID del archivo de audio

Devuelve: Un valor mayor o igual a 0 indica la duración del archivo de audio, en milisegundos; un valor menor que 0 indica un error (-AoqErrorCode).

getAudioFileCurrentPosition

Obtiene la posición de reproducción actual del archivo de audio.
virtual int64_t getAudioFileCurrentPosition(const char* fileId);
Parámetros

Parámetros

Tipo

Descripción

fileId

const char*

ID del archivo de audio

Devuelve: Un valor mayor o igual a 0 indica la posición de reproducción actual, en milisegundos; un valor menor que 0 indica un error (-AoqErrorCode).

setAudioFilePositionMillis

Establece la posición de reproducción del archivo de audio (búsqueda).
virtual int setAudioFilePositionMillis(const char* fileId, int64_t positionMillis);
Parámetros

Parámetros

Tipo

Descripción

fileId

const char*

ID del archivo de audio

positionMillis

int64_t

Posición de reproducción, en milisegundos

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

setAudioFileVolume

Establece el volumen del archivo de audio.
virtual int setAudioFileVolume(const char* fileId, AoqAudioStreamDirection type, int volume);
Parámetros

Parámetros

Tipo

Descripción

fileId

const char*

ID del archivo de audio

type

AoqAudioStreamDirection

Dirección del flujo de audio. Para obtener más información, consulte AoqAudioStreamDirection.

volume

int

Valor de volumen. Valores válidos: 0 a 100.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

getAudioFileVolume

Obtiene el volumen actual del archivo de audio.
virtual int getAudioFileVolume(const char* fileId, AoqAudioStreamDirection type);
Parámetros

Parámetros

Tipo

Descripción

fileId

const char*

ID del archivo de audio

type

AoqAudioStreamDirection

Dirección del flujo de audio. Para obtener más información, consulte AoqAudioStreamDirection.

Devuelve: Un valor de 0 a 100 indica el volumen; un valor menor que 0 indica un error (-AoqErrorCode).

Secuencias de audio externas

addAudioExternalStream

Añade un flujo de audio externo.
virtual int addAudioExternalStream(const char* streamId, const AoqAudioExternalStreamConfig& config);
Parámetros

Parámetros

Tipo

Descripción

streamId

const char*

ID de flujo de audio externo. La capa de negocio debe garantizar que sea único.

config

const AoqAudioExternalStreamConfig&

Configuración de flujo de audio externo. Para obtener más información, consulte AoqAudioExternalStreamConfig.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

pushAudioExternalStreamData

Proporciona datos PCM de audio externos. Si se devuelve AoqECAudioExternalBufferFull (110), el búfer del SDK está lleno y le recomendamos esperar aproximadamente 20 ms y luego enviar el marco de datos actual nuevamente.
virtual int pushAudioExternalStreamData(const char* streamId, AoqAudioFrameData& data);
Parámetros

Parámetros

Tipo

Descripción

streamId

const char*

ID de flujo de audio externo

data

AoqAudioFrameData&

Datos de audio externos sin procesar. Para más información, consulte AoqAudioFrameData.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.
Mejor práctica: En escenarios de captura en tiempo real, envíe 10 ms de datos a la vez y envíe siempre que haya datos disponibles. Cuando los datos provienen de un archivo, envíe 40 ms de datos a la vez en intervalos de 30 ms y maneje el valor de retorno AoqECAudioExternalBufferFull.

setAudioExternalStreamVolume

Establece el volumen de un flujo de audio externo.
virtual int setAudioExternalStreamVolume(const char* streamId, AoqAudioStreamDirection type, int vol);
Parámetros

Parámetros

Tipo

Descripción

streamId

const char*

ID de flujo de audio externo

type

AoqAudioStreamDirection

Tipo de flujo de audio externo. Para obtener más información, consulte AoqAudioStreamDirection.

vol

int

Valor de volumen. Valores válidos: 0 a 100.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

getAudioExternalStreamVolume

Obtiene el volumen de un flujo de audio externo.
virtual int getAudioExternalStreamVolume(const char* streamId, AoqAudioStreamDirection type);
Parámetros

Parámetros

Tipo

Descripción

streamId

const char*

ID de flujo de audio externo

type

AoqAudioStreamDirection

Tipo de flujo de audio externo. Para obtener más información, consulte AoqAudioStreamDirection.

Devuelve: Un valor de 0 a 100 indica el volumen; un valor menor que 0 indica un error (-AoqErrorCode).

clearAudioExternalStreamBuffer

Borra el búfer de un flujo de audio externo.
virtual void clearAudioExternalStreamBuffer(const char* streamId, int fadeoutMs);
Parámetros

Parámetros

Tipo

Descripción

streamId

const char*

ID de flujo de audio externo

fadeoutMs

int

Duración del desvanecimiento. -1 utiliza el desvanecimiento predeterminado del SDK, 0 borra todo sin desvanecimiento, y un valor mayor que 0 mantiene un desvanecimiento del número especificado de milisegundos.

Devuelve: None.

removeAudioExternalStream

Elimina un flujo de audio externo.
virtual int removeAudioExternalStream(const char* streamId);
Parámetros

Parámetros

Tipo

Descripción

streamId

const char*

ID de flujo de audio externo

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

Mensajes en tiempo real

sendDataMsg

Envía un mensaje de datos en tiempo real.
virtual int sendDataMsg(const AoqDataMsg& msg);
Parámetros

Parámetros

Tipo

Descripción

msg

const AoqDataMsg&

Contenido del mensaje. Para más información, consulte AoqDataMsg.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

Devoluciones de llamada de cuadros de audio

setAudioFrameObserver

Establece el listener de callbacks de datos de fotogramas de audio. Pase nullptr para detener los callbacks. Después de configurar el listener, llame a enableAudioFrameObserver para habilitar el callback para la fuente de datos correspondiente.
virtual int setAudioFrameObserver(IAudioFrameObserver* observer) = 0;
Parámetros

Parámetros

Tipo

Descripción

observer

IAudioFrameObserver*

Listener de callbacks de fotogramas de audio. Para más información, consulte IAudioFrameObserver. Pase nullptr para detener los callbacks.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

enableAudioFrameObserver

Habilita o deshabilita el callback de fotogramas de audio en una posición especificada.
virtual int enableAudioFrameObserver(bool enabled, AoqAudioSource audioSource,
                                     const AoqAudioObserverConfig& config) = 0;
Parámetros

Parámetros

Tipo

Descripción

enabled

bool

Especifica si se permiten los callbacks de datos

audioSource

AoqAudioSource

Tipo de fuente de datos de audio sin procesar. Para obtener más información, consulte AoqAudioSource.

config

const AoqAudioObserverConfig&

Configuración de parámetros de devolución de llamada. Para obtener más información, consulte AoqAudioObserverConfig.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

Devoluciones de llamada de cuadros de video

setVideoFrameObserver

Establece el listener de callbacks de datos de fotogramas de video. Pase nullptr para detener los callbacks. Después de configurar el listener, llame a enableVideoFrameObserver para habilitar el callback para la fuente de datos correspondiente.
virtual int setVideoFrameObserver(IVideoFrameObserver* observer) = 0;
Parámetros

Parámetros

Tipo

Descripción

observer

IVideoFrameObserver*

Listener de callbacks de fotogramas de video. Para más información, consulte IVideoFrameObserver. Pase nullptr para detener los callbacks.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

enableVideoFrameObserver

Habilita o deshabilita el callback de fotogramas de video en una posición especificada.
virtual int enableVideoFrameObserver(bool enabled, AoqVideoSource videoSource,
                                     const AoqVideoObserverConfig& config) = 0;
Parámetros

Parámetros

Tipo

Descripción

enabled

bool

Especifica si se habilitan los callbacks de datos en una posición

videoSource

AoqVideoSource

Fuente de datos de la devolución de llamada de fotogramas de video (posición en la canalización). Para obtener más información, consulte AoqVideoSource.

config

const AoqVideoObserverConfig&

Configuración de parámetros de devolución de llamada. Para obtener más información, consulte AoqVideoObserverConfig.

Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

AoqEngineEventListener

AoqEngineEventListener es el punto de entrada unificado para todas las notificaciones de eventos asíncronos del SDK. Es una clase abstracta que usted hereda e implementa, y luego pasa al llamar a createEngine. Todos los callbacks pueden activarse en hilos internos, por lo que debe manejar la seguridad de los hilos usted mismo. Transiciones de estado: Disconnected → Connecting → Connected/Failed → Disconnected.

onError

Devolución de llamada de error del motor.
virtual void onError(int code, const char* message) = 0;
Parámetros

Parámetros

Tipo

Descripción

code

int

Código de error. Para más información, consulte AoqErrorCode.

message

const char*

Descripción del error

onWarning

Devolución de llamada de advertencia del motor.
virtual void onWarning(int code, const char* message) = 0;
Parámetros

Parámetros

Tipo

Descripción

code

int

Código de advertencia. Para más información, consulte AoqWarningCode.

message

const char*

Descripción de la advertencia

onConnectionStatusChange

Callback de cambio de estado de conexión del motor.
virtual void onConnectionStatusChange(AoqConnectionStatus status) = 0;
Parámetros

Parámetros

Tipo

Descripción

status

AoqConnectionStatus

Estado de conexión. Para más información, consulte AoqConnectionStatus.

onStats

Devolución de llamada de estadísticas del motor.
virtual void onStats(const AoqStats& stats) = 0;
Parámetros

Parámetros

Tipo

Descripción

stats

const AoqStats&

Datos estadísticos. Para más información, consulte AoqStats.

onAudioDeviceStateChanged

Devolución de llamada para cambios en el estado de la operación de captura y reproducción del dispositivo de audio.
virtual void onAudioDeviceStateChanged(const AoqAudioDeviceState& state) = 0;
Parámetros

Parámetros

Tipo

Descripción

state

const AoqAudioDeviceState&

Estado del dispositivo de audio. Para más información, consulte AoqAudioDeviceState.

onAudioDeviceRouteChanged

Devolución de llamada de cambio de ruta de salida de audio.
virtual void onAudioDeviceRouteChanged(int routeType) = 0;
Parámetros

Parámetros

Tipo

Descripción

routeType

int

Tipo de ruta. Para los valores válidos, consulte AoqAudioDeviceRouteType.

onAudioFileState

Callback para el estado de reproducción de archivos de audio.
virtual void onAudioFileState(const AoqAudioFileState& state) = 0;
Parámetros

Parámetros

Tipo

Descripción

state

const AoqAudioFileState&

Estado de reproducción del archivo. Para más información, consulte AoqAudioFileState.

onLocalAudioVolumeIndication

Devolución de llamada de indicación de volumen de captura local. Para habilitarla, llame a enableLocalAudioVolumeIndication.
virtual void onLocalAudioVolumeIndication(const AoqAudioVolume& volume) = 0;
Parámetros

Parámetros

Tipo

Descripción

volume

const AoqAudioVolume&

Información de volumen local. Para más información, consulte AoqAudioVolume.

onVideoDeviceStateChanged

Devolución de llamada para cambios en el estado de la operación de captura del dispositivo de video.
virtual void onVideoDeviceStateChanged(const AoqVideoDeviceState& state) = 0;
Parámetros

Parámetros

Tipo

Descripción

state

const AoqVideoDeviceState&

Estado del dispositivo de video. Para más información, consulte AoqVideoDeviceState.

onDataMsg

Devolución de llamada para un mensaje de datos en tiempo real recibido.
virtual void onDataMsg(const AoqDataMsg& msg) = 0;
Parámetros

Parámetros

Tipo

Descripción

msg

const AoqDataMsg&

Mensaje de datos. Para más información, consulte AoqDataMsg.

IAudioFrameObserver

Interfaz para callbacks de datos de fotogramas de audio, que el invocador implementa mediante herencia. No realice operaciones que consuman mucho tiempo en los callbacks. De lo contrario, pueden producirse anomalías en el audio.

onCapturedAudioFrame

Devolución de llamada para datos capturados sin procesar. Para habilitarla, llame a enableAudioFrameObserver y establezca audioSource = AoqAudioSourceCaptured. Puede configurar la tasa de muestreo y el número de canales, y se admite el modo de lectura y escritura.
virtual void onCapturedAudioFrame(const AoqAudioFrameData& data) = 0;
Parámetros

Parámetros

Tipo

Descripción

data

const AoqAudioFrameData&

Datos de audio capturados sin procesar. Para más información, consulte AoqAudioFrameData.

onProcessCapturedAudioFrame

Devolución de llamada para datos después del procesamiento 3A. Para habilitarla, llame a enableAudioFrameObserver y establezca audioSource = AoqAudioSourceProcessCaptured. Puede configurar la tasa de muestreo y el número de canales, y se admite el modo de lectura y escritura.
virtual void onProcessCapturedAudioFrame(const AoqAudioFrameData& data) = 0;
Parámetros

Parámetros

Tipo

Descripción

data

const AoqAudioFrameData&

Datos de audio sin procesar después del procesamiento 3A. Para obtener más información, consulte AoqAudioFrameData.

onPublishAudioFrame

Devolución de llamada para datos de publicación. Para habilitarla, llame a enableAudioFrameObserver y establezca audioSource = AoqAudioSourcePublish. Puede configurar la tasa de muestreo y el número de canales, y solo se admite el modo de solo lectura.
virtual void onPublishAudioFrame(AoqTrackType trackType, const AoqAudioFrameData& data) = 0;
Parámetros

Parámetros

Tipo

Descripción

trackType

AoqTrackType

Tipo de pista. Para más información, consulte AoqTrackType.

data

const AoqAudioFrameData&

Datos de audio sin procesar que se publicarán. Para obtener más información, consulte AoqAudioFrameData.

onPlaybackAudioFrame

Devolución de llamada para datos de reproducción. Para habilitarla, llame a enableAudioFrameObserver y establezca audioSource = AoqAudioSourcePlayback. Puede configurar la tasa de muestreo y el número de canales, y se admite el modo de lectura y escritura.
virtual void onPlaybackAudioFrame(const AoqAudioFrameData& data) = 0;
Parámetros

Parámetros

Tipo

Descripción

data

const AoqAudioFrameData&

Datos de audio sin procesar para reproducción. Para obtener más información, consulte AoqAudioFrameData.

IVideoFrameObserver

Interfaz para callbacks de datos de fotogramas de video, que el invocador implementa mediante herencia. No realice operaciones que consuman mucho tiempo en los callbacks. De lo contrario, puede producirse tartamudeo en el video. Un valor de retorno de true indica que los datos se han modificado y deben escribirse de nuevo en el SDK. La escritura de nuevo solo surte efecto para I420. Un valor de retorno de false indica solo lectura. Los datos en frame son válidos solo durante el callback. Para utilizarlos de forma asíncrona, cópielos usted mismo.

onCapturedVideoFrame

Devolución de llamada para datos locales sin procesar después de la captura, antes del preprocesamiento. Para habilitarla, llame a enableVideoFrameObserver y establezca videoSource = AoqVideoSourceCaptured.
virtual bool onCapturedVideoFrame(AoqTrackType trackType, AoqVideoFrame& frame) = 0;
Parámetros

Parámetros

Tipo

Descripción

frame

AoqVideoFrame&

Datos de fotograma de video capturado. Para más información, consulte AoqVideoFrame.

trackTypeAoqTrackTypeTipo de pista de video: Video o Pantalla.
Devuelve: true indica que los datos se han modificado y deben escribirse de nuevo en el SDK; false indica que es de solo lectura.

onPreEncodeVideoFrame

Devolución de llamada para datos locales sin procesar antes de la codificación, después del preprocesamiento. Para habilitarla, llame a enableVideoFrameObserver y establezca videoSource = AoqVideoSourcePreEncode.
virtual bool onPreEncodeVideoFrame(AoqTrackType trackType, AoqVideoFrame& frame) = 0;
Parámetros

Parámetros

Tipo

Descripción

trackType

AoqTrackType

Tipo de pista de video. Para más información, consulte AoqTrackType.

frame

AoqVideoFrame&

Datos de fotograma de video antes de la codificación. Para obtener más información, consulte AoqVideoFrame.

Devuelve: true indica que los datos se han modificado y deben escribirse de nuevo en el SDK; false indica que es de solo lectura.

onRemoteVideoFrame

Devolución de llamada para datos remotos sin procesar después de la decodificación y antes del renderizado. Para habilitarla, llame a enableVideoFrameObserver y establezca videoSource = AoqVideoSourceRemote.
virtual bool onRemoteVideoFrame(AoqTrackType trackType, AoqVideoFrame& frame) = 0;
Parámetros

Parámetros

Tipo

Descripción

trackType

AoqTrackType

Tipo de pista de video. Para más información, consulte AoqTrackType.

frame

AoqVideoFrame&

Datos de fotograma de video remoto. Para más información, consulte AoqVideoFrame.

Devuelve: true indica que los datos se han modificado y deben escribirse de nuevo en el SDK; false indica que es de solo lectura.

Tipos de datos y enumeraciones

Tipos comunes

AoqCreateConfig

Configuración de creación del motor.

Campo

Tipo

Valor predeterminado

Descripción

workDir

const char*

nullptr

Directorio de trabajo del SDK

enableDumpAudio

bool

false

Especifica si se deben guardar los datos de audio (para depuración)

extras

const char*

nullptr

Parámetros extendidos (una cadena JSON)

maxEncodedVideoFrameBytesint190 × 1024Tamaño máximo de trama codificada en bytes. Se aplica únicamente al codificador JPEG interno del SDK. Un valor de 0 desactiva el límite.
enableDropOversizedVideoFrameboolfalsePara el codificador JPEG interno del SDK, si se debe descartar un cuadro que sigue siendo demasiado grande incluso con la calidad más baja.

AoqConnectConfig

Configuración para conectarse al servidor de retransmisión. relayEndpoints / publishTracks / subscribeTracks son matrices de estilo C con una longitud. La memoria de la matriz es responsabilidad del invocador y solo necesita permanecer válida durante la llamada a connect.

Campo

Tipo

Descripción

token

const char*

Token de autenticación de conexión

sid

const char*

ID de sesión

certFingerprint

const char*

Huella digital del certificado del servidor

workspaceIdHash

const char*

ID hash del espacio de trabajo

relayEndpoints

const AoqRelayEndpoint*

Matriz de puntos de acceso de retransmisión

relayEndpointsCount

size_t

Número de puntos de acceso de retransmisión

publishTracks

const AoqTrackParam*

Matriz de atributos de pista de publicación local

publishTracksCount

size_t

Número de pistas publicadas

subscribeTracks

const AoqTrackParam*

Matriz de atributos de pista de suscripción local

subscribeTracksCount

size_t

Número de pistas suscritas

AoqRelayEndpoint

Un punto de acceso de retransmisión.

Campo

Tipo

Valor predeterminado

Descripción

route_index

int

-1

Índice de ruta

endpoint

const char*

nullptr

Dirección del servidor (nombre de dominio o dirección IP)

port

int

0

Puerto del servidor

tcp_portint0Puerto de reserva TCP. Un valor de 0 utiliza el puerto predeterminado del SDK, 443.

AoqTrackParam

El atributo de la pista.

Campo

Tipo

Valor predeterminado

Descripción

trackType

AoqTrackType

Audio

Tipo de pista

trackMode

AoqTrackMode

Segment

Modo de transmisión o sin transmisión. Efectivo solo para el enlace descendente de audio.

AoqDataMsg

La estructura de datos del mensaje. Cuando se utiliza en un callback, se garantiza que sea válida solo durante el callback. Si necesita utilizarla de forma asíncrona, cópiela usted mismo.

Campo

Tipo

Descripción

data

const uint8_t*

Contenido del mensaje. Apunta a memoria mantenida por el invocador.

dataSize

size_t

Número de bytes

Tipos de estadísticas

AoqStats

Estadísticas del motor. Cada matriz de estadísticas se proporciona como un puntero y un recuento.

Campo

Tipo

Descripción

audioPublishStats / audioPublishStatsCount

const AoqAudioPublishStats* / unsigned int

Matriz de estadísticas de publicación de audio y número de entradas

videoPublishStats / videoPublishStatsCount

const AoqVideoPublishStats* / unsigned int

Matriz de estadísticas de publicación de video y número de entradas

dataMsgPublishStats / dataMsgPublishStatsCount

const AoqDataMsgPublishStats* / unsigned int

Matriz de estadísticas de publicación de mensajes de datos y número de entradas

audioSubscribeStats / audioSubscribeStatsCount

const AoqAudioSubscribeStats* / unsigned int

Matriz de estadísticas de suscripción de audio y número de entradas

videoSubscribeStats / videoSubscribeStatsCount

const AoqVideoSubscribeStats* / unsigned int

Matriz de estadísticas de suscripción de video y número de entradas

dataMsgSubscribeStats / dataMsgSubscribeStatsCount

const AoqDataMsgSubscribeStats* / unsigned int

Matriz de estadísticas de suscripción de mensajes de datos y número de entradas

networkStats

const AoqNetworkStats*

Estadísticas de red

AoqNetworkStats

Estadísticas de red.

Campo

Tipo

Descripción

sendBitrate

unsigned int

Tasa de bits de envío, en bit/s

sendBytes

uint64_t

Bytes enviados acumulados

recvBitrate

unsigned int

Tasa de bits de recepción, en bit/s

recvBytes

uint64_t

Bytes acumulados recibidos

loss

unsigned int

Tasa de pérdida de paquetes, de 0 a 100

rtt

unsigned int

Latencia de ida y vuelta, en ms

AoqAudioPublishStats

Estadísticas de publicación de audio.

Campo

Tipo

Descripción

trackType

AoqTrackType

Tipo de pista

bitrate

unsigned int

Tasa de bits, en bit/s

bytes

uint64_t

Bytes acumulados

encodeVolume

unsigned int

Volumen de codificación del flujo de publicación

AoqVideoPublishStats

Estadísticas de publicación de video.

Campo

Tipo

Descripción

trackType

AoqTrackType

Tipo de pista

bitrate

unsigned int

Tasa de bits, en bit/s

bytes

uint64_t

Bytes acumulados

encodeFps

unsigned int

Tasa de cuadros de codificación

AoqDataMsgPublishStats

Estadísticas de publicación para mensajes de datos.

Campo

Tipo

Descripción

trackType

AoqTrackType

Tipo de pista

bitrate

unsigned int

Tasa de bits, en bit/s

bytes

uint64_t

Bytes acumulados

AoqAudioSubscribeStats

Estadísticas de suscripción de audio.

Campo

Tipo

Descripción

trackType

AoqTrackType

Tipo de pista

bitrate

unsigned int

Tasa de bits, en bit/s

bytes

uint64_t

Bytes acumulados

playVolume

unsigned int

Volumen de reproducción

AoqVideoSubscribeStats

Estadísticas de suscripción de video.

Campo

Tipo

Descripción

trackType

AoqTrackType

Tipo de pista

bitrate

unsigned int

Tasa de bits, en bit/s

bytes

uint64_t

Bytes acumulados

decodeFps

unsigned int

Tasa de fotogramas de decodificación

renderFps

unsigned int

Tasa de fotogramas de renderizado

AoqDataMsgSubscribeStats

Estadísticas de suscripción para mensajes de datos.

Campo

Tipo

Descripción

trackType

AoqTrackType

Tipo de pista

bitrate

unsigned int

Tasa de bits, en bit/s

bytes

uint64_t

Bytes acumulados

Enumeraciones

AoqErrorCode

Enumeración de códigos de error.

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

Se llama a la API pero no está implementada en la plataforma actual o en el modo actual

AoqECAudio

100

Error genérico de audio

AoqECAudioExternalBufferFull

110

El búfer de audio externo está lleno

AoqECAudioDevice

120

Error genérico de dispositivo de audio

AoqECAudioDeviceRecordingAuthFailed

121

Permiso de grabación no concedido

AoqECAudioDeviceRecordingOccupied

122

El dispositivo de grabación está en uso

AoqECAudioDeviceRecordingBackgroundStart

123

Iniciar grabación en segundo plano

AoqECAudioDeviceRecordingStartFail

124

Error al iniciar la grabación

AoqECAudioDevicePlayoutOccupied

125

El dispositivo de reproducción está en uso

AoqECAudioDevicePlayoutBackgroundStart

126

Iniciar reproducción en segundo plano

AoqECAudioDevicePlayoutStartFail

127

Error al iniciar la reproducción

AoqECAudioDeviceEarpieceRequiresVoipMode

128

El modo de receptor requiere que VoIP esté habilitado

AoqECVideo

200

Error genérico de video

AoqECVideoExternalBufferFull

210

El búfer de video externo está lleno

AoqECVideoExternalCaptureNotEnabled

211

La captura de video externa no está habilitada

AoqECVideoExternalEncoderNotEnabled

212

La codificación de video externa no está habilitada

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

La cámara está en uso

AoqECVideoDeviceCameraRunningError

224

Error de ejecución de la cámara

AoqECVideoCodec

230

Error genérico de códec de video

AoqECVideoCodecEncoderInitFail

231

Error al inicializar el codificador

AoqECVideoRender

240

Error genérico de renderizado de video

AoqECVideoRenderCreateFail

241

Error al crear la vista de renderizado

AoqECVideoRenderDrawError

242

Error de dibujo de renderizado

AoqECScreen300Error general de uso compartido de pantalla
AoqECScreenAuthFailed310Permiso de uso compartido de pantalla denegado
AoqECScreenStartFailed311Error al iniciar el uso compartido de pantalla

AoqWarningCode

Enumeración de códigos de advertencia.

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

Se agotó el tiempo de inicio del micrófono

AoqWCAudioDeviceRecordingError

123

Error de grabación

AoqWCAudioDeviceSpeakerEnumerateError

124

Error de enumeración de altavoces

AoqWCAudioDeviceSpeakerStartTimeout

125

Se agotó el tiempo de inicio del 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

AoqTrackType

Tipo de pista.

Valor de enumeración

Valor

Descripción

AoqTrackTypeAudio

0

Pista de audio

AoqTrackTypeVideo

1

Pista de video

AoqTrackTypeData

2

Pista de mensajes de datos

AoqTrackTypeScreen3Pista de pantalla compartida. Solo enlace ascendente.

AoqEncoderType

Tipo de codificador.

Valor de enumeración

Valor

Descripción

AoqEncoderTypeUnknown

0

Formato desconocido

AoqEncoderTypeAudioPCM

1

Audio PCM

AoqEncoderTypeAudioOpus

2

Audio Opus (basado en complementos; contacte al equipo del SDK para integrarlo o descargarlo dinámicamente en la aplicación)

AoqEncoderTypeVideoH264

3

Video H.264

AoqEncoderTypeVideoJpeg

4

Video JPEG

AoqEncoderTypeDataText

5

Texto del mensaje

AoqTrackMode

Modo de transmisión o sin transmisión. Efectivo solo para el enlace descendente de audio.

Valor de enumeración

Valor

Descripción

AoqTrackModeSegment

0

Segmentado: los datos se empaquetan y entregan en segmentos semánticos, como una oración.

AoqTrackModeStream

1

Transmisión: los datos se entregan de forma continua.

AoqConnectionStatus

Estado de conexión del motor.

Valor de enumeración

Valor

Descripción

AoqConnectionStatusDisconnected

0

Desconectado

AoqConnectionStatusConnecting

1

Conectando

AoqConnectionStatusConnected

2

Conectado

AoqConnectionStatusFailed

3

Error de conexión

Tipos de audio

AoqAudioCaptureConfig

Configuración de captura de audio.

Campo

Tipo

Valor predeterminado

Descripción

isExternal

bool

false

Especifica si se debe utilizar captura externa

channel

int

1

Número de canales de captura de audio. Se admiten 1 y 2.

AoqAudioPlaybackConfig

Configuración de reproducción de audio.

Campo

Tipo

Valor predeterminado

Descripción

isExternal

bool

false

Especifica si se debe utilizar reproducción externa

channel

int

1

Número de canales de reproducción de audio. Se admiten 1 y 2.

AoqAudioCodecConfig

Configuración del códec de audio.

Campo

Tipo

Valor predeterminado

Descripción

trackType

AoqTrackType

Audio

Tipo de pista

codecType

AoqEncoderType

AudioOpus

Formato de códec

sampleRate

int

48000

Frecuencia de muestreo, en Hz. Para codificación, se admiten Opus 8/16/48K y PCM 8/16/32/48K. Para decodificación, se admite adicionalmente 24K, pero 24K está limitado al modo Segmento. El modo Stream no admite 24K, y una combinación no válida activa el callback onError con AoqECParamInvalid durante la conexión.

channel

int

1

Número de canales. Se admiten 1 y 2.

bitrate

int

32000

Tasa de bits, en bit/s

AoqAudioDeviceState

Estado del dispositivo de audio.

Campo

Tipo

Descripción

state

AoqAudioDeviceStateCode

Código de estado

reason

int

Código de error (AoqErrorCode)

AoqAudioDeviceStateCode

Código de estado 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

AoqAudioDeviceRouteType

Tipo de ruta del dispositivo de audio.

Valor de enumeración

Valor

Descripción

AoqAudioDeviceRouteDefault

0

Valor predeterminado

AoqAudioDeviceRouteHeadset

1

Auriculares

AoqAudioDeviceRouteEarpiece

2

Receiver

AoqAudioDeviceRouteHeadsetNoMic

3

Auriculares sin micrófono

AoqAudioDeviceRouteSpeakerPhone

4

Altavoz integrado

AoqAudioDeviceRouteUsb

5

USB

AoqAudioDeviceRouteBluetooth

6

Bluetooth

AoqAudioDeviceRouteBluetoothA2dp

7

Bluetooth A2DP

AoqAudioFileMixConfig

Configuración para reproducir un archivo de audio en el flujo de publicación.

Campo

Tipo

Valor predeterminado

Descripción

fileName

const char*

nullptr

Nombre del archivo (incluida la ruta). Obligatorio.

cycles

int

-1

Número de bucles. -1 indica un bucle ilimitado.

startPosMs

long

0

Posición de inicio de reproducción, en ms

publishVolume

int

100

Volumen de publicación. Valores válidos: de 0 a 100.

playoutVolume

int

100

Volumen de reproducción. Valores válidos: de 0 a 100.

AoqAudioFileState

Estado del archivo de audio.

Campo

Tipo

Descripción

fileId

const char*

ID de archivo

stateCode

AoqAudioFileStateCode

Código de estado

errorCode

AoqAudioFileErrorCode

Código de error

AoqAudioFileStateCode

Código de estado del archivo de audio.

Valor de enumeración

Valor

Descripción

AoqAudioFileNone

0

Sin estado

AoqAudioFileStarted

1

Iniciado

AoqAudioFileStopped

2

Detenido

AoqAudioFilePaused

3

En pausa

AoqAudioFileResumed

4

Reanudado

AoqAudioFileEnded

5

Reproducción completada

AoqAudioFileBuffering

6

Buffering

AoqAudioFileBufferingEnd

7

Almacenamiento en búfer finalizado

AoqAudioFileFailed

8

Error en la reproducción

AoqAudioFileErrorCode

Código 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

AoqAudioExternalStreamConfig

Configuración de flujo de audio externo.

Campo

Tipo

Valor predeterminado

Descripción

trackType

AoqTrackType

Audio

Tipo de pista de audio

codecType

AoqEncoderType

AudioPCM

Formato de flujo de audio. Se admite PCM.

channels

int

1

Número de canales. Está limitado por el códec de audio del flujo de publicación, que admite 1 y 2. Los canales adicionales se ignoran.

sampleRate

int

48000

Frecuencia de muestreo, en Hz. Se admiten 8, 12, 16, 24, 32, 44.1, 48, 64, 88.2, 96, 176.4 y 192K.

playoutVolume

int

100

Volumen de reproducción. Valores válidos: de 0 a 100.

publishVolume

int

100

Volumen de publicación. Valores válidos: de 0 a 100.

maxBufferDuration

int

600000

Duración máxima del búfer, en ms. Valores válidos: 100 y superiores. Si la duración almacenada en el búfer en el SDK excede este valor, Push falla.

enable3A

bool

false

Especifica si se debe aplicar el procesamiento 3A al PCM de entrada

AoqAudioFrameData

Datos de audio.

Campo

Tipo

Descripción

dataPtr

void*

Puntero a los datos de audio

numOfSamples

int

Número de muestras (por canal)

bytesPerSample

int

Bytes por muestra

numOfChannels

int

Número de canales

samplesPerSec

int

Número de muestras por segundo

pushSequence

int

Ronda de entrada PCM (utilizada para la notificación de finalización de consumo de pushAudioExternalStreamData)

timeStamp

int64_t

Marca de tiempo

dataSize

int

Longitud de los datos

autoGenMute

bool

Válido en callbacks de datos. true indica datos silenciosos generados por el SDK.

AoqAudioStreamDirection

Dirección del flujo de audio.

Valor de enumeración

Valor

Descripción

AoqAudioStreamPublish

0

Publicación de audio

AoqAudioStreamPlayout

1

Audio de reproducción

AoqAudioExternalStreamToggle

Control de flujo de audio externo.

Valor de enumeración

Valor

Descripción

AoqAudioExternalStreamToggleNormal

0

Recuperado

AoqAudioExternalStreamTogglePause

1

En pausa

AoqAudioSource

Tipo de la fuente de datos 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 a publicar (requiere una conexión exitosa)

AoqAudioSourcePlayback

3

Datos de audio a reproducir

AoqAudioObserverMode

Modo de devolución de llamada de fotograma de audio.

Valor de enumeración

Valor

Descripción

AoqAudioObserverModeReadOnly

0

Solo lectura

AoqAudioObserverModeReadWrite

1

Lectura-escritura

AoqAudioObserverConfig

Configuración de parámetros para callbacks de datos de audio.

Campo

Tipo

Valor predeterminado

Descripción

sampleRate

int

48000

Frecuencia de muestreo del audio del callback. Está limitada por la fuente. Se realiza un remuestreo si las frecuencias no coinciden. Se admiten 8, 12, 16, 24, 32, 44.1, 48, 64, 88.2, 96, 176.4 y 192K.

channels

int

1

Número de canales de audio en el callback. Se admiten 1 y 2. Este parámetro está limitado por los parámetros del códec del flujo de suscripción.

mode

AoqAudioObserverMode

ReadOnly

Modo de devolución de llamada

AoqAudioVolumeIndicationConfig

Configuración de indicación de volumen local.
CampoTipoValor predeterminadoDescripción
reportSpeechboolfalseSi se debe detectar voz.
intervalint0Intervalo 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.
smoothint3Factor de suavizado, de 0 a 10. Los valores más altos producen resultados más suaves.

AoqAudioVolume

Información de volumen local.
CampoTipoValor predeterminadoDescripción
isSpeechboolfalseSi se detecta voz.
volumeint0Volumen instantáneo suavizado, de 0 a 255.

Tipos de video

AoqVideoCaptureConfig

Configuración de captura de video.

Campo

Tipo

Valor predeterminado

Descripción

width

int

1280

Ancho de captura, en píxeles. Este parámetro no tiene efecto cuando isExternal=true.

height

int

720

Alto de captura, en píxeles. Este parámetro no tiene efecto cuando isExternal=true.

fps

int

15

Tasa de fotogramas de captura. Este parámetro no tiene efecto cuando isExternal=true (el ritmo lo determina la entrega de fotogramas).

isExternal

bool

false

Especifica si se utiliza captura externa. Si es true, la cámara no se abre y los fotogramas son proporcionados por pushExternalVideoCapturedFrame.

AoqVideoCanvas

Estructura de datos para el renderizado de video. view es un puntero opaco al identificador de vista nativo de la plataforma. En Windows, pase el identificador de ventana HWND. El invocador debe asegurarse de que el ciclo de vida de view dure más que el período durante el cual se establece mediante setLocalView / setRemoteView.

Campo

Tipo

Valor predeterminado

Descripción

view

void*

nullptr

Identificador de la vista de visualización (HWND). Pase nullptr para eliminar el vínculo de renderizado.

renderMode

AoqRenderMode

Auto

Modo de renderización

AoqRenderMode

Modo de visualización de renderizado.

Valor de enumeración

Valor

Descripción

AoqRenderModeAuto

0

Modo automático

AoqRenderModeStretch

1

Modo de estiramiento para llenar. Cuando las relaciones de aspecto no coinciden, la imagen se estira a la relación objetivo y se distorsiona.

AoqRenderModeFill

2

Modo letterbox. Cuando las relaciones de aspecto no coinciden, se añaden barras negras en la parte superior e inferior o en los lados izquierdo y derecho.

AoqRenderModeCrop

3

Modo de recorte. Cuando las relaciones de aspecto no coinciden, se recorta el ancho o el alto y se pierde parte de la imagen.

AoqVideoPixelFormat

Formato de píxel de video.

Valor de enumeración

Valor

Descripción

AoqVideoPixelFormatUnknown

0

Formato desconocido

AoqVideoPixelFormatI420

1

I420

AoqVideoPixelFormatNV12

2

NV12

AoqVideoPixelFormatNV21

3

NV21

AoqVideoPixelFormatBGRA

4

BGRA

AoqVideoPixelFormatRGBA

5

RGBA

AoqVideoFrame

Datos de video externos.

Campo

Tipo

Descripción

format

AoqVideoPixelFormat

Formato de píxel

width

int

Ancho, en píxeles

height

int

Alto, en píxeles

dataPtr

void*

Puntero a datos en formato empaquetado (NV12/NV21/BGRA/RGBA)

dataSize

int

Número de bytes de datos empaquetados

dataY / dataU / dataV

void*

Punteros a los datos de los tres planos I420

strideY / strideU / strideV

int

Stride de los tres planos I420

timeStamp

int64_t

Marca de tiempo, en ms. Si es 0, el SDK la completa con el reloj local.

nativePixelBuffervoid*Campo multiplataforma. No se utiliza en Windows.
textureIdintCampo multiplataforma. No se utiliza en Windows.
transformMatrixfloat[16]Campo multiplataforma. No se utiliza en Windows.

AoqVideoEncodedFrame

Una trama de video codificada externamente. El llamante realiza la codificación, y el SDK empaqueta y envía la trama directamente sin volver a codificarla.

Campo

Tipo

Descripción

codec

AoqVideoCodecType

Formato de códec

data

void*

Puntero a los datos codificados

dataSize

int

Número de bytes de los datos codificados

width

int

Ancho, en píxeles

height

int

Alto, en píxeles

timeStamp

int64_t

Marca de tiempo, en ms. Si es 0, el SDK la completa con el reloj local.

AoqVideoCodecType

El tipo de códec del fotograma codificado externamente.

Valor de enumeración

Valor

Descripción

AoqVideoCodecTypeJPEG

0

JPEG

AoqVideoDeviceState

Estado del dispositivo de video.

Campo

Tipo

Descripción

state

AoqVideoDeviceStateCode

Código de estado

reason

int

Código de error (AoqErrorCode)

AoqVideoDeviceStateCode

Código de estado del dispositivo de video.

Valor de enumeración

Valor

Descripción

AoqVideoDeviceNone

0

Sin estado

AoqVideoDeviceCaptureStarting

1

Iniciando cámara

AoqVideoDeviceCaptureStarted

2

Cámara iniciada

AoqVideoDeviceCaptureStopping

3

Deteniendo cámara

AoqVideoDeviceCaptureStopped

4

Cámara detenida

AoqVideoDeviceCaptureFail

5

Error al iniciar la cámara (por ejemplo, permiso denegado o dispositivo no disponible)

AoqMirrorMode

Modo espejo.

Valor de enumeración

Valor

Descripción

AoqMirrorModeDisabled

0

Deshabilitar espejo

AoqMirrorModeEnabled

1

Habilitar espejo

AoqOrientationMode

Modo de orientación.

Valor de enumeración

Valor

Descripción

AoqOrientationModeAuto

0

Automático

AoqOrientationModePortrait

1

Vertical

AoqOrientationModeLandscape

2

Horizontal

AoqVideoCodecConfig

Parámetros del códec de video, compartidos por codificación y decodificación. Para decodificación, solo trackType / codecType / width / height / fps / bitrate surten efecto y participan en la negociación como propuesta de suscripción, mientras que minBitrate / keyframeInterval / mirrorMode / orientationMode / isExternal se utilizan solo para codificación.

Campo

Tipo

Valor predeterminado

Descripción

isExternal

bool

false

Modo de codificación externa. Cuando es true, usted inserta tramas codificadas y el SDK no realiza captura ni codificación.

trackType

AoqTrackType

Video

Tipo de pista

codecType

AoqEncoderType

VideoH264

Formato de códec

width

int

540

Ancho de resolución

height

int

960

Alto de resolución

fps

int

5

Tasa de fotogramas

bitrate

int

500000

Tasa de bits inicial, en bit/s

minBitrate

int

128000

Tasa de bits mínima, en bit/s

keyframeInterval

int

2

Intervalo de fotogramas clave, en segundos

mirrorMode

AoqMirrorMode

Disabled

Modo espejo

orientationMode

AoqOrientationMode

Auto

Modo de orientación

AoqVideoSource

Fuente de datos del callback de fotogramas de video (posición en la canalización).

Valor de enumeración

Valor

Descripción

AoqVideoSourceCaptured

0

Datos de video capturados 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

Modo de devolución de llamada de fotograma de video.

Valor de enumeración

Valor

Descripción

AoqVideoObserverModeReadOnly

0

Solo lectura

AoqVideoObserverModeReadWrite

1

Lectura-escritura

AoqVideoObserverAlignment

Método de alineación de ancho para la salida de video.

Valor de enumeración

Valor

Descripción

AoqVideoObserverAlignmentDefault

0

Valor predeterminado

AoqVideoObserverAlignmentEven

1

Alineación de números pares

AoqVideoObserverAlignment4

2

Alineación de 4 bytes

AoqVideoObserverAlignment8

3

Alineación de 8 bytes

AoqVideoObserverAlignment16

4

Alineación de 16 bytes

AoqVideoObserverConfig

Configuración de parámetros para callbacks de datos de video.

Campo

Tipo

Valor predeterminado

Descripción

format

AoqVideoPixelFormat

I420

Formato de píxel esperado de los datos del callback

alignment

AoqVideoObserverAlignment

Default

Política de alineación de ancho

mode

AoqVideoObserverMode

ReadOnly

Modo de callback. ReadWrite solo es compatible con I420.

mirrorApplied

bool

false

Especifica si se deben reflejar los datos del callback

trackTypeAoqTrackTypeAoqTrackTypeVideoPista de video a observar. Admite solo Video y Screen.

Tipos de captura de pantalla

AoqScreenCaptureStateCode

Enumeración de estado de captura de pantalla. El tipo está definido, pero el SDK actual no proporciona un callback de estado correspondiente.
Valor de enumeraciónValorDescripción
AoqScreenCaptureNone0None
AoqScreenCaptureStarting1Iniciando
AoqScreenCaptureStarted2Iniciado
AoqScreenCaptureStopping3Deteniendo
AoqScreenCaptureStopped4Detenido
AoqScreenCaptureFail5Fallido

AoqScreenCaptureState

CampoTipoDescripción
stateAoqScreenCaptureStateCodeCódigo de estado de captura de pantalla.
reasonintCódigo de error de AoqErrorCode. 0 indica un estado normal.

AoqScreenSourceList

Campo/MétodoTipoDescripción
sourceCountintNúmero de fuentes
sourceListconst AoqScreenSourceInfo*Matriz de fuentes. Libere con screenSourceListFree(list) después de su uso.
screenSourceListFree(list)static voidLibera la memoria de la lista. El invocador debe llamar a este método para evitar una fuga de memoria.

AoqScreenSourceInfo

CampoTipoValor predeterminadoDescripción
sourceTypeAoqScreenShareSourceTypeEscritorioTipo de fuente
sourceIdint64_t0ID de fuente
sourceNameconst char*nullptrNombre de la fuente
sourceIsSelfboolfalseSi la ventana pertenece al proceso actual

AoqScreenShareSourceType

ValorNúmeroDescripción
AoqScreenShareSourceTypeDesktop0Escritorio completo
AoqScreenShareSourceTypeWindow1Una ventana específica

AoqScreenCaptureConfig

CampoTipoValor predeterminadoDescripción
isExternalboolfalseSi la aplicación suministra tramas de pantalla sin procesar.
sourceIdint64_t0ID de fuente de pantalla.
sourceTypeAoqScreenShareSourceTypeAoqScreenShareSourceTypeDesktopTipo de fuente de pantalla.
appGroupconst char*nullptrSolo para iOS. No se utiliza en esta plataforma.