Este tema describe las API de TypeScript, los eventos y los tipos de datos de AOQ Client SDK para Electron. El SDK es compatible con macOS x64/arm64 y Windows x64, y requiere Node.js 16 o posterior.
aoq-electron-sdk (npm). Plataformas compatibles: macOS (x64 / arm64) y Windows x64. Node.js >= 16.Índice de API
Puntos de entrada del motor y ciclo de vida
| API | Descripción |
|---|---|
| createAoqClientEngine | Obtener la instancia del contenedor del motor (singleton diferido a nivel de módulo) |
| createEngine | Crear la instancia del motor nativo |
| destroy | Destruir la instancia del motor |
| getVersion | Obtener la versión del SDK |
| connect | Conectar al servidor Relay |
| disconnect | Desconectar del servidor |
Gestión de dispositivos de audio
| API | Descripción |
|---|---|
| startAudioCapture | Abrir el dispositivo de captura de audio (micrófono) |
| stopAudioCapture | Cerrar el dispositivo de captura de audio |
| muteAudioCapture | Silenciar o reactivar la captura de audio |
| startAudioPlayer | Iniciar renderizado de audio (reproducción de audio remoto) |
| stopAudioPlayer | Detener la renderización de audio |
| pauseAudioPlayer | Pausar el renderizado de audio, con desvanecimiento opcional |
| resumeAudioPlayer | Reanudar el renderizado de audio, con aparición gradual opcional |
| interruptAudioPlayer | Interrumpir la sesión de audio actual |
Configuración del códec de audio
| API | Descripción |
|---|---|
| setAudioEncoderConfig | Establecer parámetros de codificación de audio |
| setAudioDecoderConfig | Establecer parámetros de decodificación de audio |
Gestión de dispositivos de video
| API | Descripción |
|---|---|
| startVideoCapture | Abrir el dispositivo de captura de video (cámara) |
| stopVideoCapture | Cerrar el dispositivo de captura de video |
Configuración de códec de video y entrada externa
| API | Descripción |
|---|---|
| setVideoEncoderConfig | Establecer parámetros de codificación de video |
| setVideoDecoderConfig | Establecer parámetros de decodificación de video |
| pushExternalVideoCapturedFrame | Enviar tramas de video capturadas externamente |
| pushExternalVideoEncodedFrame | Enviar tramas de video codificadas externamente |
Captura de pantalla
| API | Descripción |
|---|---|
| getScreenSourceList | Obtener la lista de escritorios y ventanas compartibles |
| startScreenCapture | Iniciar la captura de pantalla |
| stopScreenCapture | Detener la captura de pantalla |
Control de transmisión de flujo de medios
| API | Descripción |
|---|---|
| enableSendMediaStream | Habilitar o deshabilitar la transmisión de secuencia de medios local |
Reproducción de archivos de audio
| API | Descripción |
|---|---|
| startAudioFile | Iniciar la reproducción y publicación de un archivo de audio local |
| stopAudioFile | Detener la reproducción del archivo de audio |
| pauseAudioFile | Pausar la reproducción del archivo de audio |
| resumeAudioFile | Reanudar la reproducción del archivo de audio |
| getAudioFileDuration | Obtener la duración total del archivo de audio |
| getAudioFileCurrentPosition | Obtener la posición de reproducción actual del archivo de audio |
| setAudioFilePositionMillis | Buscar una posición en el archivo de audio |
| setAudioFileVolume | Establecer el volumen del archivo de audio |
| getAudioFileVolume | Obtener el volumen actual del archivo de audio |
Secuencias de audio externas
| API | Descripción |
|---|---|
| addAudioExternalStream | Agregar un flujo de audio externo |
| removeAudioExternalStream | Eliminar un flujo de audio externo |
| pushAudioExternalStreamData | Enviar datos de audio PCM externos |
| setAudioExternalStreamVolume | Establecer el volumen de la secuencia de audio externa |
| getAudioExternalStreamVolume | Obtener el volumen de la secuencia de audio externa |
| clearAudioExternalStreamBuffer | Borrar el búfer de la secuencia de audio externa |
Mensajes en tiempo real
| API | Descripción |
|---|---|
| sendDataMsg | Enviar un mensaje de datos en tiempo real |
Devoluciones de llamada de cuadros de audio
| API | Descripción |
|---|---|
| setAudioFrameObserver | Habilitar o deshabilitar el observador de fotogramas de audio |
| enableAudioFrameObserver | Habilitar o deshabilitar callbacks de tramas de audio en una etapa específica |
Indicación de volumen de audio local
| API | Descripción |
|---|---|
| enableLocalAudioVolumeIndication | Habilitar o deshabilitar las devoluciones de llamada de indicación de volumen de captura local |
Devoluciones de llamada de cuadros de video
| API | Descripción |
|---|---|
| setVideoFrameObserver | Habilitar o deshabilitar el observador de fotogramas de video |
| enableVideoFrameObserver | Habilitar o deshabilitar callbacks de tramas de video en una etapa específica |
Renderizado de video (YUVCanvasRenderer)
| API | Descripción |
|---|---|
| bind | Vincular un elemento canvas |
| unbind | Desvincular el lienzo y borrar su contenido |
| bound | Comprobar si un lienzo está vinculado |
| drawFrame | Renderizar un fotograma de video I420 |
Eventos del motor (IAoqEngineEvents)
| API | Descripción |
|---|---|
| onError | Callback de error del motor |
| onWarning | Callback de advertencia del motor |
| onConnectionStatusChange | Callback de cambio de estado de conexión |
| onStats | Callback de estadísticas del motor |
| onAudioDeviceStateChanged | Callback de cambio de estado de operación del dispositivo de audio |
| onAudioDeviceRouteChanged | Callback de cambio de ruta de salida de audio |
| onAudioFileState | Callback de estado de reproducción de archivo de audio |
| onLocalAudioVolumeIndication | Callback de indicación de volumen de captura local |
| onVideoDeviceStateChanged | Callback de cambio de estado de operación del dispositivo de video |
| onDataMsg | Callback de mensaje de datos en tiempo real recibido |
Eventos de fotogramas de audio
| API | Descripción |
|---|---|
| onCapturedAudioFrame | Se invoca cuando se captura un cuadro de audio sin procesar. El cuadro contiene datos PCM no procesados. |
| onProcessCapturedAudioFrame | Se invoca para un cuadro de audio después del procesamiento 3A: cancelación de eco acústico, supresión de ruido y control automático de ganancia. |
| onPublishAudioFrame | Se invoca para un cuadro de audio antes de su publicación. El cuadro se codificará y se enviará al servidor Relay. |
| onPlaybackAudioFrame | Se llama para un fotograma de audio remoto antes de la reproducción. El fotograma ha sido decodificado pero aún no mezclado. |
Eventos de fotogramas de video
| API | Descripción |
|---|---|
| onCapturedVideoFrame | Se invoca cuando se captura un cuadro de video sin procesar, antes del preprocesamiento. El cuadro proviene de la cámara o de la captura de pantalla y no ha sido preprocesado. |
| onPreEncodeVideoFrame | Se invoca para un cuadro de video después del preprocesamiento y antes de la codificación. |
| onRemoteVideoFrame | Se invoca para un cuadro de video remoto después de la decodificación y antes de la renderización. |
Detalles de la API
Puntos de entrada del motor y ciclo de vida
createAoqClientEngine
Obtiene la instancia contenedora del motor. Es un singleton inicializado de forma diferida a nivel de módulo. Llamar a este método nuevamente devuelve la misma instancia, lo cual se alinea con la semántica de singleton del motor nativo. También es la exportación predeterminada del paquete.
IAoqClientEngine. Tenga en cuenta que este método solo crea la capa contenedora JS y el puente nativo. Para crear realmente el motor, también debe llamar a createEngine().
createEngine
Crea la instancia del motor nativo. El motor es un singleton global, por lo que llamar a este método nuevamente devuelve éxito directamente.
Parámetros | Tipo | Descripción |
|---|---|---|
config | AoqCreateConfig | Configuración de creación del motor |
0 en caso de éxito; -1 indica que la creación falló o que el parámetro no es un JSON válido.
createEngine() adjunta una bomba de mensajes Win32 de 16 ms al bucle libuv del hilo JS actual (necesario para la captura de cámara) y la detiene en destroy(). Por lo tanto, no bloquee sincrónicamente el hilo JS durante mucho tiempo después de createEngine().destroy
Destruye la instancia del motor y libera todos los recursos.
0 indica éxito; un valor distinto de 0 indica un fallo. Si el motor no está creado, se devuelve 0.
getVersion
Obtiene la versión actual del SDK. No es necesario llamar a createEngine() primero.
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.
Parámetros | Tipo | Descripción |
|---|---|---|
config | AoqConnectConfig | Configuración de conexión, que incluye el token, el SID, la lista de puntos de acceso de retransmisión y las listas de pistas de publicación y suscripción |
0 indica que la llamada se ha despachado y se ejecuta de forma asíncrona; un valor distinto de 0 indica que la validación de parámetros falló. El resultado de la conexión se notifica mediante el evento onConnectionStatusChange.
disconnect
Desconecta del servidor y libera los recursos asociados con la conexión.
0 indica que la llamada se ha despachado y se ejecuta de forma asíncrona; un valor distinto de 0 indica un fallo.
Gestión de dispositivos de audio
startAudioCapture
NSMicrophoneUsageDescription en el archivo Info.plist de la aplicación.
stopAudioCapture
muteAudioCapture
mute=true silencia y false reactiva.
startAudioPlayer
stopAudioPlayer / pauseAudioPlayer / resumeAudioPlayer
fadeMs: la duración del desvanecimiento de salida o entrada, en milisegundos. 0 indica ejecución inmediata.
interruptAudioPlayer
Parámetros | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType | Tipo de pista |
fadeMs | number | Duración del desvanecimiento, en milisegundos |
Configuración del códec de audio
connect(). Para usar Opus (AoqEncoderTypeAudioOpus), el complemento PluginOpus debe estar integrado en el SDK o distribuido con el paquete.
Gestión de dispositivos de video
NSCameraUsageDescription en Info.plist. Cuando config.isExternal=true, la cámara no se abre y los cuadros se entregan mediante pushExternalVideoCapturedFrame.
setLocalView / setRemoteView / switchCamera. Para la vista previa, utilice el observador de cuadros con YUVCanvasRenderer (consulte 2.13).Configuración de códec de video y entrada externa
Parámetros | Tipo | Descripción |
|---|---|---|
meta | AoqExternalVideoFrameMeta / AoqExternalVideoEncodedFrameMeta | Metadatos del fotograma (dimensiones, formato y marca de tiempo) |
buffer | Uint8Array | Datos del fotograma (datos de píxeles o datos codificados) |
pushExternalVideoCapturedFrameconsume cuadros de Video después destartVideoCapture({ isExternal: true })y cuadros de Pantalla después destartScreenCapture({ isExternal: true }). Devuelve211cuando la captura externa no está habilitada y210cuando el búfer está lleno.- Se admiten
AoqVideoPixelFormatI420y formatos empaquetados (NV12 / NV21 / BGRA / RGBA). Para I420,bufferdebe usar un diseño compacto (stride = width), con los planos Y / U / V concatenados en orden. pushExternalVideoEncodedFramerequiere primerosetVideoEncoderConfig({ isExternal: true }). Devuelve212cuando no está habilitado. Actualmente solo se admite JPEG.- Cuando
meta.timeStampes0, el SDK lo rellena con la hora local.
Captura de pantalla
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 error.
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
Control de transmisión de flujo de medios
trackType admite AoqTrackTypeAudio, AoqTrackTypeVideo y AoqTrackTypeScreen.
Especifica si se debe enviar un flujo de medios local específico. Se recomienda llamar a enableSendMediaStream(trackType, false) después de la inicialización y habilitar el envío solo después de que onConnectionStatusChange reporte AoqConnectionStatusConnected.
Reproducción de archivos de audio
Parámetros | Tipo | Descripción |
|---|---|---|
config | AoqAudioFileMixConfig | Configuración de mezcla de archivos. |
fileId | string | Identificador de archivo, definido por el llamador. Las llamadas posteriores a la API lo utilizan para ubicar el archivo. |
positionMs | number | Posición de reproducción objetivo, en milisegundos |
type | AoqAudioStreamDirection | Volumen de publicación o volumen de reproducción local |
volume | number | Volumen. Valores válidos: de 0 a 100. |
getAudioFileDuration/getAudioFileCurrentPositiondevuelven el número de milisegundos;getAudioFileVolumedevuelve el volumen actual;- Los captadores anteriores devuelven
-1cuando no se ha creado el motor.
onAudioFileState.
Secuencias de audio externas
Parámetros | Tipo | Descripción |
|---|---|---|
config | AoqAudioExternalStreamConfig | Configuración de flujo de audio externo. |
streamId | string | Identificador de flujo, definido por el llamador |
meta | AoqAudioExternalFrameMeta | Metadatos de fotograma PCM. |
buffer | Uint8Array | Datos PCM |
fadeoutMs | number | Duración del desvanecimiento de salida cuando se borra el búfer, en milisegundos |
pushAudioExternalStreamDatadevuelve110(búfer de audio externo lleno) cuando la duración almacenada en búfer superamaxBufferDuration.getAudioExternalStreamVolumedevuelve el volumen actual. Devuelve-1cuando el motor no está creado.clearAudioExternalStreamBufferno tiene valor de retorno en el lado nativo y siempre devuelve0en una llamada exitosa.
Mensajes en tiempo real
string, se codifica internamente en UTF-8 en un Buffer antes de enviarse. Los mensajes del par se notifican a través del callback de evento onDataMsg.
Devoluciones de llamada de cuadros de audio
Parámetros | Tipo | Descripción |
|---|---|---|
enable | boolean |
|
params | AoqAudioObserverParams | Especificar la posición de la devolución de llamada, el estado de activación/desactivación y el formato de la devolución de llamada |
setAudioFrameObserver(true) para registrar el observador. Luego, llame a enableAudioFrameObserver para cada posición que necesite. Los datos se entregan a través de los eventos correspondientes.
ReadOnly).Indicación de volumen de audio local
config.interval <= 0, la devolución de llamada se deshabilita. Una vez habilitada, onLocalAudioVolumeIndication se activa en el intervalo especificado por config.interval. Debe llamar a este método después de startAudioCapture() para obtener los datos de volumen.
Devoluciones de llamada de cuadros de video
Parámetros | Tipo | Descripción |
|---|---|---|
enable | boolean |
|
params | AoqVideoObserverParams | Especificar la posición de la devolución de llamada, el estado de activación/desactivación, el formato de píxel y la política de alineación |
AoqVideoFrameEvent a través de onCapturedVideoFrame / onPreEncodeVideoFrame / onRemoteVideoFrame. Para I420, buffer corresponde a los planos Y / U / V concatenados según el stride. Otros formatos empaquetados se transmiten como los datos originales. Asimismo, solo se admite el modo de solo lectura.
Renderizado de video (YUVCanvasRenderer)
El renderizador de software integrado en el SDK.
API | Descripción |
|---|---|
bind | Vincular un lienzo (vincular de nuevo reemplaza el destino) |
unbind | Desvincular y borrar la imagen |
bound | Especifica si se ha establecido una vinculación |
drawFrame | Dibuja un cuadro; solo se admite I420, y el método retorna silenciosamente para formatos que no sean I420 o cuando el tamaño o la longitud del búfer son insuficientes |
object-fit para controlar el canvas.
Eventos del motor (IAoqEngineEvents)
El motor hereda de EventEmitter<IAoqEngineEvents>. Los eventos son la salida unificada para todas las notificaciones asíncronas del SDK y se asignan uno a uno con los callbacks nativos de AoqEngineEventListener. No necesita registrar los eventos que no le interesen.
onError
code corresponde a un valor AoqErrorCode (consulte 3.3).
onWarning
code corresponde a un valor AoqWarningCode (consulte 3.3).
onConnectionStatusChange
onStats
Parámetros | Tipo | Descripción |
|---|---|---|
stats | AoqStats | Estadísticas de publicación y suscripción, y estadísticas de red para mensajes de audio, video y datos |
onAudioDeviceStateChanged
onAudioDeviceRouteChanged
routeType corresponde a un valor de AoqAudioDeviceRouteType (consulte 3.4).
onAudioFileState
onLocalAudioVolumeIndication
enableLocalAudioVolumeIndication.
onVideoDeviceStateChanged
onDataMsg
data es un Buffer copiado en el lado nativo y puede conservarse de forma segura de manera asíncrona. Para mensajes de texto, utilice Buffer.from(data).toString() para convertir los datos a una cadena.
Eventos de cuadros de audio
setAudioFrameObserver(true) y enableAudioFrameObserver para habilitarlo.
onCapturedAudioFrame
Se invoca cuando se captura un cuadro de audio sin procesar. El cuadro contiene datos PCM no procesados.
| Parámetro | Tipo | Descripción |
|---|---|---|
| frame | AoqAudioFrameEvent | Datos de fotograma de audio capturado. Los datos PCM están en frame.buffer. |
onProcessCapturedAudioFrame
Se invoca para un cuadro de audio después del procesamiento 3A: cancelación de eco acústico, supresión de ruido y control automático de ganancia.
| Parámetro | Tipo | Descripción |
|---|---|---|
| frame | AoqAudioFrameEvent | Datos de fotograma de audio después del procesamiento 3A. Los datos PCM están en frame.buffer. |
onPublishAudioFrame
Se invoca para un cuadro de audio antes de su publicación. El cuadro se codificará y se enviará al servidor Relay.
| Parámetro | Tipo | Descripción |
|---|---|---|
| frame | AoqAudioFrameEvent | Datos de fotograma de audio antes de la publicación. Los datos PCM están en frame.buffer. |
onPlaybackAudioFrame
Se llama para un fotograma de audio remoto antes de la reproducción. El fotograma ha sido decodificado pero aún no mezclado.
| Parámetro | Tipo | Descripción |
|---|---|---|
| frame | AoqAudioFrameEvent | Datos de fotograma de audio remoto antes de la reproducción. Los datos PCM están en frame.buffer. |
Eventos de cuadros de video
setVideoFrameObserver(true) y enableVideoFrameObserver para habilitarlo. Los eventos de cuadro son de solo lectura. Las modificaciones a buffer en el callback no se escriben de vuelta en el SDK.
onCapturedVideoFrame
Se invoca cuando se captura un cuadro de video sin procesar, antes del preprocesamiento. El cuadro proviene de la cámara o de la captura de pantalla y no ha sido preprocesado.
| Parámetro | Tipo | Descripción |
|---|---|---|
| frame | AoqVideoFrameEvent | Datos de fotograma de video capturado |
onPreEncodeVideoFrame
Se invoca para un cuadro de video después del preprocesamiento y antes de la codificación.
| Parámetro | Tipo | Descripción |
|---|---|---|
| frame | AoqVideoFrameEvent | Datos de fotograma de video antes de la codificación |
onRemoteVideoFrame
Se invoca para un cuadro de video remoto después de la decodificación y antes de la renderización.
| Parámetro | Tipo | Descripción |
|---|---|---|
| frame | AoqVideoFrameEvent | Datos de fotograma de video remoto decodificado |
Tipos de datos y enumeraciones
Tipos comunes
AoqCreateConfig
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
workDir | string | No | "" | Directorio de trabajo del SDK (para registros y archivos temporales) |
enableDumpAudio | boolean | No | false | Especifica si se deben guardar los datos de audio (para depuración) |
extras | string | No | "" | Parámetros extendidos (una cadena JSON) |
AoqConnectConfig
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
token | string | Sí | - | Token de autenticación de conexión |
sid | string | Sí | - | ID de sesión |
certFingerprint | string | No | "" | Huella digital del certificado del servidor |
workspaceIdHash | string | No | None | Hash de ID del espacio de trabajo. Una cadena vacía equivale a no pasar el parámetro. |
relayEndpoints | Array | Sí | - | Lista de puntos de acceso de retransmisión |
publishTracks | Array | Sí | - | Lista de pistas publicadas locales |
subscribeTracks | Array | Sí | - | Lista de pistas suscritas locales |
AoqRelayEndpoint
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
routeIndex | number | No | -1 | Índice de ruta |
endpoint | string | Sí | - | Nombre de dominio o dirección IP del servidor de retransmisión |
port | number | Sí | - | Puerto del servidor de retransmisión |
| tcpPort | number | No | 0 | Puerto de reserva TCP. Un valor de 0 utiliza el puerto predeterminado del SDK, 443. |
AoqTrackParam
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
trackType | AoqTrackType | Sí | - | Tipo de pista |
trackMode | AoqTrackMode | No | AoqTrackModeSegment | Modo de transmisión o sin transmisión. Efectivo solo para el enlace descendente de audio. |
Tipos de estadísticas
AoqStats
Un resumen de estadísticas del motor, que se reporta periódicamente a través de onStats. Un campo de matriz es una matriz vacía cuando no tiene datos, y networkStats no se entrega cuando no tiene datos.
Campo | Tipo | Descripción |
|---|---|---|
audioPublishStats | Array | Estadísticas de publicación de audio |
videoPublishStats | Array | Estadísticas de publicación de video |
dataMsgPublishStats | Array | Estadísticas de publicación de mensajes de datos |
audioSubscribeStats | Array | Estadísticas de suscripción de audio |
videoSubscribeStats | Array | Estadísticas de suscripción de video |
dataMsgSubscribeStats | Array | Estadísticas de suscripción de mensajes de datos |
networkStats | AoqNetworkStats | Estadísticas de red |
AoqAudioPublishStats
Campo | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType | Tipo de pista |
bitrate | number | Tasa de bits, en bit/s |
bytes | number | Bytes enviados acumulados |
encodeVolume | number | Volumen de codificación del flujo de publicación |
AoqAudioSubscribeStats
Campo | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType | Tipo de pista |
bitrate | number | Tasa de bits, en bit/s |
bytes | number | Bytes acumulados recibidos |
playVolume | number | Volumen de reproducción |
AoqVideoPublishStats
Campo | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType | Tipo de pista |
bitrate | number | Tasa de bits, en bit/s |
bytes | number | Bytes enviados acumulados |
encodeFps | number | Tasa de cuadros de codificación |
AoqVideoSubscribeStats
Campo | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType | Tipo de pista |
bitrate | number | Tasa de bits, en bit/s |
bytes | number | Bytes acumulados recibidos |
decodeFps | number | Tasa de fotogramas de decodificación |
renderFps | number | Tasa de fotogramas de renderizado |
AoqDataMsgPublishStats / AoqDataMsgSubscribeStats
Campo | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType | Tipo de pista |
bitrate | number | Tasa de bits, en bit/s |
bytes | number | Bytes acumulados enviados y recibidos |
AoqNetworkStats
Campo | Tipo | Descripción |
|---|---|---|
sendBitrate | number | Tasa de bits de envío, en bit/s |
sendBytes | number | Bytes enviados acumulados |
recvBitrate | number | Tasa de bits de recepción, en bit/s |
recvBytes | number | Bytes acumulados recibidos |
loss | number | Tasa de pérdida de paquetes, de 0 a 100 |
rtt | number | Latencia de ida y vuelta, en ms |
Enumeraciones
AoqTrackType
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqTrackTypeAudio | 0 | Pista de audio |
AoqTrackTypeVideo | 1 | Pista de video |
AoqTrackTypeData | 2 | Pista de mensajes de datos |
| AoqTrackTypeScreen | 3 | Pista de pantalla compartida. Solo enlace ascendente. |
AoqTrackMode
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. |
AoqEncoderType
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqEncoderTypeUnknown | 0 | Formato desconocido |
AoqEncoderTypeAudioPCM | 1 | Audio PCM |
AoqEncoderTypeAudioOpus | 2 | Audio Opus (basado en complemento; requiere PluginOpus) |
AoqEncoderTypeVideoH264 | 3 | Video H.264 |
AoqEncoderTypeVideoJpeg | 4 | Video JPEG |
AoqEncoderTypeDataText | 5 | Texto del mensaje |
AoqConnectionStatus
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqConnectionStatusDisconnected | 0 | Desconectado |
AoqConnectionStatusConnecting | 1 | Conectando |
AoqConnectionStatusConnected | 2 | Conectado |
AoqConnectionStatusFailed | 3 | Error de conexión |
AoqMirrorMode
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqMirrorModeDisabled | 0 | Deshabilitar espejo |
AoqMirrorModeEnabled | 1 | Habilitar espejo |
AoqOrientationMode
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqOrientationModeAuto | 0 | Auto-fit |
AoqOrientationModePortrait | 1 | Vertical |
AoqOrientationModeLandscape | 2 | Horizontal |
AoqErrorCode
Los siguientes nombres son códigos de error del motor C++ subyacente. La API de TypeScript de Electron no exporta esta enumeración. El argumento code de onError es un number.
Los códigos de error se definen en la capa nativa. Tanto el parámetro code de onError como los valores de retorno de la API utilizan estos valores (la capa TS no los exporta como un enum).
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqECOK | 0 | Éxito |
AoqECParamInvalid | 1 | Parámetro no válido |
AoqECStateInvalid | 2 | Estado no válido |
AoqECUnSupport | 3 | No compatible con 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 | Error al iniciar la 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 | Error al iniciar la 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 | Excepción de tiempo de ejecución de la cámara |
AoqECVideoCodec | 230 | Error genérico de códec de video |
AoqECVideoCodecEncoderInitFail | 231 | Error al inicializar el codificador de video |
AoqECVideoRender | 240 | Error genérico de renderizado de video |
AoqECVideoRenderCreateFail | 241 | Error al crear el renderizado de video |
AoqECVideoRenderDrawError | 242 | Error de dibujo en el renderizado de video |
| AoqECScreen | 300 | Error general de uso compartido de pantalla |
| AoqECScreenAuthFailed | 310 | Permiso de uso compartido de pantalla denegado |
| AoqECScreenStartFailed | 311 | Error al iniciar el uso compartido de pantalla |
| AoqECAudioDeviceEarpieceRequiresVoipMode | 128 | El auricular requiere el modo VoIP. Se aplica a plataformas móviles y generalmente no se activa en Electron. |
-1 cuando el motor no está creado o ha sido destruido, o cuando un parámetro no es un JSON válido.AoqWarningCode
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 durante la grabación |
AoqWCAudioDeviceSpeakerEnumerateError | 124 | Error de enumeración de altavoces |
AoqWCAudioDeviceSpeakerStartTimeout | 125 | Se agotó el tiempo de inicio del altavoz |
AoqWCAudioDevicePlayoutError | 126 | Error durante la 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 |
Tipos de audio
AoqAudioCaptureConfig
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
isExternal | boolean | No | false | Especifica si se debe usar el modo de captura externa |
channel | number | No | 1 | Número de canales de captura de audio. Se admiten 1 y 2. |
AoqAudioPlaybackConfig
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
isExternal | boolean | No | false | Especifica si se debe usar el modo de reproducción externa |
channel | number | No | 1 | Número de canales de reproducción de audio. Se admiten 1 y 2. |
AoqAudioCodecConfig
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
trackType | AoqTrackType | No | AoqTrackTypeAudio | Tipo de pista |
codecType | AoqEncoderType | No | AoqEncoderTypeAudioOpus | Formato de códec |
sampleRate | number | No | 48000 | Tasa 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 solo en modo Segment. |
channel | number | No | 1 | Número de canales. Se admiten 1 y 2. |
bitrate | number | No | 32000 | Tasa de bits, en bit/s |
AoqAudioDeviceRouteType
La siguiente tabla enumera los valores válidos de routeType para onAudioDeviceRouteChanged. Estos valores son definidos por la capa nativa y no son exportados como un enum por la capa TypeScript.
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqAudioDeviceRouteDefault | 0 | Ruta predeterminada |
AoqAudioDeviceRouteHeadset | 1 | Auriculares con micrófono |
AoqAudioDeviceRouteEarpiece | 2 | Receiver |
AoqAudioDeviceRouteHeadsetNoMic | 3 | Auriculares sin micrófono |
AoqAudioDeviceRouteSpeakerPhone | 4 | Altavoz |
AoqAudioDeviceRouteUsb | 5 | Dispositivo de audio USB |
AoqAudioDeviceRouteBluetooth | 6 | Modo Bluetooth SCO |
AoqAudioDeviceRouteBluetoothA2dp | 7 | Modo Bluetooth A2DP |
AoqAudioDeviceStateCode
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
Campo | Tipo | Descripción |
|---|---|---|
state | AoqAudioDeviceStateCode | Estado de operación del dispositivo |
reason | number | Código de motivo de error. Consulte AoqErrorCode. |
Tipos de archivos de audio
AoqAudioFileMixConfig
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
fileId | string | Sí | - | Identificador de archivo. Las llamadas posteriores a la API lo utilizan para ubicar el archivo. |
fileName | string | Sí | - | Nombre del archivo (incluida la ruta) |
cycles | number | No | -1 | Número de bucles. -1 indica un bucle ilimitado. |
startPosMs | number | No | 0 | Posición de inicio de reproducción, en milisegundos |
publishVolume | number | No | 100 | Volumen de publicación. Valores válidos: de 0 a 100. |
playoutVolume | number | No | 100 | Volumen de reproducción. Valores válidos: de 0 a 100. |
AoqAudioFileStateCode
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqAudioFileNone | 0 | Sin estado |
AoqAudioFileStarted | 1 | Reproducción iniciada |
AoqAudioFileStopped | 2 | Reproducción detenida |
AoqAudioFilePaused | 3 | Reproducción en pausa |
AoqAudioFileResumed | 4 | Reproducción reanudada |
AoqAudioFileEnded | 5 | Reproducción finalizada |
AoqAudioFileBuffering | 6 | Almacenamiento en búfer de reproducción |
AoqAudioFileBufferingEnd | 7 | Almacenamiento en búfer finalizado |
AoqAudioFileFailed | 8 | Error en la reproducción |
AoqAudioFileErrorCode
La siguiente tabla enumera los valores válidos de AoqAudioFileState.errorCode. Estos valores son definidos por la capa nativa y se entregan como valores number por la capa TypeScript.
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
Campo | Tipo | Descripción |
|---|---|---|
fileId | string | Identificador de archivo |
stateCode | AoqAudioFileStateCode | Código de estado de reproducción de archivo |
errorCode | number | Código de error de archivo. Consulte AoqAudioFileErrorCode. |
Tipos de flujo de audio externo
AoqAudioStreamDirection
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqAudioStreamPublish | 0 | Publicando flujo |
AoqAudioStreamPlayout | 1 | Flujo de reproducción (reproducción local) |
AoqAudioExternalStreamConfig
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
streamId | string | Sí | - | Identificador de flujo |
trackType | AoqTrackType | No | AoqTrackTypeAudio | Tipo de pista de audio |
codecType | AoqEncoderType | No | AoqEncoderTypeAudioPCM | Formato de flujo de audio. Actualmente se admite PCM. |
channels | number | No | 1 | Número de canales. Está limitado por el códec del flujo de publicación. Se admiten 1 y 2. |
sampleRate | number | No | 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 | number | No | 100 | Volumen de reproducción. Valores válidos: de 0 a 100. |
publishVolume | number | No | 100 | Volumen de publicación. Valores válidos: de 0 a 100. |
maxBufferDuration | number | No | 600000 | Duración máxima del búfer, en milisegundos. Valores válidos: 100 y superiores. Si la duración supera este valor, el envío falla. |
enable3A | boolean | No | false | Especifica si se debe aplicar el procesamiento 3A al PCM de entrada |
AoqAudioExternalFrameMeta
Metadatos de un cuadro de audio externo. Los datos PCM se pasan por separado mediante el parámetro buffer.
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
streamId | string | Sí | - | Identificador del flujo de audio externo objetivo |
numOfSamples | number | Sí | 0 | Número de muestras (por canal) |
bytesPerSample | number | Sí | 2 | Bytes por muestra |
numOfChannels | number | Sí | 1 | Número de canales |
samplesPerSec | number | Sí | 48000 | Número de muestras por segundo (tasa de muestreo) |
pushSequence | number | No | 0 | Ronda de entrada PCM |
timeStamp | number | No | 0 | Marca de tiempo |
AoqAudioFrameEvent
Datos de evento del observador de fotogramas de audio.
Campo | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType | Tipo de pista |
numOfSamples | number | Número de muestras (por canal) |
bytesPerSample | number | Bytes por muestra |
numOfChannels | number | Número de canales |
samplesPerSec | number | Número de muestras por segundo (tasa de muestreo) |
timeStamp | number | Marca de tiempo |
autoGenMute | boolean | true indica datos silenciosos generados por el SDK |
buffer | Uint8Array | Datos de audio PCM (ya copiados en el lado nativo) |
AoqAudioSource
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 que se publicarán (requiere una conexión exitosa) |
AoqAudioSourcePlayback | 3 | Datos de audio a reproducir |
AoqAudioObserverParams
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
enabled | boolean | Sí | false | Habilitar o deshabilitar el callback en esta posición |
audioSource | AoqAudioSource | Sí | AoqAudioSourceCaptured | Posición de la devolución de llamada |
sampleRate | number | No | 48000 | Frecuencia de muestreo del audio de devolución de llamada, en Hz. Se realiza un remuestreo si las frecuencias no coinciden. |
channels | number | No | 1 | Número de canales de audio en la devolución de llamada. Se admiten 1 y 2. |
AoqAudioVolumeIndicationConfig
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
interval | number | No | 0 | Intervalo de callback, en milisegundos. Un valor menor o igual a 0 desactiva el callback. Un valor mayor que 0 y menor que 10 se trata como 10. |
smooth | number | No | 3 | Coeficiente de suavizado de volumen. Un valor mayor produce una salida más suave. Valores válidos: de 0 a 10. |
AoqAudioVolume
Campo | Tipo | Descripción |
|---|---|---|
volume | number | Volumen instantáneo suavizado. Valores válidos: de 0 a 255. |
Tipos de video
AoqVideoCaptureConfig
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
width | number | No | 1280 | Ancho de captura, en píxeles. Este parámetro no tiene efecto cuando isExternal=true. |
height | number | No | 720 | Altura de captura, en píxeles. Este parámetro no tiene efecto cuando isExternal=true. |
fps | number | No | 15 | Tasa de cuadros de captura. Este parámetro no tiene efecto cuando isExternal=true (el ritmo lo determina la entrega de cuadros). |
isExternal | boolean | No | false | Especifica si se debe utilizar captura externa. Si es true, la cámara no se abre. |
AoqVideoCodecConfig
La codificación y la decodificación comparten la misma estructura (setVideoEncoderConfig / setVideoDecoderConfig).
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
isExternal | boolean | No | false | Cuando este parámetro es true, el SDK no realiza captura ni codificación, y los cuadros se envían directamente mediante pushExternalVideoEncodedFrame. |
trackType | AoqTrackType | No | AoqTrackTypeVideo | Tipo de pista |
codecType | AoqEncoderType | No | AoqEncoderTypeVideoH264 | Formato de códec |
width | number | No | 540 | Ancho de codificación, en píxeles |
height | number | No | 960 | Altura de codificación, en píxeles |
fps | number | No | 5 | Tasa de cuadros de codificación |
bitrate | number | No | 500000 | Tasa de bits inicial, en bit/s |
minBitrate | number | No | 128000 | Tasa de bits mínima, en bit/s |
keyframeInterval | number | No | 2 | Intervalo de fotogramas clave, en segundos |
mirrorMode | AoqMirrorMode | No | AoqMirrorModeDisabled | Modo espejo |
orientationMode | AoqOrientationMode | No | AoqOrientationModeAuto | Modo de orientación de video |
AoqVideoPixelFormat
Formatos de píxel compatibles con Electron.
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqVideoPixelFormatUnknown | 0 | Formato desconocido |
AoqVideoPixelFormatI420 | 1 | I420 (formato planar YUV) |
AoqVideoPixelFormatNV12 | 2 | NV12 (formato semiplanar YUV) |
AoqVideoPixelFormatNV21 | 3 | NV21 (formato semiplanar YUV) |
AoqVideoPixelFormatBGRA | 4 | BGRA (32 bits) |
AoqVideoPixelFormatRGBA | 5 | RGBA (32 bits) |
AoqExternalVideoFrameMeta
Metadatos de un cuadro de video sin procesar externo. Los datos de píxeles se pasan por separado mediante el parámetro buffer.
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
trackType | AoqTrackType | No | AoqTrackTypeVideo | Tipo de pista ; admite el enrutamiento de Video / Screen |
format | AoqVideoPixelFormat | Sí | - | Formato de píxel |
width | number | Sí | - | Ancho del video, en píxeles |
height | number | Sí | - | Altura del video, en píxeles |
timeStamp | number | No | 0 | Marca de tiempo, en milisegundos. Si es 0, el SDK la rellena con la hora local. |
format = I420, buffer debe usar un diseño compacto (stride = width), con los planos Y / U / V concatenados en orden. Para otros formatos empaquetados, pase los bytes completos del cuadro directamente.AoqVideoCodecType
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqVideoCodecTypeJPEG | 0 | Codificación JPEG |
AoqExternalVideoEncodedFrameMeta
Metadatos de un cuadro de video codificado externamente. Los datos codificados se pasan por separado mediante el parámetro buffer.
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
trackType | AoqTrackType | No | AoqTrackTypeVideo | Tipo de pista ; admite el enrutamiento de Video / Screen |
codec | AoqVideoCodecType | No | AoqVideoCodecTypeJPEG | Formato de códec |
width | number | Sí | - | Ancho, en píxeles |
height | number | Sí | - | Alto, en píxeles |
timeStamp | number | No | 0 | Marca de tiempo, en milisegundos. Si es 0, el SDK la rellena con la hora local. |
AoqVideoDeviceStateCode
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqVideoDeviceNone | 0 | Sin estado |
AoqVideoDeviceCaptureStarting | 1 | Iniciando captura |
AoqVideoDeviceCaptureStarted | 2 | Captura iniciada |
AoqVideoDeviceCaptureStopping | 3 | Deteniendo captura |
AoqVideoDeviceCaptureStopped | 4 | Captura detenida |
AoqVideoDeviceCaptureFail | 5 | Error en la captura (por ejemplo, permiso denegado o dispositivo no disponible) |
AoqVideoDeviceState
Campo | Tipo | Descripción |
|---|---|---|
state | AoqVideoDeviceStateCode | Estado de la operación de captura del dispositivo |
reason | number | Código de motivo de error. Consulte AoqErrorCode. |
AoqScreenShareSourceType
| Valor | Número | Descripción |
|---|---|---|
| AoqScreenShareSourceTypeDesktop | 0 | Escritorio completo |
| AoqScreenShareSourceTypeWindow | 1 | Una ventana específica |
AoqScreenSourceInfo
| Campo | Tipo | Descripción |
|---|---|---|
| sourceType | AoqScreenShareSourceType | Tipo de fuente |
| sourceId | string | ID de fuente; devuelto como cadena para preservar la precisión de int64. |
| sourceName | string | Nombre de la fuente |
| sourceIsSelf | boolean | Si la ventana pertenece al proceso actual |
AoqScreenCaptureConfig
Todos los campos son opcionales. isExternal tiene como valor predeterminado false.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| isExternal | boolean | false | Si la aplicación suministra tramas de pantalla sin procesar. |
| sourceId | string | number | — | ID de fuente de pantalla. Opcional. Utilice una cadena; los números deben ser enteros seguros. |
| sourceType | AoqScreenShareSourceType | — | Tipo de fuente de pantalla. |
AoqErrorCode, que es una referencia nativa de códigos de error y no se exporta mediante TypeScript, los tipos de esta sección se exportan desde la raíz del paquete, por lo que puede usar directamente import { ... } from 'aoq-electron-sdk'. Las enumeraciones exportadas son tipos enum de TypeScript y están disponibles en tiempo de ejecución, mientras que las interfaces (interface) son únicamente restricciones de tipo. Si no se especifica un campo marcado como opcional, se utiliza el valor predeterminado indicado en la tabla.
Tipos de devolución de llamada de fotograma de video
AoqVideoSource
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 |
AoqVideoObserverAlignment
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqVideoObserverAlignmentDefault | 0 | Alineación predeterminada |
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 |
AoqVideoObserverParams
Campo | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
enabled | boolean | Sí | false | Habilitar o deshabilitar el callback en esta posición |
videoSource | AoqVideoSource | Sí | AoqVideoSourceCaptured | Posición de la devolución de llamada |
format | AoqVideoPixelFormat | No | AoqVideoPixelFormatI420 | Formato de píxel esperado de los datos del callback |
alignment | AoqVideoObserverAlignment | No | AoqVideoObserverAlignmentDefault | Política de alineación de ancho |
mirrorApplied | boolean | No | false | Especifica si se deben reflejar los datos del callback |
| trackType | AoqTrackType | No | AoqTrackTypeVideo | Pista de video a observar. Admite solo Video y Screen. |
YUVCanvasRenderer integrado para el renderizado.AoqVideoFrameEvent
Datos de evento del observador de fotogramas de video.
Campo | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType | Tipo de pista |
format | AoqVideoPixelFormat | Formato de píxel |
width | number | Ancho, en píxeles |
height | number | Alto, en píxeles |
strideY | number | Paso del plano Y (efectivo solo para I420) |
strideU | number | Paso del plano U (efectivo solo para I420) |
strideV | number | Paso del plano V (efectivo solo para I420) |
timeStamp | number | Marca de tiempo, en milisegundos |
buffer | Uint8Array | Datos del cuadro. Para I420, son los planos Y / U / V concatenados según el stride. Otros formatos empaquetados se transmiten como los datos originales. |
Tipos de mensajes de datos
Electron no utiliza el tipo contenedor AoqDataMsg. Los mensajes de datos se envían y reciben directamente como datos binarios:
Dirección | Tipo | Descripción |
|---|---|---|
Send | Uint8Array o string |
|
Receive | Uint8Array |
|