Referencia de API de AOQ Client SDK HarmonyOS (OHOS). El lenguaje de la plataforma es ArkTS (.ets), conectado al motor C++ mediante NAPI.
Índice de API
Ciclo de vida del motor
| API | Descripción |
|---|---|
| createEngine | Crear una instancia del motor (fábrica singleton estática) |
| destroy | Destruir la instancia del motor (método estático) |
| getVersion | Obtener la versión del SDK (método estático) |
| connect | Conectar al servidor Relay |
| disconnect | Desconectar del servidor |
Gestión de dispositivos de audio
| API | Descripción |
|---|---|
| startAudioCapture | Abrir el dispositivo de captura de audio (micrófono) |
| stopAudioCapture | Cerrar el dispositivo de captura de audio |
| muteAudioCapture | Silenciar o reactivar la captura de audio |
| startAudioPlayer | Iniciar renderizado de audio (reproducción de audio remoto) |
| stopAudioPlayer | Detener la renderización de audio |
| pauseAudioPlayer | Pausar el renderizado de audio, con desvanecimiento opcional |
| resumeAudioPlayer | Reanudar el renderizado de audio, con aparición gradual opcional |
| interruptAudioPlayer | Interrumpir la sesión de audio actual |
| enableSpeakerphone | Cambiar la salida de audio entre el altavoz y el auricular |
| isSpeakerphoneEnabled | Verificar si la salida de audio usa el altavoz |
Configuración de codificación de audio
| API | Descripción |
|---|---|
| setAudioEncoderConfig | Establecer parámetros de codificación de audio |
| setAudioDecoderConfig | Establecer parámetros de decodificación de audio |
Reproducción de archivos de audio
| API | Descripción |
|---|---|
| startAudioFile | Iniciar la reproducción y publicación de un archivo de audio local |
| stopAudioFile | Detener la reproducción del archivo de audio |
| pauseAudioFile | Pausar la reproducción del archivo de audio |
| resumeAudioFile | Reanudar la reproducción del archivo de audio |
| getAudioFileDuration | Obtener la duración total del archivo de audio |
| getAudioFileCurrentPosition | Obtener la posición de reproducción actual del archivo de audio |
| setAudioFilePositionMillis | Buscar una posición en el archivo de audio |
| setAudioFileVolume | Establecer el volumen del archivo de audio |
| getAudioFileVolume | Obtener el volumen actual del archivo de audio |
Secuencias de audio externas
| API | Descripción |
|---|---|
| addAudioExternalStream | Agregar un flujo de audio externo |
| pushAudioExternalStreamData | Enviar datos de audio PCM externos |
| setAudioExternalStreamVolume | Establecer el volumen de la secuencia de audio externa |
| getAudioExternalStreamVolume | Obtener el volumen de la secuencia de audio externa |
| clearAudioExternalStreamBuffer | Borrar el búfer de la secuencia de audio externa |
| removeAudioExternalStream | Eliminar un flujo de audio externo |
Devoluciones de llamada de cuadros de audio
| API | Descripción |
|---|---|
| setAudioFrameObserver | Establecer el observador de devolución de llamada 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 la indicación de volumen de captura local |
Gestión de dispositivos de video
| API | Descripción |
|---|---|
| startVideoCapture | Abrir el dispositivo de captura de video (cámara) |
| stopVideoCapture | Cerrar el dispositivo de captura de video |
| switchCamera | Cambiar entre cámaras frontal y trasera |
| setLocalView | Establecer o eliminar la ventana de renderizado de video local |
| setRemoteView | Establecer o eliminar la ventana de renderizado de video remoto |
Codificación de video y entrada externa
| API | Descripción |
|---|---|
| setVideoEncoderConfig | Establecer parámetros de codificación de video |
| setVideoDecoderConfig | Establecer parámetros de decodificación de video |
| pushExternalVideoCapturedFrame | Enviar tramas de video capturadas externamente |
| pushExternalVideoEncodedFrame | Enviar tramas de video codificadas externamente |
Captura de pantalla
| API | Descripción |
|---|---|
| startScreenCapture | Iniciar la captura de pantalla |
| stopScreenCapture | Detener la captura de pantalla |
Control de transmisión de flujo de medios
| API | Descripción |
|---|---|
| enableSendMediaStream | Habilitar o deshabilitar la transmisión de secuencia de medios local |
Devoluciones de llamada de cuadros de video
| API | Descripción |
|---|---|
| setVideoFrameObserver | Establecer el observador de devolución de llamada de fotogramas de video |
| enableVideoFrameObserver | Habilitar o deshabilitar callbacks de tramas de video en una etapa específica |
Mensajes en tiempo real
| API | Descripción |
|---|---|
| sendDataMsg | Enviar un mensaje de datos en tiempo real |
Devoluciones de llamada de AoqEngineEventListener
| API | Descripción |
|---|---|
| onError | Callback de error del motor |
| onWarning | Callback de advertencia del motor |
| onConnectionStatusChange | Callback de cambio de estado de conexión |
| onStats | Callback de estadísticas del motor |
| onAudioDeviceStateChanged | Callback de cambio de estado de operación del dispositivo de audio |
| onAudioDeviceRouteChanged | Callback de cambio de ruta de salida de audio |
| onAudioDeviceInterrupted | Callback de interrupción del dispositivo de audio |
| onVideoDeviceStateChanged | Callback de cambio de estado de operación del dispositivo de video |
| onScreenCaptureStateChanged | Callback de cambio de estado de captura de pantalla |
| onAudioFileState | Callback de estado de reproducción de archivo de audio |
| onLocalAudioVolumeIndication | Callback de indicación de volumen de captura local |
| onDataMsg | Callback de mensaje de datos en tiempo real recibido |
Devoluciones de llamada de IAudioFrameObserver
| 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. |
Devoluciones de llamada de IVideoFrameObserver
| 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
pushExternalVideoCapturedFrame admite Video y Screen. Habilite primero la captura externa en la pista correspondiente; de lo contrario, devuelve AoqECVideoExternalCaptureNotEnabled (211). pushExternalVideoEncodedFrame requiere codificación externa en la pista correspondiente; de lo contrario, devuelve AoqECVideoExternalEncoderNotEnabled (212).
Ciclo de vida del motor
createEngine
Cree la instancia del motor. El SDK mantiene el motor como un singleton global; llamar a este método nuevamente devuelve la instancia existente. Devuelve null si falla la inicialización del motor nativo.
Parámetro | Tipo | Descripción |
|---|---|---|
config | AoqCreateConfig | Configuración de creación del motor |
listener | AoqEngineEventListener | null | Listener de devolución de llamada de eventos del motor (interfaz; todas las devoluciones de llamada son opcionales); puede ser null |
context | common.Context | Contexto de UIAbility/Page, utilizado para la inicialización de aki+ACPM |
AoqClientEngine | null — null si falla la creación nativa.
context debe ser un contexto válido de UIAbility o Page.destroy
Destruir el singleton del motor y liberar todos los recursos. Debe llamar a createEngine nuevamente antes de reanudar su uso.
getVersion
Obtener la cadena de versión actual del SDK.
"1.0.0".
connect
Se conecta al servidor de Relay. AppServer envía los parámetros de conexión al cliente.
/api/v1/allocate. Para un modelo específico, consulte Conexión mediante AOQ de Qwen-Omni-Realtime, Conexión mediante AOQ de Qwen-Audio-Realtime o Conexión mediante AOQ de Qwen-LiveTranslate-Realtime.Parámetro | Tipo | Descripción |
|---|---|---|
config | AoqConnectConfig | Configuración de conexión, que incluye token, SID y lista de endpoints de Relay |
onConnectionStatusChange. Se recomienda llamar a enableSendMediaStream(false) antes de llamar a connect.disconnect
Desconecta del servidor y libera los recursos de conexión. Retorna inmediatamente. El resultado de la desconexión se notifica a través de onConnectionStatusChange.
Gestión de dispositivos de audio
startAudioCapture
Abrir el dispositivo de captura de audio (micrófono).
Parámetro | Tipo | Descripción |
|---|---|---|
config | AoqAudioCaptureConfig | Configuración de captura |
stopAudioCapture
Cerrar el dispositivo de captura de audio.
muteAudioCapture
Silenciar o reactivar la captura de audio.
Parámetro | Tipo | Descripción |
|---|---|---|
mute | boolean | true: silenciar; false: reactivar |
startAudioPlayer
Iniciar la reproducción de audio (reproducir audio remoto a través del altavoz o auricular).
Parámetro | Tipo | Descripción |
|---|---|---|
config | AoqAudioPlaybackConfig | Configuración de reproducción |
stopAudioPlayer
Detiene el renderizado de audio y cierra el dispositivo de reproducción.
pauseAudioPlayer
Pausar la reproducción de audio con una desaparición gradual opcional para una transición suave.
Parámetro | Tipo | Descripción |
|---|---|---|
fadeMs | number | Duración de la desaparición gradual (milisegundos); 0 significa inmediato |
resumeAudioPlayer
Reanudar la reproducción de audio con una aparición gradual opcional para una transición suave.
Parámetro | Tipo | Descripción |
|---|---|---|
fadeMs | number | Duración de la aparición gradual (milisegundos); 0 significa inmediato |
interruptAudioPlayer
Interrumpe el turno de llamada de audio actual.
Parámetro | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType | Tipo de pista objetivo; típicamente |
fadeMs | number | Duración del desvanecimiento de salida (milisegundos) |
enableSpeakerphone
Cambiar la ruta de salida de audio entre el altavoz y el auricular.
Parámetro | Tipo | Descripción |
|---|---|---|
enable | boolean | true: usar altavoz; false: usar auricular |
isSpeakerphoneEnabled
Consultar si el altavoz está activo actualmente.
Configuración del códec de audio
Configuración de codificación de audio
setAudioEncoderConfig
Configura la codificación de audio para la publicación. Los cambios de configuración surten efecto inmediatamente.
| Parámetro | Tipo | Descripción |
|---|---|---|
| config | AoqAudioCodecConfig | Configuración de codificación de audio. Establezca trackType en AoqTrackType.AoqTrackTypeAudio. |
setAudioDecoderConfig
Configura la decodificación de audio para el audio suscrito. La configuración debe coincidir con la configuración de codificación remota.
| Parámetro | Tipo | Descripción |
|---|---|---|
| config | AoqAudioCodecConfig | Configuración de decodificación de audio. Establezca trackType en AoqTrackType.AoqTrackTypeAudio. |
Reproducción de archivos de audio
startAudioFile
Inicia la transmisión y reproducción de un archivo de audio local. La transmisión remota y la reproducción local pueden ejecutarse simultáneamente, con sus volúmenes controlados por publishVolume y playoutVolume, respectivamente.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | string | Identificador de archivo definido por la aplicación utilizado para control posterior |
| config | AoqAudioFileMixConfig | Configuración de reproducción de archivo de audio |
stopAudioFile
Detiene la reproducción del archivo de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | string | Identificador de archivo, que coincide con el valor pasado a startAudioFile |
pauseAudioFile
Pausa la reproducción del archivo de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | string | Identificador de archivo |
resumeAudioFile
Reanuda la reproducción del archivo de audio. Llame a este método después de pauseAudioFile.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | string | Identificador de archivo |
getAudioFileDuration
Obtiene la duración total de un archivo de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | string | Identificador de archivo |
getAudioFileCurrentPosition
Obtiene la posición de reproducción actual de un archivo de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | string | Identificador de archivo |
setAudioFilePositionMillis
Establece la posición de reproducción de un archivo de audio (búsqueda).
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | string | Identificador de archivo |
| positionMillis | number | Posición de reproducción objetivo en milisegundos |
setAudioFileVolume
Establece el volumen del archivo de audio. Los volúmenes de transmisión y de reproducción local se pueden controlar por separado.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | string | Identificador de archivo |
| type | AoqAudioStreamDirection | Dirección del volumen. AoqAudioStreamPublish controla la transmisión; AoqAudioStreamPlayout controla la reproducción. |
| volume | number | Volumen. Valores válidos: 0-100. |
getAudioFileVolume
Obtiene el volumen actual del archivo de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| fileId | string | Identificador de archivo |
| type | AoqAudioStreamDirection | Dirección del volumen |
Secuencias de audio externas
addAudioExternalStream
Añade un flujo de audio externo. Se pueden crear múltiples flujos independientes y distinguirlos por streamId.
| Parámetro | Tipo | Descripción |
|---|---|---|
| streamId | string | Identificador de flujo externo definido por la aplicación |
| config | AoqAudioExternalStreamConfig | Configuración de flujo de audio externo |
pushAudioExternalStreamData
Alimenta datos de audio PCM externos en la secuencia especificada.
| Parámetro | Tipo | Descripción |
|---|---|---|
| streamId | string | Identificador de flujo externo |
| data | AoqAudioFrameData | Datos de fotograma de audio PCM |
setAudioExternalStreamVolume
Establece el volumen del flujo de audio externo. Los volúmenes de transmisión y de reproducción local se pueden controlar por separado.
| Parámetro | Tipo | Descripción |
|---|---|---|
| streamId | string | Identificador de flujo externo |
| type | AoqAudioStreamDirection | Dirección del volumen |
| vol | number | Volumen. Valores válidos: 0-100. |
getAudioExternalStreamVolume
Obtiene el volumen actual de la secuencia de audio externa.
| Parámetro | Tipo | Descripción |
|---|---|---|
| streamId | string | Identificador de flujo externo |
| type | AoqAudioStreamDirection | Dirección del volumen |
clearAudioExternalStreamBuffer
Borra el búfer del flujo de audio externo con un fundido de salida opcional. Se usa comúnmente para interrumpir la reproducción actual.
| Parámetro | Tipo | Descripción |
|---|---|---|
| streamId | string | Identificador de flujo externo |
| fadeoutMs | number | Duración del desvanecimiento de salida en milisegundos. -1 usa el valor predeterminado, 0 borra el búfer inmediatamente y un valor mayor que 0 retiene la duración especificada para el desvanecimiento de salida. |
removeAudioExternalStream
Elimina una secuencia de audio externa y libera sus recursos.
| Parámetro | Tipo | Descripción |
|---|---|---|
| streamId | string | Identificador de flujo externo |
Devoluciones de llamada de cuadros de audio
setAudioFrameObserver
Establece el observador de fotogramas de audio. Pase observer=null para eliminarlo.
| Parámetro | Tipo | Descripción |
|---|---|---|
| observer | IAudioFrameObserver | null | Escucha de fotogramas de audio. Pase null para eliminarla. |
enableAudioFrameObserver
Habilita o deshabilita las devoluciones de llamada de cuadros de audio en la posición especificada.
| Parámetro | Tipo | Descripción |
|---|---|---|
| enabled | boolean | true habilita los callbacks; false los deshabilita. |
| audioSource | AoqAudioSource | Posición de la fuente de audio: captura, después del procesamiento 3A, publicación o reproducción |
| config | AoqAudioObserverConfig | Configuración de callback |
Indicación de volumen de audio local
enableLocalAudioVolumeIndication
Habilita o deshabilita las indicaciones de volumen de audio capturado localmente. Cuando está habilitado, el SDK invoca onLocalAudioVolumeIndication a intervalos config.interval para informar el volumen capturado localmente y si se detecta voz.
| Parámetro | Tipo | Descripción |
|---|---|---|
| config | AoqAudioVolumeIndicationConfig | Configuración de indicación de volumen. interval<=0 deshabilita las devoluciones de llamada. |
Gestión de dispositivos de video
startVideoCapture
Abre el dispositivo de captura de video (cámara). El video capturado se envía a través de AoqTrackType.AoqTrackTypeVideo. Para entrada de video externa (pushExternalVideoCapturedFrame), establezca isExternal en true; la cámara no se abre en este modo.
| Parámetro | Tipo | Descripción |
|---|---|---|
| config | AoqVideoCaptureConfig | Configuración de captura de video. |
stopVideoCapture
Cierra el dispositivo de captura de video y detiene la captura de video local.
switchCamera
Alternar entre las cámaras frontal y trasera.
Parámetro | Tipo | Descripción |
|---|---|---|
direction | AoqCameraDirection |
|
setLocalView
Establecer o eliminar la vista de renderizado de video local.
Parámetro | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType |
|
canvas | AoqVideoCanvas | null | Configuración del lienzo de renderizado; pase null o establezca |
XComponent.onLoad. Pase una instancia de AoqXComponentController como canvas.view.setRemoteView
Establecer o eliminar la vista de renderizado de video remoto.
Parámetro | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType |
|
canvas | AoqVideoCanvas | null | Configuración del lienzo de renderizado; pase null o establezca |
Codificación de video y entrada externa
setVideoEncoderConfig
Configura la codificación de video para la publicación, enrutada por config.trackType. Si isExternal=true, pushExternalVideoEncodedFrame envía tramas codificadas directamente sin volver a codificarlas mediante el SDK.
| Parámetro | Tipo | Descripción |
|---|---|---|
| config | AoqVideoCodecConfig | Configuración de codificación de video. |
setVideoDecoderConfig
config especifica la configuración de decodificación de video. Solo los siguientes campos tienen efecto: trackType, codecType, width, height, fps, bitrate. Otros campos se aplican únicamente a la codificación.
Screen no admite la decodificación descendente. Si config.trackType es Screen, el método devuelve AoqECUnSupport sin aplicar la configuración.
Devuelve 0 en caso de éxito o un valor distinto de cero en caso de error.
pushExternalVideoCapturedFrame
Enviar un fotograma de video sin procesar capturado externamente.
Parámetro | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType |
|
frame | AoqVideoFrame | Datos de fotograma de video |
startVideoCapture(isExternal=true). Para Screen, llame primero a startScreenCapture(isExternal=true). Formatos admitidos: NV12, NV21, BGRA, RGBA, I420.
Si el búfer interno está lleno, el método devuelve AoqECVideoExternalBufferFull (210). Espere y reintente; no realice bucles ocupados.
pushExternalVideoEncodedFrame
Enviar un fotograma de video codificado externamente. El SDK lo envía directamente sin recodificar.
Parámetro | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType |
|
frame | AoqVideoEncodedFrame | Datos de trama codificada |
setVideoEncoderConfig(isExternal=true).
Captura de pantalla
config especifica la configuración de captura de pantalla. El contenido de la pantalla se envía en la pista AoqTrackTypeScreen.
Para start, 0 significa que la solicitud es aceptada; onScreenCaptureStateChanged informa el resultado de forma asíncrona. Un valor de retorno distinto de cero rechaza la solicitud sincrónicamente sin un evento de fallo duplicado. Stop devuelve 0 en caso de éxito o un valor distinto de cero en caso de fallo, e informa el estado detenido a través de esta devolución de llamada.
Con isExternal=false, el SDK captura la pantalla y el sistema solicita permiso. No es necesario esperar a Started antes de habilitar la transmisión o producir tramas externas.
Para fotogramas sin procesar externos, establezca isExternal=true y proporcione fotogramas Screen sin procesar a través de pushExternalVideoCapturedFrame para la codificación del SDK. Para fotogramas codificados externamente, configure la pista Screen para codificación externa con setVideoEncoderConfig, luego llame a pushExternalVideoEncodedFrame; no se requiere startScreenCapture.
Control de transmisión de flujo de medios
enableSendMediaStream
Habilitar o deshabilitar el envío de flujo de medios local. La llamada se enruta a la pista especificada por trackType.
Parámetro | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType |
|
enable | boolean | true: habilitar envío; false: deshabilitar envío |
enableSendMediaStream(trackType, false) después de la inicialización, luego habilítelo una vez que se establezca la conexión y se complete el protocolo de enlace de la sesión (onConnectionStatusChange informa AoqConnectionStatusConnected).
Devoluciones de llamada de cuadros de video
setVideoFrameObserver
Establece el observador de fotogramas de video. Pase observer=null para eliminarlo.
| Parámetro | Tipo | Descripción |
|---|---|---|
| observer | IVideoFrameObserver | null | Listener de fotogramas de video. Pase null para eliminarlo. |
enableVideoFrameObserver
Habilita o deshabilita las devoluciones de llamada de cuadros de video en la posición especificada.
| Parámetro | Tipo | Descripción |
|---|---|---|
| enabled | boolean | true habilita los callbacks; false los deshabilita. |
| videoSource | AoqVideoSource | Posición de la fuente de video: después de la captura, antes de la codificación o después de la decodificación remota |
| config | AoqVideoObserverConfig | Configuración de devolución de llamada. Use config.trackType para observar la pista de Video o Screen. |
Devoluciones de llamada de AoqEngineEventListener
Todas las devoluciones de llamada son propiedades opcionales (?).
Mensajes en tiempo real
sendDataMsg
Envía un mensaje de datos en tiempo real al extremo remoto. Llame a este método después de que connect tenga éxito y se haya llamado a enableSendMediaStream(Data, true).
| Parámetro | Tipo | Descripción |
|---|---|---|
| msg | AoqDataMsg | Mensaje de datos |
Devoluciones de llamada de AoqEngineEventListener
onError
Devolución de llamada de error del motor. Se activa cuando ocurre un error irrecuperable.
| Parámetro | Tipo | Descripción |
|---|---|---|
| code | number | Código de error correspondiente a un valor de enumeración AoqErrorCode |
| message | string | Descripción del error |
onWarning
Devolución de llamada de advertencia del motor. Se activa por excepciones recuperables que no impiden que el SDK continúe ejecutándose.
| Parámetro | Tipo | Descripción |
|---|---|---|
| code | number | Código de advertencia correspondiente a un valor de enumeración AoqWarningCode |
| message | string | Descripción de la advertencia |
onConnectionStatusChange
Devolución de llamada de cambio de estado de conexión. Transiciones de estado: Disconnected → Connecting → Connected/Failed → Disconnected.
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | AoqConnectionStatus | Estado de conexión actual |
onStats
Callback de estadísticas del motor. El SDK informa periódicamente estadísticas de publicación y suscripción de audio/video y estadísticas de red para monitorear la calidad de la llamada y las condiciones de la red, y diagnosticar problemas de audio/video.
| Parámetro | Tipo | Descripción |
|---|---|---|
| stats | AoqStats | Estadísticas de publicación y suscripción de audio/video/mensajes de datos, y estadísticas de red |
onAudioDeviceStateChanged
Callback para cambios en el estado de captura/reproducción del dispositivo de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| state | AoqAudioDeviceState | Estado del dispositivo de audio, incluyendo estado (código de estado) y motivo (motivo del error) |
onAudioDeviceRouteChanged
Callback para cambios en la ruta de salida de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| routeType | number | Ruta de salida de audio actual, correspondiente a un valor de enumeración AoqAudioDeviceRouteType |
onAudioDeviceInterrupted
Devolución de llamada de interrupción del dispositivo de audio. Activada por interrupciones del sistema, como llamadas entrantes u otra aplicación que toma el enfoque de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| interrupt | boolean | true indica interrupción; false indica recuperación de la interrupción. |
onVideoDeviceStateChanged
Callback para cambios en el estado de captura del dispositivo de video.
| Parámetro | Tipo | Descripción |
|---|---|---|
| state | AoqVideoDeviceState | Estado del dispositivo de video, incluyendo estado (código de estado) y motivo (motivo del error) |
onScreenCaptureStateChanged
Informa los cambios de estado de la captura de pantalla utilizando AoqScreenCaptureStateCode y el AoqErrorCode unificado. Las notificaciones se entregan de forma asíncrona en el subproceso JS. Los fallos en la captura de pantalla no se notifican también a través de onError.
| Parámetro | Tipo | Descripción |
|---|---|---|
| state | AoqScreenCaptureState | Estado de captura de pantalla, incluyendo estado (código de estado) y motivo (causa del error). |
onAudioFileState
Callback de estado de reproducción de archivo de audio.
| Parámetro | Tipo | Descripción |
|---|---|---|
| state | AoqAudioFileState | Estado de reproducción del archivo de audio, incluyendo fileId, stateCode y errorCode |
onLocalAudioVolumeIndication
Reporta el volumen de audio capturado localmente. Se activa solo después de habilitar las indicaciones de volumen mediante enableLocalAudioVolumeIndication.
| Parámetro | Tipo | Descripción |
|---|---|---|
| volume | AoqAudioVolume | Información de volumen local, incluyendo isSpeech (si se detecta voz) y volume (volumen instantáneo suavizado [0-255]). |
onDataMsg
Callback para mensajes de datos en tiempo real recibidos.
| Parámetro | Tipo | Descripción |
|---|---|---|
| msg | AoqDataMsg | Mensaje de datos |
Devoluciones de llamada de IAudioFrameObserver
Interfaz del observador de tramas de audio. Todos los métodos son opcionales; impleméntelos según sea necesario. frame.dataPtr es una copia Uint8Array de la memoria nativa y actualmente es de solo lectura (ReadWrite está planificado para una versión futura).
| Método | Cuándo se activa | Parámetro |
|---|---|---|
| onCapturedAudioFrame | Cuando se captura una trama de audio sin procesar (AoqAudioSourceCaptured) | frame: AoqAudioFrameData |
| onProcessCapturedAudioFrame | Trama de audio después del procesamiento 3A (AoqAudioSourceProcessCaptured) | frame: AoqAudioFrameData |
| onPublishAudioFrame | Trama de audio antes de la publicación (AoqAudioSourcePublish) | trackType: tipo de pista; frame: AoqAudioFrameData |
| onPlaybackAudioFrame | Trama de audio remota antes de la reproducción (AoqAudioSourcePlayback) | frame: AoqAudioFrameData |
onCapturedAudioFrame
Se invoca cuando se captura un cuadro de audio sin procesar. El cuadro contiene datos PCM no procesados.
| Parámetro | Tipo | Descripción |
|---|---|---|
| frame | AoqAudioFrameData | Datos de fotograma de audio capturado |
onProcessCapturedAudioFrame
Se invoca para un cuadro de audio después del procesamiento 3A: cancelación de eco acústico, supresión de ruido y control automático de ganancia.
| Parámetro | Tipo | Descripción |
|---|---|---|
| frame | AoqAudioFrameData | Datos de trama de audio después del procesamiento 3A |
onPublishAudioFrame
Se invoca para un cuadro de audio antes de su publicación. El cuadro se codificará y se enviará al servidor Relay.
| Parámetro | Tipo | Descripción |
|---|---|---|
| trackType | AoqTrackType | Tipo de pista |
| frame | AoqAudioFrameData | Datos de trama de audio antes de la publicación |
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 | AoqAudioFrameData | Datos de trama de audio remota antes de la reproducción |
Devoluciones de llamada de IVideoFrameObserver
Interfaz del observador de tramas de video. Todos los métodos son opcionales y devuelven boolean. Los valores de retorno se ignoran actualmente; los datos son de solo lectura, y ReadWrite está planificado para una versión futura. Cada una de las tres devoluciones de llamada incluye trackType para distinguir las pistas Video y Screen.
| Método | Cuándo se activa | Parámetro |
|---|---|---|
| onCapturedVideoFrame | Cuando se captura una trama de video sin procesar (antes del preprocesamiento, AoqVideoSourceCaptured) | trackType: tipo de pista; frame: AoqVideoFrame |
| onPreEncodeVideoFrame | Trama de video antes de la codificación (después del preprocesamiento, AoqVideoSourcePreEncode) | trackType: tipo de pista; frame: AoqVideoFrame |
| onRemoteVideoFrame | Trama de video remota después de la decodificación y antes de la renderización (AoqVideoSourceRemote) | trackType: tipo de pista; frame: AoqVideoFrame |
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 |
|---|---|---|
| trackType | AoqTrackType | Tipo de pista: Video o Screen |
| frame | AoqVideoFrame | Datos de fotograma de video capturado |
onPreEncodeVideoFrame
Se invoca para un cuadro de video después del preprocesamiento y antes de la codificación.
| Parámetro | Tipo | Descripción |
|---|---|---|
| trackType | AoqTrackType | Tipo de pista: Video o Screen |
| frame | AoqVideoFrame | Datos de fotograma de video antes de la codificación |
onRemoteVideoFrame
Se invoca para un cuadro de video remoto después de la decodificación y antes de la renderización.
| Parámetro | Tipo | Descripción |
|---|---|---|
| trackType | AoqTrackType | Tipo de pista: Video o Screen |
| frame | AoqVideoFrame | Datos de fotograma de video remoto decodificado |
Tipos de datos y enumeraciones
En v1.3.0, Index.ets exporta las siguientes enumeraciones e interfaces:
- Enumeraciones:
AoqTrackMode,AoqScreenCaptureStateCode. - Interfaces:
AoqAudioVolumeIndicationConfig,AoqAudioVolume,AoqScreenCaptureConfig,AoqScreenCaptureState.
Tipos comunes
AoqCreateConfig
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
workDir | string | "" | Directorio de trabajo del SDK |
enableDumpAudio | boolean | false | Habilitar el volcado de audio sin procesar (para depuración) |
extras | string | "" | Cadena de parámetros adicionales |
| maxEncodedVideoFrameBytes | number | 190 × 1024 | Tamaño máximo del cuadro codificado en bytes. Aplica solo al codificador JPEG interno del SDK. |
| enableDropOversizedVideoFrame | boolean | false | Para el codificador JPEG interno del SDK, si se debe descartar un cuadro que sigue siendo demasiado grande incluso con la calidad más baja. |
AoqCreateConfig en HarmonyOS no incluye isBTScoMode.
AoqConnectConfig
subscribeTracks no debe incluir AoqTrackTypeScreen; de lo contrario, connect devuelve AoqECUnSupport sin iniciar una conexión. setRemoteView también devuelve AoqECUnSupport para Screen.
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
token | string | "" | Token de autenticación |
sid | string | "" | ID de sesión |
certFingerprint | string | "" | Huella digital del certificado del servidor |
relayEndpoints | AoqRelayEndpoint[] | [] | Lista de endpoints de Relay |
workspaceIdHash | string | "" | Hash del ID del espacio de trabajo |
publishTracks | AoqTrackParam[] | [] | Pistas locales para publicar |
subscribeTracks | AoqTrackParam[] | [] | Pistas remotas a suscribir |
AoqRelayEndpoint
Campo | Tipo | Descripción |
|---|---|---|
endpoint | string | Nombre de host o IP del servidor de retransmisión |
port | number | Puerto del servidor de retransmisión |
| routeIndex | number | Índice de ruta. Valor predeterminado: -1. |
| tcpPort | number | Predeterminado: 0. Puerto de respaldo TCP. Un valor de 0 utiliza el puerto predeterminado del SDK, 443. |
AoqTrackParam
Campo | Tipo | Descripción |
|---|---|---|
trackType | AoqTrackType | Tipo de pista |
| trackMode | AoqTrackMode | Predeterminado: AoqTrackModeSegment. Se aplica solo al audio descendente. |
Enumeraciones
AoqErrorCode
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqECOK | 0 | Éxito |
AoqECParamInvalid | 1 | Parámetro no válido |
AoqECStateInvalid | 2 | Estado no válido |
AoqECUnSupport | 3 | No compatible |
AoqECAudio | 100 | Error genérico de audio |
AoqECAudioExternalBufferFull | 110 | Búfer de audio externo lleno |
AoqECAudioDevice | 120 | Error genérico de dispositivo de audio |
AoqECAudioDeviceRecordingAuthFailed | 121 | Permiso de grabación no concedido |
AoqECAudioDeviceRecordingOccupied | 122 | Dispositivo de grabación en uso |
AoqECAudioDeviceRecordingBackgroundStart | 123 | Error al iniciar la grabación en segundo plano |
AoqECAudioDeviceRecordingStartFail | 124 | Error al iniciar la grabación |
AoqECAudioDevicePlayoutOccupied | 125 | Dispositivo de reproducción en uso |
AoqECAudioDevicePlayoutBackgroundStart | 126 | Error al iniciar la reproducción en segundo plano |
AoqECAudioDevicePlayoutStartFail | 127 | Error al iniciar la reproducción |
AoqECAudioDeviceEarpieceRequiresVoipMode | 128 | El auricular requiere modo VoIP |
AoqECVideo | 200 | Error genérico de video |
AoqECVideoExternalBufferFull | 210 | Búfer de video externo lleno |
AoqECVideoExternalCaptureNotEnabled | 211 | Captura de video externa no habilitada |
AoqECVideoExternalEncoderNotEnabled | 212 | Codificador de video externo no habilitado |
AoqECVideoDevice | 220 | Error genérico de dispositivo de video |
AoqECVideoDeviceCameraOpenFail | 221 | Error al abrir la cámara |
AoqECVideoDeviceCameraAuthFailed | 222 | Permiso de cámara no concedido |
AoqECVideoDeviceCameraOccupied | 223 | Cámara en uso |
AoqECVideoDeviceCameraRunningError | 224 | Error de ejecución de la cámara |
AoqECVideoCodec | 230 | Error genérico del códec de video |
AoqECVideoCodecEncoderInitFail | 231 | Error en la inicialización del codificador de video |
AoqECVideoRender | 240 | Error genérico de renderizado de video |
AoqECVideoRenderCreateFail | 241 | Fallo en la creación del renderizador de video |
AoqECVideoRenderDrawError | 242 | Error de dibujo en renderizado de video |
| AoqECScreen | 300 | Error general de uso compartido de pantalla |
| AoqECScreenAuthFailed | 310 | Permiso de uso compartido de pantalla denegado |
| AoqECScreenStartFailed | 311 | Error al iniciar el uso compartido de pantalla |
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 | Tiempo de espera agotado al iniciar el micrófono |
AoqWCAudioDeviceRecordingError | 123 | Error de grabación |
AoqWCAudioDeviceSpeakerEnumerateError | 124 | Error de enumeración de altavoces |
AoqWCAudioDeviceSpeakerStartTimeout | 125 | Tiempo de espera agotado al iniciar el altavoz |
AoqWCAudioDevicePlayoutError | 126 | Error de reproducción |
AoqWCVideo | 200 | Advertencia genérica de video |
AoqWCVideoCameraEnumerateError | 201 | Error de enumeración de cámaras |
AoqWCVideoEncoderSwitched | 202 | Codificador de video cambiado |
AoqWCVideoRenderDowngrade | 203 | Renderizado de video degradado |
AoqTrackType
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqTrackTypeAudio | 0 | Pista de audio |
AoqTrackTypeVideo | 1 | Pista de video |
AoqTrackTypeData | 2 | Pista de mensajería de datos |
| AoqTrackTypeScreen | 3 | Pista de pantalla compartida. Solo enlace ascendente. |
AoqEncoderType
Formatos de codificación multimedia de pista.
| 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 | Datos de texto |
AoqTrackMode
| Valor | Número | Descripción |
|---|---|---|
| AoqTrackModeSegment | 0 | Modo de segmento: entrega datos en segmentos semánticos, como oraciones. Aplica solo al audio descendente. |
| AoqTrackModeStream | 1 | Modo de flujo: entrega datos de forma continua. Aplica solo al audio descendente. |
AoqConnectionStatus
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqConnectionStatusDisconnected | 0 | Desconectado |
AoqConnectionStatusConnecting | 1 | Conectando |
AoqConnectionStatusConnected | 2 | Conectado |
AoqConnectionStatusFailed | 3 | Error de conexión |
AoqMirrorMode
Modo espejo.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqMirrorModeDisabled | 0 | Espejo deshabilitado |
| AoqMirrorModeEnabled | 1 | Espejo habilitado |
AoqOrientationMode
Modos de orientación de video.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqOrientationModeAuto | 0 | Automático |
| AoqOrientationModePortrait | 1 | Vertical |
| AoqOrientationModeLandscape | 2 | Horizontal |
Tipos de audio
AoqAudioCaptureConfig
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
isExternal | boolean | false | true: usar entrada de audio externa |
isVoipMode | boolean | false | true: habilitar modo VoIP (AEC por hardware) |
channel | number | 1 | Recuento de canales: 1 o 2 |
AoqAudioPlaybackConfig
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
isVoipMode | boolean | false | true: habilitar modo VoIP (AEC por hardware); prevalece la primera escritura entre la configuración de captura y reproducción |
isDefaultSpeaker | boolean | true | true: predeterminado a altavoz; false: predeterminado a auricular |
isExternal | boolean | false | true: usar salida de audio externa |
channel | number | 1 | Recuento de canales: 1 o 2 |
AoqAudioCodecConfig
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
trackType | AoqTrackType | AoqTrackTypeAudio | Pista de destino |
codecType | AoqEncoderType | AoqEncoderTypeAudioOpus | Formato de códec |
sampleRate | number | 48000 | Frecuencia de muestreo (Hz) |
channel | number | 1 | Recuento de canales |
bitrate | number | 32000 | Tasa de bits (bps) |
AoqAudioDeviceStateCode
Códigos de estado de captura y reproducción del dispositivo de audio.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioDeviceNone | 0 | Sin estado |
| AoqAudioDeviceRecordStarting | 1 | Iniciando captura |
| AoqAudioDeviceRecordStarted | 2 | Captura iniciada |
| AoqAudioDeviceRecordStopping | 3 | Deteniendo captura |
| AoqAudioDeviceRecordStopped | 4 | Captura detenida |
| AoqAudioDeviceRecordFail | 5 | Error en la captura |
| AoqAudioDevicePlayStarting | 6 | Iniciando reproducción |
| AoqAudioDevicePlayStarted | 7 | Reproducción iniciada |
| AoqAudioDevicePlayStopping | 8 | Deteniendo reproducción |
| AoqAudioDevicePlayStopped | 9 | Reproducción detenida |
| AoqAudioDevicePlayFail | 10 | Error en la reproducción |
AoqAudioDeviceState
Estado del dispositivo de audio.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| state | AoqAudioDeviceStateCode | AoqAudioDeviceNone | Código de estado |
| reason | number | 0 | Código de motivo de error (consulte AoqErrorCode) |
AoqAudioDeviceRouteType
Tipos de ruta de dispositivo de audio.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioDeviceRouteDefault | 0 | Ruta predeterminada |
| AoqAudioDeviceRouteHeadset | 1 | Auriculares con micrófono |
| AoqAudioDeviceRouteEarpiece | 2 | Auricular |
| AoqAudioDeviceRouteHeadsetNoMic | 3 | Auriculares sin micrófono |
| AoqAudioDeviceRouteSpeakerPhone | 4 | Altavoz |
| AoqAudioDeviceRouteUsb | 5 | Dispositivo de audio USB |
| AoqAudioDeviceRouteBluetooth | 6 | Modo Bluetooth SCO |
| AoqAudioDeviceRouteBluetoothA2dp | 7 | Modo Bluetooth A2DP |
Tipos de archivos de audio
AoqAudioFileMixConfig
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
fileName | string | "" | Nombre del archivo (incluida la ruta) |
cycles | number | -1 | Recuento de bucles; -1 significa repetir indefinidamente |
startPosMs | number | 0 | Posición inicial de reproducción (ms) |
publishVolume | number | 100 | Volumen de publicación [0, 100] |
playoutVolume | number | 100 | Volumen de reproducción local [0, 100] |
AoqAudioFileStateCode
Códigos de estado de archivo de audio.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioFileNone | 0 | Sin estado |
| AoqAudioFileStarted | 1 | Reproducción iniciada |
| AoqAudioFileStopped | 2 | Reproducción detenida |
| AoqAudioFilePaused | 3 | Reproducción en pausa |
| AoqAudioFileResumed | 4 | Reproducción reanudada |
| AoqAudioFileEnded | 5 | Reproducción finalizada |
| AoqAudioFileBuffering | 6 | Almacenamiento en búfer de reproducción |
| AoqAudioFileBufferingEnd | 7 | Almacenamiento en búfer finalizado |
| AoqAudioFileFailed | 8 | Error en la reproducción |
AoqAudioFileErrorCode
Códigos de error de archivo de audio.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioFileNoError | 0 | Sin error |
| AoqAudioFileOpenFailed | 1 | Error al abrir el archivo |
| AoqAudioFileDecodeFailed | 2 | Error al decodificar el archivo |
AoqAudioFileState
Estado del archivo de audio.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| fileId | string | "" | ID de archivo |
| stateCode | AoqAudioFileStateCode | AoqAudioFileNone | Código de estado |
| errorCode | AoqAudioFileErrorCode | AoqAudioFileNoError | Código de error |
Tipos de flujo de audio externo y volumen
AoqAudioStreamDirection
Direcciones de flujo de audio externo.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioStreamPublish | 0 | Publicando flujo |
| AoqAudioStreamPlayout | 1 | Flujo de reproducción |
AoqAudioExternalStreamToggle
Estados de alternancia de secuencia de audio externa.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioExternalStreamToggleNormal | 0 | Estado normal |
| AoqAudioExternalStreamTogglePause | 1 | Estado en pausa |
AoqAudioExternalStreamConfig
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
trackType | AoqTrackType | AoqTrackTypeAudio | Tipo de pista |
codecType | AoqEncoderType | AoqEncoderTypeAudioPCM | Formato de audio |
channels | number | 1 | Recuento de canales |
sampleRate | number | 48000 | Frecuencia de muestreo (Hz) |
playoutVolume | number | 100 | Volumen de reproducción [0, 100] |
publishVolume | number | 100 | Volumen de publicación [0, 100] |
maxBufferDuration | number | 1000 | Duración máxima del búfer (ms) |
enable3A | boolean | false | Si se debe aplicar el procesamiento 3A al PCM de entrada |
AoqAudioFrameData
Campo | Tipo | Descripción |
|---|---|---|
dataPtr | ArrayBuffer | Uint8Array | null | Datos de audio PCM sin procesar |
dataSize | number | Tamaño de datos PCM (bytes) |
numOfSamples | number | Recuento de muestras (mono) |
bytesPerSample | number | Bytes por muestra |
numOfChannels | number | Recuento de canales |
samplesPerSec | number | Frecuencia de muestreo |
pushSequence | number | Número de secuencia de envío PCM |
timeStamp | number | Marca de tiempo |
autoGenMute | boolean | true: estos son datos de silencio generados por el SDK |
AoqAudioSource
Fuentes de datos del callback de tramas de audio.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioSourceCaptured | 0 | Datos de audio capturados |
| AoqAudioSourceProcessCaptured | 1 | Datos de audio después del procesamiento 3A |
| AoqAudioSourcePublish | 2 | Datos de audio publicados |
| AoqAudioSourcePlayback | 3 | Datos de audio de reproducción |
AoqAudioObserverMode
Modos de callback de fotogramas de audio.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqAudioObserverModeReadOnly | 0 | Modo de solo lectura |
| AoqAudioObserverModeReadWrite | 1 | Modo de lectura-escritura (la ruta actual de OHOS NAPI no realiza la escritura de retorno y se comporta como ReadOnly) |
AoqAudioObserverConfig
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
sampleRate | number | 48000 | Frecuencia de muestreo de la devolución de llamada |
channels | number | 1 | Recuento de canales de la devolución de llamada |
mode | AoqAudioObserverMode | ReadOnly | Modo de lectura/escritura |
AoqAudioVolumeIndicationConfig
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| reportSpeech | boolean | false | Si se debe detectar voz. |
| interval | number | 0 | Intervalo de devolución de llamada en milisegundos. Los valores de 0 o menos deshabilitan las devoluciones de llamada; los valores entre 0 y 10 usan 10. |
| smooth | number | 3 | Factor de suavizado, de 0 a 10. Los valores más altos producen resultados más suaves. |
AoqAudioVolume
| Campo | Tipo | Descripción |
|---|---|---|
| isSpeech | boolean | Si se detecta voz. |
| volume | number | Volumen instantáneo suavizado, de 0 a 255. |
Tipos de video
AoqRenderMode
Modos de renderizado.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqRenderModeAuto | 0 | Modo automático |
| AoqRenderModeStretch | 1 | Modo de estiramiento. La imagen puede distorsionarse. |
| AoqRenderModeFill | 2 | Modo letterbox. Se conserva la imagen completa. |
| AoqRenderModeCrop | 3 | Modo de recorte. Puede perderse parte de la imagen. |
AoqVideoCanvas
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
view | Object | null | null | Instancia de |
renderMode | AoqRenderMode | AoqRenderModeAuto | Modo de visualización |
AoqCameraDirection
Dirección de la cámara.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqCameraDirectionFront | 0 | Cámara frontal |
| AoqCameraDirectionBack | 1 | Cámara trasera |
AoqVideoCaptureConfig
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
width | number | 1280 | Ancho de captura; se ignora cuando |
height | number | 720 | Altura de captura |
fps | number | 15 | Tasa de fotogramas de captura |
isExternal | boolean | false | true: no abrir la cámara; proporcionar fotogramas mediante |
cameraDirection | AoqCameraDirection | Frontal | Dirección de la cámara |
AoqScreenCaptureConfig
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| isExternal | boolean | false | Si la aplicación suministra tramas de pantalla sin procesar. |
AoqVideoPixelFormat
Valor de enumeración | Valor | Descripción |
|---|---|---|
AoqVideoPixelFormatUnknown | 0 | Desconocido |
AoqVideoPixelFormatI420 | 1 | I420 |
AoqVideoPixelFormatNV12 | 2 | NV12 |
AoqVideoPixelFormatNV21 | 3 | NV21 |
AoqVideoPixelFormatBGRA | 4 | BGRA |
AoqVideoPixelFormatRGBA | 5 | RGBA |
AoqVideoFrame
Campo | Tipo | Descripción |
|---|---|---|
format | AoqVideoPixelFormat | Formato de píxel |
width | number | Ancho (píxeles) |
height | number | Alto (píxeles) |
dataPtr | ArrayBuffer | Uint8Array | null | Datos en formato empaquetado |
dataSize | number | Tamaño de datos empaquetados (bytes) |
dataY / dataU / dataV | ArrayBuffer | Uint8Array | null | Planos I420 |
strideY / strideU / strideV | number | Stride del plano |
timeStamp | number | Marca de tiempo (ms); cuando es 0, el SDK usa el reloj local |
AoqVideoCodecType
Tipo de códec para tramas codificadas externamente.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqVideoCodecTypeJPEG | 0 | Codificación JPEG |
AoqVideoEncodedFrame
Campo | Tipo | Descripción |
|---|---|---|
codec | AoqVideoCodecType | Formato de codificación ( |
data | ArrayBuffer | Uint8Array | Datos de trama codificada |
width | number | Ancho |
height | number | Alto |
timeStamp | number | Marca de tiempo (ms) |
AoqVideoCodecConfig
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
trackType | AoqTrackType | AoqTrackTypeVideo | Pista de destino |
codecType | AoqEncoderType | AoqEncoderTypeVideoH264 | Formato de códec |
width | number | 540 | Ancho de codificación |
height | number | 960 | Altura de codificación |
fps | number | 5 | Tasa de fotogramas |
bitrate | number | 500000 | Tasa de bits (bps) |
minBitrate | number | 128000 | Tasa de bits mínima (bps) |
keyframeInterval | number | 2 | Intervalo de fotogramas clave (segundos) |
mirrorMode | AoqMirrorMode | Deshabilitado | Modo espejo |
orientationMode | AoqOrientationMode | Automático | Orientación del video |
isExternal | boolean | false | true: el SDK omite la recodificación |
AoqVideoDeviceStateCode
Códigos de estado de captura del dispositivo de video.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqVideoDeviceNone | 0 | Sin estado |
| AoqVideoDeviceCaptureStarting | 1 | Iniciando cámara |
| AoqVideoDeviceCaptureStarted | 2 | Cámara iniciada |
| AoqVideoDeviceCaptureStopping | 3 | Deteniendo cámara |
| AoqVideoDeviceCaptureStopped | 4 | Cámara detenida |
| AoqVideoDeviceCaptureFail | 5 | Fallo al iniciar la cámara |
AoqVideoDeviceState
Estado del dispositivo de video.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| state | AoqVideoDeviceStateCode | AoqVideoDeviceNone | Código de estado |
| reason | number | 0 | Código de motivo de error (consulte AoqErrorCode) |
AoqScreenCaptureStateCode
| Valor | Número | Descripción |
|---|---|---|
| AoqScreenCaptureNone | 0 | None |
| AoqScreenCaptureStarting | 1 | Iniciando |
| AoqScreenCaptureStarted | 2 | Entrada lista; no indica transmisión |
| AoqScreenCaptureStopping | 3 | Deteniendo |
| AoqScreenCaptureStopped | 4 | Detenido |
| AoqScreenCaptureFail | 5 | Fallo de inicio o de ejecución |
AoqScreenCaptureState
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| state | AoqScreenCaptureStateCode | — | Estado de la captura de pantalla. |
| reason | number | — | 0 para estados normales; un AoqErrorCode en caso de fallo. |
Tipos de callback de fotogramas de video
AoqVideoSource
Fuentes de datos del callback de tramas de video (posiciones en la tubería).
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqVideoSourceCaptured | 0 | Datos de video después de la captura (antes del preprocesamiento) |
| AoqVideoSourcePreEncode | 1 | Datos de video antes de la codificación (después del preprocesamiento) |
| AoqVideoSourceRemote | 2 | Datos de video remoto después de la decodificación y antes de la renderización |
AoqVideoObserverMode
Modos de callback de fotogramas de video.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqVideoObserverModeReadOnly | 0 | Modo de solo lectura |
| AoqVideoObserverModeReadWrite | 1 | Modo de lectura-escritura (la ruta actual de OHOS NAPI no realiza la escritura de retorno y se comporta como ReadOnly) |
AoqVideoObserverAlignment
Alineación del ancho de salida de video.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| AoqVideoObserverAlignmentDefault | 0 | Alineación predeterminada |
| AoqVideoObserverAlignmentEven | 1 | Alineación par |
| AoqVideoObserverAlignment4 | 2 | Alineación de 4 bytes |
| AoqVideoObserverAlignment8 | 3 | Alineación de 8 bytes |
| AoqVideoObserverAlignment16 | 4 | Alineación de 16 bytes |
AoqVideoObserverConfig
Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
format | AoqVideoPixelFormat | I420 | Formato de píxel de la devolución de llamada |
alignment | AoqVideoObserverAlignment | Valor predeterminado | Alineación de ancho |
mode | AoqVideoObserverMode | ReadOnly | Modo de lectura/escritura |
mirrorApplied | boolean | false | Indica si se debe aplicar efecto espejo |
| trackType | AoqTrackType | AoqTrackTypeVideo | Pista de video a observar. Admite solo Video y Screen. |
Tipos de mensajes de datos
AoqDataMsg
Estructura de datos de mensajes en tiempo real.
| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| data | ArrayBuffer / Uint8Array | Obligatorio | Datos del mensaje |
Tipos de estadísticas
AoqStats
Campo | Tipo | Descripción |
|---|---|---|
audioPublishStats | AoqAudioPublishStats[] | Estadísticas de publicación de audio |
videoPublishStats | AoqVideoPublishStats[] | Estadísticas de publicación de video |
dataMsgPublishStats | AoqDataMsgPublishStats[] | Estadísticas de publicación de mensajes de datos |
audioSubscribeStats | AoqAudioSubscribeStats[] | Estadísticas de suscripción de audio |
videoSubscribeStats | AoqVideoSubscribeStats[] | Estadísticas de suscripción de video |
dataMsgSubscribeStats | AoqDataMsgSubscribeStats[] | Estadísticas de suscripción de mensajes de datos |
networkStats | AoqNetworkStats | null | Estadísticas de red |
AoqAudioPublishStats
Estadísticas de publicación de audio.
| Campo | Tipo | Descripción |
|---|---|---|
| trackType | number | Tipo de pista (correspondiente a AoqTrackType) |
| bitrate | number | Tasa de bits en bps |
| bytes | number | Total de bytes enviados |
| encodeVolume | number | Volumen de codificación de publicación |
AoqVideoPublishStats
Estadísticas de publicación de video.
| Campo | Tipo | Descripción |
|---|---|---|
| trackType | number | Tipo de pista (correspondiente a AoqTrackType) |
| bitrate | number | Tasa de bits en bps |
| bytes | number | Total de bytes enviados |
| encodeFps | number | Tasa de cuadros de codificación |
AoqDataMsgPublishStats
Estadísticas de publicación de mensajes de datos.
| Campo | Tipo | Descripción |
|---|---|---|
| trackType | number | Tipo de pista (correspondiente a AoqTrackType) |
| bitrate | number | Tasa de bits en bps |
| bytes | number | Total de bytes enviados |
AoqAudioSubscribeStats
Estadísticas de suscripción de audio.
| Campo | Tipo | Descripción |
|---|---|---|
| trackType | number | Tipo de pista (correspondiente a AoqTrackType) |
| bitrate | number | Tasa de bits en bps |
| bytes | number | Total de bytes recibidos |
| playVolume | number | Volumen de reproducción |
AoqVideoSubscribeStats
Estadísticas de suscripción de video.
| Campo | Tipo | Descripción |
|---|---|---|
| trackType | number | Tipo de pista (correspondiente a AoqTrackType) |
| bitrate | number | Tasa de bits en bps |
| bytes | number | Total de bytes recibidos |
| decodeFps | number | Tasa de fotogramas de decodificación |
| renderFps | number | Tasa de fotogramas de renderizado |
AoqDataMsgSubscribeStats
Estadísticas de suscripción a mensajes de datos.
| Campo | Tipo | Descripción |
|---|---|---|
| trackType | number | Tipo de pista (correspondiente a AoqTrackType) |
| bitrate | number | Tasa de bits en bps |
| bytes | number | Total de bytes recibidos |
AoqNetworkStats
Estadísticas de red.
| Campo | Tipo | Descripción |
|---|---|---|
| sendBitrate | number | Tasa de bits de envío en bps |
| sendBytes | number | Total de bytes enviados |
| recvBitrate | number | Tasa de bits de recepción en bps |
| recvBytes | number | Total de bytes recibidos |
| loss | number | Tasa de pérdida de paquetes (0-100) |
| rtt | number | Latencia de ida y vuelta en milisegundos |