Skip to main content

Referencia de API del SDK de cliente AOQ para macOS

Este tema describe las API de Objective-C, las devoluciones de llamada y los tipos de datos del SDK de cliente AOQ para macOS.

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 del protocolo AoqEngineDelegate.

Í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

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

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

Devoluciones de llamada de cuadros de audio

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

Indicación de volumen de audio local

APIDescripción
enableLocalAudioVolumeIndicationHabilitar o deshabilitar la indicación de volumen de captura local

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 Mac)
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

Devoluciones de llamada de cuadros de video

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

Mensajes en tiempo real

APIDescripción
sendDataMsgEnviar un mensaje de datos en tiempo real

AoqEngineDelegate

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

AoqAudioFrameDelegate

APIDescripción
onCapturedAudioFrameSe invoca cuando se captura un cuadro de audio sin procesar. El cuadro contiene datos PCM no procesados.
onProcessCapturedAudioFrameSe invoca para un cuadro de audio después del procesamiento 3A, como la cancelación de eco y la supresión de ruido.
onPublishAudioFrameSe invoca para un cuadro de audio antes de la publicación, inmediatamente antes de la codificación y la transmisión.
onPlaybackAudioFrameSe invoca para un cuadro de audio remoto antes de la reproducción, después de la decodificación y la mezcla.

AoqVideoFrameDelegate

APIDescripción
onCapturedVideoFrameSe llama cuando se captura un fotograma de video sin procesar, antes del preprocesamiento. trackType distingue entre pistas de Video y Screen.
onPreEncodeVideoFrameSe invoca para un cuadro de video después del preprocesamiento y antes de la codificación.
onRemoteVideoFrameSe invoca para un cuadro de video remoto después de la decodificación y antes de la renderización.

Detalles de la API

Ciclo de vida del motor

createEngine:delegate:

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.
+ (instancetype _Nonnull)createEngine:(AoqCreateConfig * _Nonnull)config
                             delegate:(id<AoqEngineDelegate> _Nonnull)delegate;
Parámetros

Parámetros

Tipo

Descripción

config

AoqCreateConfig *

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

delegate

id<AoqEngineDelegate>

Delegado de devolución de llamada de eventos del motor. Para obtener más información, consulte AoqEngineDelegate.

Devuelve: La instancia del motor. Nunca se devuelve nil.

destroy

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

getVersion

Obtiene la versión del SDK.
+ (NSString * _Nonnull)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.
- (int)connect:(AoqConnectConfig * _Nonnull)config;
Parámetros

Parámetros

Tipo

Descripción

config

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.
- (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).
- (int)startAudioCapture:(AoqAudioCaptureConfig * _Nonnull)config;
Parámetros

Parámetros

Tipo

Descripción

config

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.
- (int)stopAudioCapture;
Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

muteAudioCapture:

Silencia o reactiva la captura de audio.
- (int)muteAudioCapture:(BOOL)mute;
Parámetros

Parámetros

Tipo

Descripción

mute

BOOL

YES silencia; NO 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.
- (int)startAudioPlayer:(AoqAudioPlaybackConfig * _Nonnull)config;
Parámetros

Parámetros

Tipo

Descripción

config

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.
- (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.
- (int)pauseAudioPlayer:(NSInteger)fadeMs;
Parámetros

Parámetros

Tipo

Descripción

fadeMs

NSInteger

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.
- (int)resumeAudioPlayer:(NSInteger)fadeMs;
Parámetros

Parámetros

Tipo

Descripción

fadeMs

NSInteger

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:fadeMs:

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

Parámetros

Tipo

Descripción

trackType

AoqTrackType

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

fadeMs

NSInteger

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.

Configuración de codificación de audio

setAudioEncoderConfig:

Establece los parámetros de codificación de audio.
- (int)setAudioEncoderConfig:(AoqAudioCodecConfig * _Nonnull)config;
Parámetros

Parámetros

Tipo

Descripción

config

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.
- (int)setAudioDecoderConfig:(AoqAudioCodecConfig * _Nonnull)config;
Parámetros

Parámetros

Tipo

Descripción

config

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.

Reproducción de archivos de audio

startAudioFile:config:

Inicia la reproducción de un archivo de audio local en el flujo de publicación.
- (int)startAudioFile:(NSString * _Nonnull)fileId
               config:(AoqAudioFileMixConfig * _Nonnull)config;
Parámetros

Parámetros

Tipo

Descripción

fileId

NSString *

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

config

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.
- (int)stopAudioFile:(NSString * _Nonnull)fileId;
Parámetros

Parámetros

Tipo

Descripción

fileId

NSString *

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.
- (int)pauseAudioFile:(NSString * _Nonnull)fileId;
Parámetros

Parámetros

Tipo

Descripción

fileId

NSString *

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.
- (int)resumeAudioFile:(NSString * _Nonnull)fileId;
Parámetros

Parámetros

Tipo

Descripción

fileId

NSString *

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.
- (long long)getAudioFileDuration:(NSString * _Nonnull)fileId;
Parámetros

Parámetros

Tipo

Descripción

fileId

NSString *

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.

getAudioFileCurrentPosition:

Obtiene la posición de reproducción actual del archivo de audio.
- (long long)getAudioFileCurrentPosition:(NSString * _Nonnull)fileId;
Parámetros

Parámetros

Tipo

Descripción

fileId

NSString *

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.

setAudioFilePositionMillis:positionMillis:

Establece la posición de reproducción del archivo de audio (búsqueda).
- (int)setAudioFilePositionMillis:(NSString * _Nonnull)fileId
                  positionMillis:(long long)positionMillis;
Parámetros

Parámetros

Tipo

Descripción

fileId

NSString *

ID del archivo de audio

positionMillis

long long

Posición de reproducción, en milisegundos

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

setAudioFileVolume:type:volume:

Establece el volumen del archivo de audio.
- (int)setAudioFileVolume:(NSString * _Nonnull)fileId
                     type:(AoqAudioStreamDirection)type
                   volume:(NSInteger)volume;
Parámetros

Parámetros

Tipo

Descripción

fileId

NSString *

ID del archivo de audio

type

AoqAudioStreamDirection

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

volume

NSInteger

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

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

getAudioFileVolume:type:

Obtiene el volumen actual del archivo de audio.
- (int)getAudioFileVolume:(NSString * _Nonnull)fileId
                     type:(AoqAudioStreamDirection)type;
Parámetros

Parámetros

Tipo

Descripción

fileId

NSString *

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.

Secuencias de audio externas

addAudioExternalStream:config:

Añade un flujo de audio externo.
- (int)addAudioExternalStream:(NSString * _Nonnull)streamId
                       config:(AoqAudioExternalStreamConfig * _Nonnull)config;
Parámetros

Parámetros

Tipo

Descripción

streamId

NSString *

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

config

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:data:

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.
- (int)pushAudioExternalStreamData:(NSString * _Nonnull)streamId
                              data:(AoqAudioFrameData * _Nonnull)data;
Parámetros

Parámetros

Tipo

Descripción

streamId

NSString *

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:type:volume:

Establece el volumen de un flujo de audio externo.
- (int)setAudioExternalStreamVolume:(NSString * _Nonnull)streamId
                               type:(AoqAudioStreamDirection)type
                             volume:(NSInteger)volume;
Parámetros

Parámetros

Tipo

Descripción

streamId

NSString *

ID de flujo de audio externo

type

AoqAudioStreamDirection

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

volume

NSInteger

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

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

getAudioExternalStreamVolume:type:

Obtiene el volumen de un flujo de audio externo.
- (int)getAudioExternalStreamVolume:(NSString * _Nonnull)streamId
                               type:(AoqAudioStreamDirection)type;
Parámetros

Parámetros

Tipo

Descripción

streamId

NSString *

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.

clearAudioExternalStreamBuffer:fadeoutMs:

Borra el búfer de un flujo de audio externo.
- (void)clearAudioExternalStreamBuffer:(NSString * _Nonnull)streamId
                              fadeoutMs:(NSInteger)fadeoutMs;
Parámetros

Parámetros

Tipo

Descripción

streamId

NSString *

ID de flujo de audio externo

fadeoutMs

NSInteger

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.
- (int)removeAudioExternalStream:(NSString * _Nonnull)streamId;
Parámetros

Parámetros

Tipo

Descripción

streamId

NSString *

ID de flujo de audio externo

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

Devoluciones de llamada de cuadros de audio

setAudioFrameObserver:

Establece el delegado de devolución de llamada de datos de fotogramas de audio. Pase nil para detener las devoluciones de llamada. Después de establecer el delegado, llame a enableAudioFrameObserver:audioSource:config: para habilitar la devolución de llamada para la fuente de datos correspondiente.
- (int)setAudioFrameObserver:(id<AoqAudioFrameDelegate> _Nullable)delegate;
Parámetros

Parámetros

Tipo

Descripción

delegate

id<AoqAudioFrameDelegate>

Delegado de devolución de llamada de fotogramas de audio. Para obtener más información, consulte AoqAudioFrameDelegate. Pase nil para detener las devoluciones de llamada.

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

enableAudioFrameObserver:audioSource:config:

Habilita o deshabilita el callback de fotogramas de audio en una posición especificada.
- (int)enableAudioFrameObserver:(BOOL)enabled
                   audioSource:(AoqAudioSource)audioSource
                        config:(AoqAudioObserverConfig * _Nonnull)config;
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

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.

Indicación de volumen de audio local

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.
- (int)enableLocalAudioVolumeIndication:(AoqAudioVolumeIndicationConfig * _Nonnull)config;
Parámetros

Parámetros

Tipo

Descripción

config

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.

Gestión de dispositivos de video

startVideoCapture:

Abre el dispositivo de captura de video (cámara). Cuando se configura isExternal=YES, la cámara no se abre y los fotogramas son proporcionados por pushExternalVideoCapturedFrame:frame:.
- (int)startVideoCapture:(AoqVideoCaptureConfig * _Nonnull)config;
Parámetros

Parámetros

Tipo

Descripción

config

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.
- (int)stopVideoCapture;
Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

setLocalView:canvas:

Establece o elimina la ventana de renderizado de video local. Si pasa nil para canvas o canvas.view es nil, se elimina el vínculo.
- (int)setLocalView:(AoqTrackType)trackType canvas:(AoqVideoCanvas * _Nullable)canvas;
Parámetros

Parámetros

Tipo

Descripción

trackType

AoqTrackType

Pista de video. Pase AoqTrackTypeVideo.

canvas

AoqVideoCanvas *

Lienzo de renderizado. Para obtener más información, consulte AoqVideoCanvas. Pase nil para eliminar el vínculo.

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

setRemoteView:canvas:

Establece o elimina la ventana de renderizado de video remoto. Si pasa nil para canvas o canvas.view es nil, se elimina el vínculo.
- (int)setRemoteView:(AoqTrackType)trackType canvas:(AoqVideoCanvas * _Nullable)canvas;
Parámetros

Parámetros

Tipo

Descripción

trackType

AoqTrackType

Pista de video. Pase AoqTrackTypeVideo.

canvas

AoqVideoCanvas *

Lienzo de renderizado. Para obtener más información, consulte AoqVideoCanvas. Pase nil para eliminar 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.
- (int)setVideoEncoderConfig:(AoqVideoCodecConfig * _Nonnull)config;
Parámetros

Parámetros

Tipo

Descripción

config

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.
- (int)setVideoDecoderConfig:(AoqVideoCodecConfig * _Nonnull)config;
Parámetros

Parámetros

Tipo

Descripción

config

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:frame:

Envía un fotograma de video externo. Primero debe llamar a startVideoCapture: y configurar isExternal=YES. Si no se inicia la captura de video externa o el formato no es compatible, se devuelve AoqECParamInvalid.
- (int)pushExternalVideoCapturedFrame:(AoqTrackType)trackType
                                frame:(AoqVideoFrame * _Nonnull)frame;
Parámetros

Parámetros

Tipo

Descripción

trackType

AoqTrackType

Destino de enrutamiento. Pase AoqTrackTypeVideo.

; AoqTrackTypeScreen también es compatible

frame

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; un valor menor que 0 indica otro error.

pushExternalVideoEncodedFrame:frame:

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

Parámetros

Tipo

Descripción

trackType

AoqTrackType

Destino de enrutamiento. Pase AoqTrackTypeVideo.

; AoqTrackTypeScreen también es compatible

frame

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

- (int)startScreenCapture:(AoqScreenCaptureConfig * _Nonnull)config;
- (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=YES 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

- (AoqScreenSourceList * _Nullable)getScreenSourceList;
Devuelve una lista de fuentes de pantalla, o nil en caso de fallo.

Control de transmisión de flujo de medios

enableSendMediaStream:enable:

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.
- (int)enableSendMediaStream:(AoqTrackType)trackType enable:(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

YES habilita el envío; NO 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.

Devoluciones de llamada de cuadros de video

setVideoFrameObserver:

Establece el delegado de devolución de llamada de datos de fotogramas de video. Pase nil para detener las devoluciones de llamada. Después de establecer el delegado, llame a enableVideoFrameObserver:videoSource:config: para habilitar la devolución de llamada para la fuente de datos correspondiente.
- (int)setVideoFrameObserver:(id<AoqVideoFrameDelegate> _Nullable)delegate;
Parámetros

Parámetros

Tipo

Descripción

delegate

id<AoqVideoFrameDelegate>

Delegado de devolución de llamada de fotogramas de video. Para obtener más información, consulte AoqVideoFrameDelegate. Pase nil para detener las devoluciones de llamada.

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

enableVideoFrameObserver:videoSource:config:

Habilita o deshabilita el callback de fotogramas de video en una posición especificada.
- (int)enableVideoFrameObserver:(BOOL)enabled
                    videoSource:(AoqVideoSource)videoSource
                         config:(AoqVideoObserverConfig * _Nonnull)config;
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

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.

Mensajes en tiempo real

sendDataMsg:

Envía un mensaje de datos en tiempo real.
- (int)sendDataMsg:(AoqDataMsg * _Nonnull)msg;
Parámetros

Parámetros

Tipo

Descripción

msg

AoqDataMsg *

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

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

AoqEngineDelegate

AoqEngineDelegate es el punto de entrada unificado para todas las notificaciones de eventos asíncronos del SDK. Se pasa cuando llama a createEngine:delegate:. Todos los métodos de devolución de llamada son @required. Transiciones de estado: Disconnected → Connecting → Connected/Failed → Disconnected.

onError:message:

Devolución de llamada de error del motor.
- (void)onError:(NSInteger)code message:(NSString * _Nonnull)message;
Parámetros

Parámetros

Tipo

Descripción

code

NSInteger

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

message

NSString *

Descripción del error

onWarning:message:

Devolución de llamada de advertencia del motor.
- (void)onWarning:(NSInteger)code message:(NSString * _Nonnull)message;
Parámetros

Parámetros

Tipo

Descripción

code

NSInteger

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

message

NSString *

Descripción de la advertencia

onConnectionStatusChange:

Callback de cambio de estado de conexión del motor.
- (void)onConnectionStatusChange:(AoqConnectionStatus)status;
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.
- (void)onStats:(AoqStats * _Nonnull)stats;
Parámetros

Parámetros

Tipo

Descripción

stats

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.
- (void)onAudioDeviceStateChanged:(AoqAudioDeviceState * _Nonnull)state;
Parámetros

Parámetros

Tipo

Descripción

state

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.
- (void)onAudioDeviceRouteChanged:(NSInteger)routeType;
Parámetros

Parámetros

Tipo

Descripción

routeType

NSInteger

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

onAudioFileState:

Callback para el estado de reproducción de archivos de audio.
- (void)onAudioFileState:(AoqAudioFileState * _Nonnull)state;
Parámetros

Parámetros

Tipo

Descripción

state

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:.
- (void)onLocalAudioVolumeIndication:(AoqAudioVolume * _Nonnull)volume;
Parámetros

Parámetros

Tipo

Descripción

volume

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.
- (void)onVideoDeviceStateChanged:(AoqVideoDeviceState * _Nonnull)state;
Parámetros

Parámetros

Tipo

Descripción

state

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.
- (void)onDataMsg:(AoqDataMsg * _Nonnull)msg;
Parámetros

Parámetros

Tipo

Descripción

msg

AoqDataMsg *

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

AoqAudioFrameDelegate

Protocolo para devoluciones de llamada de datos de fotogramas de audio. Todos los métodos son @optional. No realice operaciones que consuman mucho tiempo en las devoluciones de llamada. 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.
- (void)onCapturedAudioFrame:(AoqAudioFrameData * _Nonnull)frame;
Parámetros

Parámetros

Tipo

Descripción

frame

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.
- (void)onProcessCapturedAudioFrame:(AoqAudioFrameData * _Nonnull)frame;
Parámetros

Parámetros

Tipo

Descripción

frame

AoqAudioFrameData *

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

onPublishAudioFrame:frame:

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.
- (void)onPublishAudioFrame:(AoqTrackType)trackType
                      frame:(AoqAudioFrameData * _Nonnull)frame;
Parámetros

Parámetros

Tipo

Descripción

trackType

AoqTrackType

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

frame

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.
- (void)onPlaybackAudioFrame:(AoqAudioFrameData * _Nonnull)frame;
Parámetros

Parámetros

Tipo

Descripción

frame

AoqAudioFrameData *

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

AoqVideoFrameDelegate

Protocolo para devoluciones de llamada de datos de fotogramas de video. Todos los métodos son @optional. No realice operaciones que consuman mucho tiempo en las devoluciones de llamada. De lo contrario, puede producirse tartamudeo en el video. Un valor de retorno de YES indica que los datos se han modificado y deben escribirse de nuevo en el SDK. La reescritura solo surte efecto para I420 y CVPixelBuffer. Un valor de retorno de NO indica que es de solo lectura. Los datos en frame son válidos solo durante la devolución de llamada. Para usarlos 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.
- (BOOL)onCapturedVideoFrame:(AoqTrackType)trackType frame:(AoqVideoFrame * _Nonnull)frame;
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: YES indica que los datos se han modificado y deben escribirse de nuevo en el SDK; NO indica que es de solo lectura.

onPreEncodeVideoFrame:frame:

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.
- (BOOL)onPreEncodeVideoFrame:(AoqTrackType)trackType
                        frame:(AoqVideoFrame * _Nonnull)frame;
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: YES indica que los datos se han modificado y deben escribirse de nuevo en el SDK; NO indica que es de solo lectura.

onRemoteVideoFrame:frame:

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.
- (BOOL)onRemoteVideoFrame:(AoqTrackType)trackType
                     frame:(AoqVideoFrame * _Nonnull)frame;
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: YES indica que los datos se han modificado y deben escribirse de nuevo en el SDK; NO 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

NSString *

""

Directorio de trabajo del SDK

enableDumpAudio

BOOL

NO

Especifica si se habilita el volcado de datos de audio sin procesar (para depuración)

extras

NSString *

""

Parámetros extendidos

maxEncodedVideoFrameBytesNSInteger190 × 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.
enableDropOversizedVideoFrameBOOLNOPara 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.

Campo

Tipo

Descripción

token

NSString *

Token de autenticación de conexión

sid

NSString *

ID de sesión

certFingerprint

NSString *

Huella digital del certificado del servidor

relayEndpoints

NSArray<AoqRelayEndpoint *> *

Lista de puntos de acceso de retransmisión

workspaceIdHash

NSString *

ID hash del espacio de trabajo

publishTracks

NSArray<AoqTrackParam *> *

Matriz de atributos de pista de publicación local

subscribeTracks

NSArray<AoqTrackParam *> *

Matriz de atributos de pista de suscripción local

AoqRelayEndpoint

Un punto de acceso de retransmisión.

Campo

Tipo

Valor predeterminado

Descripción

routeIndex

NSInteger

-1

Índice de ruta

endpoint

NSString *

""

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

port

NSInteger

0

Puerto del servidor

tcpPortNSInteger0Puerto 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

Estructura de datos de un mensaje en tiempo real.

Campo

Tipo

Descripción

data

NSData *

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

Tipos de estadísticas

AoqStats

Estadísticas del motor.

Campo

Tipo

Descripción

audioPublishStats

NSArray<AoqAudioPublishStats *> *

Arreglo de estadísticas de publicación para audio

videoPublishStats

NSArray<AoqVideoPublishStats *> *

Arreglo de estadísticas de publicación para video

dataMsgPublishStats

NSArray<AoqDataMsgPublishStats *> *

Arreglo de estadísticas de publicación para mensajes de datos

audioSubscribeStats

NSArray<AoqAudioSubscribeStats *> *

Arreglo de estadísticas de suscripción para audio

videoSubscribeStats

NSArray<AoqVideoSubscribeStats *> *

Arreglo de estadísticas de suscripción para video

dataMsgSubscribeStats

NSArray<AoqDataMsgSubscribeStats *> *

Arreglo de estadísticas de suscripción para mensajes de datos

networkStats

AoqNetworkStats *

Estadísticas de red

AoqNetworkStats

Estadísticas de red.

Campo

Tipo

Descripción

sendBitrate

NSUInteger

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

sendBytes

NSUInteger

Bytes enviados acumulados

recvBitrate

NSUInteger

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

recvBytes

NSUInteger

Bytes acumulados recibidos

loss

NSUInteger

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

rtt

NSUInteger

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

NSUInteger

Tasa de bits, en bit/s

bytes

NSUInteger

Bytes acumulados

encodeVolume

NSUInteger

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

NSUInteger

Tasa de bits, en bit/s

bytes

NSUInteger

Bytes acumulados

encodeFps

NSUInteger

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

NSUInteger

Tasa de bits, en bit/s

bytes

NSUInteger

Bytes acumulados

AoqAudioSubscribeStats

Estadísticas de suscripción de audio.

Campo

Tipo

Descripción

trackType

AoqTrackType

Tipo de pista

bitrate

NSUInteger

Tasa de bits, en bit/s

bytes

NSUInteger

Bytes acumulados

playVolume

NSUInteger

Volumen de reproducción

AoqVideoSubscribeStats

Estadísticas de suscripción de video.

Campo

Tipo

Descripción

trackType

AoqTrackType

Tipo de pista

bitrate

NSUInteger

Tasa de bits, en bit/s

bytes

NSUInteger

Bytes acumulados

decodeFps

NSUInteger

Tasa de fotogramas de decodificación

renderFps

NSUInteger

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

NSUInteger

Tasa de bits, en bit/s

bytes

NSUInteger

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

La API no es compatible

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

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

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 uso compartido de pantalla. Admite 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

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

NO

Especifica si se debe utilizar captura externa

channel

NSInteger

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

NO

Especifica si se debe utilizar reproducción externa

channel

NSInteger

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

NSInteger

48000

Tasa de muestreo, en Hz

channel

NSInteger

1

Número de canales

bitrate

NSInteger

32000

Tasa de bits, en bit/s

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

AoqAudioDeviceState

Estado del dispositivo de audio.

Campo

Tipo

Descripción

state

AoqAudioDeviceStateCode

Código de estado

reason

NSInteger

Código de error (AoqErrorCode)

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

Tipos de archivos de audio

AoqAudioFileMixConfig

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

Campo

Tipo

Valor predeterminado

Descripción

fileName

NSString *

-

Nombre del archivo (incluida la ruta). Obligatorio.

cycles

NSInteger

-1

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

startPosMs

NSInteger

0

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

publishVolume

NSInteger

100

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

playoutVolume

NSInteger

100

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

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

AoqAudioFileState

Estado del archivo de audio.

Campo

Tipo

Descripción

fileId

NSString *

ID de archivo

stateCode

AoqAudioFileStateCode

Código de estado

errorCode

AoqAudioFileErrorCode

Código de error

Tipos de flujo de audio externo y volumen

AoqAudioStreamDirection

Dirección de un flujo de audio externo.

Valor de enumeración

Valor

Descripción

AoqAudioStreamPublish

0

Publicación de audio

AoqAudioStreamPlayout

1

Audio de reproducción

AoqAudioExternalStreamToggle

Estado de conmutación del flujo de audio externo.

Valor de enumeración

Valor

Descripción

AoqAudioExternalStreamToggleNormal

0

Recuperado

AoqAudioExternalStreamTogglePause

1

En pausa

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

NSInteger

1

Número de canales

sampleRate

NSInteger

48000

Tasa de muestreo, en Hz

playoutVolume

NSInteger

100

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

publishVolume

NSInteger

100

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

maxBufferDuration

NSInteger

1000

Duración máxima del búfer, en ms

enable3A

BOOL

NO

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

AoqAudioFrameData

Datos de audio externos.

Campo

Tipo

Descripción

dataPtr

void *

Puntero a los datos PCM de audio sin procesar

dataSize

NSInteger

Número de bytes de los datos PCM

numOfSamples

NSInteger

Número de muestras (por canal)

bytesPerSample

NSInteger

Bytes por muestra

numOfChannels

NSInteger

Número de canales

samplesPerSec

NSInteger

Número de muestras por segundo

pushSequence

int32_t

Ronda de entrada PCM

timeStamp

int64_t

Marca de tiempo

autoGenMute

BOOL

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

AoqAudioSource

Fuente de datos del callback de fotogramas 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 del callback de tramas de audio.

Campo

Tipo

Valor predeterminado

Descripción

sampleRate

NSInteger

48000

Frecuencia de muestreo del audio de devolución de llamada

channels

NSInteger

1

Número de canales de audio en la devolución de llamada

mode

AoqAudioObserverMode

ReadOnly

Modo de lectura y escritura

AoqAudioVolumeIndicationConfig

Configuración de indicación de volumen local.
CampoTipoValor predeterminadoDescripción
reportSpeechBOOLNOSi se debe detectar voz.
intervalNSInteger0Intervalo 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.
smoothNSInteger3Factor 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
isSpeechBOOLNOSi se detecta voz.
volumeNSInteger0Volumen instantáneo suavizado, de 0 a 255.

Tipos de video

AoqVideoCaptureConfig

Configuración de captura de video.

Campo

Tipo

Valor predeterminado

Descripción

width

NSInteger

1280

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

height

NSInteger

720

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

fps

NSInteger

15

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

isExternal

BOOL

NO

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

AoqVideoCanvas

Estructura de datos para el renderizado de video.

Campo

Tipo

Valor predeterminado

Descripción

view

NSView *

nil

Vista de visualización. Pase nil para eliminar el enlace de renderizado.

renderMode

AoqRenderMode

Auto

Modo de renderización

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:.

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.

AoqRenderView

El control de vista de renderizado, que hereda de NSView y puede usarse como AoqVideoCanvas.view.

Atributo

Tipo

Descripción

engineDisplayView

NSView * (solo lectura)

Vista de visualización utilizada internamente por el motor

renderWidth

int (solo lectura)

Ancho de renderizado

renderHeight

int (solo lectura)

Alto de renderizado

enableMetal

BOOL (solo lectura)

Especifica si se habilita el renderizado Metal

delegate

id<AoqRenderViewDelegate>

Delegado de eventos de la vista de renderizado

AoqRenderViewDelegate

El protocolo delegado de eventos de la vista de renderizado.
- (void)onRenderViewSizeChanged:(AoqRenderView * _Nonnull)view;

Callback

Descripción

onRenderViewSizeChanged:

Callback para cambios en el tamaño de la vista de renderizado

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

AoqVideoPixelFormatCVPixelBuffer

6

Ruta de copia cero. Establezca el campo pixelBuffer en CVPixelBufferRef.

AoqVideoFrame

Datos de video externos.

Campo

Tipo

Descripción

format

AoqVideoPixelFormat

Formato de píxel

width

NSInteger

Ancho, en píxeles

height

NSInteger

Alto, en píxeles

data

NSData *

Datos en formato empaquetado (NV12/NV21/BGRA/RGBA)

dataY / dataU / dataV

NSData *

Datos de los tres planos I420

strideY / strideU / strideV

NSInteger

Stride de los tres planos I420

pixelBuffer

CVPixelBufferRef

Copia cero, que se utiliza cuando format=AoqVideoPixelFormatCVPixelBuffer

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

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

NSData *

Datos codificados

width

NSInteger

Ancho, en píxeles

height

NSInteger

Alto, en píxeles

timeStamp

int64_t

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

AoqVideoCodecConfig

Parámetros de códec de video, compartidos por codificación y decodificación. Para la decodificación, solo trackType / codecType / width / height / fps / bitrate surten efecto y participan en la negociación como una propuesta de suscripción, mientras que los demás campos se utilizan solo para la codificación.

Campo

Tipo

Valor predeterminado

Descripción

isExternal

BOOL

NO

Modo de codificación externa. Cuando es YES, 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

NSInteger

540

Ancho de resolución

height

NSInteger

960

Alto de resolución

fps

NSInteger

5

Tasa de fotogramas

bitrate

NSInteger

500000

Tasa de bits inicial, en bit/s

minBitrate

NSInteger

128000

Tasa de bits mínima, en bit/s

keyframeInterval

NSInteger

2

Intervalo de fotogramas clave, en segundos

mirrorMode

AoqMirrorMode

Disabled

Modo espejo

orientationMode

AoqOrientationMode

Auto

Modo de orientación

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

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

AoqVideoDeviceState

Estado del dispositivo de video.

Campo

Tipo

Descripción

state

AoqVideoDeviceStateCode

Código de estado

reason

NSInteger

Código de error (AoqErrorCode)

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 del callback de tramas 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 lectura-escritura. ReadWrite solo es compatible con I420 / CVPixelBuffer.

mirrorApplied

BOOL

NO

Especifica si se deben reflejar los datos del callback

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

Tipos de captura de pantalla

AoqScreenShareSourceType

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

AoqScreenSourceInfo

CampoTipoValor predeterminadoDescripción
sourceTypeAoqScreenShareSourceTypeEscritorioTipo de fuente
sourceIdint64_t0ID de fuente
sourceNameNSString *—Nombre de la fuente
sourceIsSelfBOOL—Si la ventana pertenece al proceso actual

AoqScreenSourceList

CampoTipoDescripción
sourceListNSArray<AoqScreenSourceInfo *> *Matriz de fuentes de pantalla

AoqScreenCaptureConfig

CampoTipoValor predeterminadoDescripción
isExternalBOOLNOSi la aplicación suministra tramas de pantalla sin procesar.
sourceIdint64_t0ID de fuente de pantalla.
sourceTypeAoqScreenShareSourceTypeAoqScreenShareSourceTypeWindowTipo de fuente de pantalla.