Skip to main content

Referencia de la API del SDK de cliente AOQ para HarmonyOS

Referencia de API de AOQ Client SDK HarmonyOS (OHOS). El lenguaje de la plataforma es ArkTS (.ets), conectado al motor C++ mediante NAPI.

SDK de HarmonyOS
El SDK de AOQ proporciona API generales de video. Qwen-Audio-Realtime no admite entrada ni salida de video. Para conocer las capacidades de medios de otros modelos, consulte su documentación de conexión.
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

APIDescripción
createEngineCrear una instancia del motor (fábrica singleton estática)
destroyDestruir la instancia del motor (método estático)
getVersionObtener la versión del SDK (método estático)
connectConectar al servidor Relay
disconnectDesconectar del servidor

Gestión de dispositivos de audio

APIDescripción
startAudioCaptureAbrir el dispositivo de captura de audio (micrófono)
stopAudioCaptureCerrar el dispositivo de captura de audio
muteAudioCaptureSilenciar o reactivar la captura de audio
startAudioPlayerIniciar renderizado de audio (reproducción de audio remoto)
stopAudioPlayerDetener la renderización de audio
pauseAudioPlayerPausar el renderizado de audio, con desvanecimiento opcional
resumeAudioPlayerReanudar el renderizado de audio, con aparición gradual opcional
interruptAudioPlayerInterrumpir la sesión de audio actual
enableSpeakerphoneCambiar la salida de audio entre el altavoz y el auricular
isSpeakerphoneEnabledVerificar si la salida de audio usa el altavoz

Configuración de codificación de audio

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

Reproducción de archivos de audio

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

Secuencias de audio externas

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

Devoluciones de llamada de cuadros de audio

APIDescripción
setAudioFrameObserverEstablecer el observador de devolución de llamada de fotogramas de audio
enableAudioFrameObserverHabilitar o deshabilitar callbacks de tramas de audio en una etapa específica

Indicación de volumen de audio local

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

Gestión de dispositivos de video

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

Codificación de video y entrada externa

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

Captura de pantalla

APIDescripción
startScreenCaptureIniciar la captura de pantalla
stopScreenCaptureDetener la captura de pantalla

Control de transmisión de flujo de medios

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

Devoluciones de llamada de cuadros de video

APIDescripción
setVideoFrameObserverEstablecer el observador de devolución de llamada de fotogramas de video
enableVideoFrameObserverHabilitar o deshabilitar callbacks de tramas de video en una etapa específica

Mensajes en tiempo real

APIDescripción
sendDataMsgEnviar un mensaje de datos en tiempo real

Devoluciones de llamada de AoqEngineEventListener

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

Devoluciones de llamada de IAudioFrameObserver

APIDescripción
onCapturedAudioFrameSe invoca cuando se captura un cuadro de audio sin procesar. El cuadro contiene datos PCM no procesados.
onProcessCapturedAudioFrameSe invoca para un cuadro de audio después del procesamiento 3A: cancelación de eco acústico, supresión de ruido y control automático de ganancia.
onPublishAudioFrameSe invoca para un cuadro de audio antes de su publicación. El cuadro se codificará y se enviará al servidor Relay.
onPlaybackAudioFrameSe 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

APIDescripción
onCapturedVideoFrameSe 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.
onPreEncodeVideoFrameSe invoca para un cuadro de video después del preprocesamiento y antes de la codificación.
onRemoteVideoFrameSe invoca para un cuadro de video remoto después de la decodificación y antes de la renderización.

Detalles de la API

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.
static createEngine(config: AoqCreateConfig, listener: AoqEngineEventListener | null, context: common.Context): AoqClientEngine | null

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

Devuelve: AoqClientEngine | null — null si falla la creación nativa.
Este SDK devuelve null en caso de fallo. Siempre verifique si el valor devuelto es null. El 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.
static destroy(): number
Devuelve: 0 en caso de éxito; distinto de cero en caso de fallo.

getVersion

Obtener la cadena de versión actual del SDK.
static getVersion(): string
Devuelve: Cadena de versión, por ejemplo "1.0.0".

connect

Se conecta al servidor de Relay. AppServer envía los parámetros de conexión al cliente.
En la documentación general de la API del SDK, AppServer asigna los parámetros de conexión mediante /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.
connect(config: AoqConnectConfig): number

Parámetro

Tipo

Descripción

config

AoqConnectConfig

Configuración de conexión, que incluye token, SID y lista de endpoints de Relay

Devuelve: 0 si la llamada se despachó (asíncrona); distinto de cero si falló la validación de parámetros.
Los cambios en el estado de la conexión se notifican de forma asíncrona mediante 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.
disconnect(): number
Parámetros: None. Valor de retorno: 0 indica que la llamada se ha enviado para ejecución asíncrona. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode. Los dispositivos de captura/reproducción de audio y video no se detienen automáticamente.

Gestión de dispositivos de audio

startAudioCapture

Abrir el dispositivo de captura de audio (micrófono).
startAudioCapture(config: AoqAudioCaptureConfig): number

Parámetro

Tipo

Descripción

config

AoqAudioCaptureConfig

Configuración de captura

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

stopAudioCapture

Cerrar el dispositivo de captura de audio.
stopAudioCapture(): number

muteAudioCapture

Silenciar o reactivar la captura de audio.
muteAudioCapture(mute: boolean): number

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).
startAudioPlayer(config: AoqAudioPlaybackConfig): number

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.
stopAudioPlayer(): number
Parámetros: None. Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.

pauseAudioPlayer

Pausar la reproducción de audio con una desaparición gradual opcional para una transición suave.
pauseAudioPlayer(fadeMs: number): number

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.
resumeAudioPlayer(fadeMs: number): number

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.
interruptAudioPlayer(trackType: AoqTrackType, fadeMs: number): number

Parámetro

Tipo

Descripción

trackType

AoqTrackType

Tipo de pista objetivo; típicamente AoqTrackTypeAudio

fadeMs

number

Duración del desvanecimiento de salida (milisegundos)

enableSpeakerphone

Cambiar la ruta de salida de audio entre el altavoz y el auricular.
enableSpeakerphone(enable: boolean): number

Parámetro

Tipo

Descripción

enable

boolean

true: usar altavoz; false: usar auricular

isSpeakerphoneEnabled

Consultar si el altavoz está activo actualmente.
isSpeakerphoneEnabled(): boolean
Devuelve: true si el altavoz está activo; false si el auricular está activo.

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.
setAudioEncoderConfig(config: AoqAudioCodecConfig): number
ParámetroTipoDescripción
configAoqAudioCodecConfigConfiguración de codificación de audio. Establezca trackType en AoqTrackType.AoqTrackTypeAudio.
Valor de retorno: 0 en caso de éxito; distinto de cero en caso de fallo (un valor de AoqErrorCode, como AoqECParamInvalid para parámetros no válidos).
codecType especifica el formato de codificación (Opus por defecto). sampleRate y channel deben coincidir con la configuración de captura. bitrate solo se aplica a códecs con pérdida como Opus.

setAudioDecoderConfig

Configura la decodificación de audio para el audio suscrito. La configuración debe coincidir con la configuración de codificación remota.
setAudioDecoderConfig(config: AoqAudioCodecConfig): number
ParámetroTipoDescripción
configAoqAudioCodecConfigConfiguración de decodificación de audio. Establezca trackType en AoqTrackType.AoqTrackTypeAudio.
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.
sampleRate debe coincidir con la tasa de muestreo de salida del codificador remoto. Una discrepancia puede causar errores de decodificación o problemas de calidad de audio.

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.
startAudioFile(fileId: string, config: AoqAudioFileMixConfig): number
ParámetroTipoDescripción
fileIdstringIdentificador de archivo definido por la aplicación utilizado para control posterior
configAoqAudioFileMixConfigConfiguración de reproducción de archivo de audio
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.
Los cambios de estado de reproducción se reportan a través de onAudioFileState. Las llamadas repetidas con el mismo fileId reemplazan la reproducción anterior.

stopAudioFile

Detiene la reproducción del archivo de audio.
stopAudioFile(fileId: string): number
ParámetroTipoDescripción
fileIdstringIdentificador de archivo, que coincide con el valor pasado a startAudioFile
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.

pauseAudioFile

Pausa la reproducción del archivo de audio.
pauseAudioFile(fileId: string): number
ParámetroTipoDescripción
fileIdstringIdentificador de archivo
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.

resumeAudioFile

Reanuda la reproducción del archivo de audio. Llame a este método después de pauseAudioFile.
resumeAudioFile(fileId: string): number
ParámetroTipoDescripción
fileIdstringIdentificador de archivo
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.

getAudioFileDuration

Obtiene la duración total de un archivo de audio.
getAudioFileDuration(fileId: string): number
ParámetroTipoDescripción
fileIdstringIdentificador de archivo
Valor de retorno: La duración total en milisegundos. Devuelve 0 si el archivo no está cargado o no existe.

getAudioFileCurrentPosition

Obtiene la posición de reproducción actual de un archivo de audio.
getAudioFileCurrentPosition(fileId: string): number
ParámetroTipoDescripción
fileIdstringIdentificador de archivo
Valor de retorno: La posición de reproducción actual en milisegundos. Devuelve 0 si el archivo no está cargado o no existe.

setAudioFilePositionMillis

Establece la posición de reproducción de un archivo de audio (búsqueda).
setAudioFilePositionMillis(fileId: string, positionMillis: number): number
ParámetroTipoDescripción
fileIdstringIdentificador de archivo
positionMillisnumberPosición de reproducción objetivo en milisegundos
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.

setAudioFileVolume

Establece el volumen del archivo de audio. Los volúmenes de transmisión y de reproducción local se pueden controlar por separado.
setAudioFileVolume(fileId: string, type: AoqAudioStreamDirection, volume: number): number
ParámetroTipoDescripción
fileIdstringIdentificador de archivo
typeAoqAudioStreamDirectionDirección del volumen. AoqAudioStreamPublish controla la transmisión; AoqAudioStreamPlayout controla la reproducción.
volumenumberVolumen. Valores válidos: 0-100.
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.

getAudioFileVolume

Obtiene el volumen actual del archivo de audio.
getAudioFileVolume(fileId: string, type: AoqAudioStreamDirection): number
ParámetroTipoDescripción
fileIdstringIdentificador de archivo
typeAoqAudioStreamDirectionDirección del volumen
Valor de retorno: El volumen actual (0-100). Devuelve 0 si el archivo no existe.

Secuencias de audio externas

addAudioExternalStream

Añade un flujo de audio externo. Se pueden crear múltiples flujos independientes y distinguirlos por streamId.
addAudioExternalStream(streamId: string, config: AoqAudioExternalStreamConfig): number
ParámetroTipoDescripción
streamIdstringIdentificador de flujo externo definido por la aplicación
configAoqAudioExternalStreamConfigConfiguración de flujo de audio externo
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.

pushAudioExternalStreamData

Alimenta datos de audio PCM externos en la secuencia especificada.
pushAudioExternalStreamData(streamId: string, data: AoqAudioFrameData): number
ParámetroTipoDescripción
streamIdstringIdentificador de flujo externo
dataAoqAudioFrameDataDatos de fotograma de audio PCM
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo. Se devuelve AoqECAudioExternalBufferFull(110) cuando el búfer está lleno.
La memoria referenciada por data.dataPtr solo necesita permanecer válida durante la llamada; el SDK la copia internamente. La frecuencia de muestreo y el número de canales deben coincidir con la configuración pasada a addAudioExternalStream.

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.
setAudioExternalStreamVolume(streamId: string, type: AoqAudioStreamDirection, vol: number): number
ParámetroTipoDescripción
streamIdstringIdentificador de flujo externo
typeAoqAudioStreamDirectionDirección del volumen
volnumberVolumen. Valores válidos: 0-100.
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.

getAudioExternalStreamVolume

Obtiene el volumen actual de la secuencia de audio externa.
getAudioExternalStreamVolume(streamId: string, type: AoqAudioStreamDirection): number
ParámetroTipoDescripción
streamIdstringIdentificador de flujo externo
typeAoqAudioStreamDirectionDirección del volumen
Valor de retorno: El volumen actual (0-100). Devuelve 0 si el flujo no existe.

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.
clearAudioExternalStreamBuffer(streamId: string, fadeoutMs: number): void
ParámetroTipoDescripción
streamIdstringIdentificador de flujo externo
fadeoutMsnumberDuració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.
Valor de retorno: None (void).

removeAudioExternalStream

Elimina una secuencia de audio externa y libera sus recursos.
removeAudioExternalStream(streamId: string): number
ParámetroTipoDescripción
streamIdstringIdentificador de flujo externo
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.

Devoluciones de llamada de cuadros de audio

setAudioFrameObserver

Establece el observador de fotogramas de audio. Pase observer=null para eliminarlo.
setAudioFrameObserver(observer: IAudioFrameObserver | null): number
ParámetroTipoDescripción
observerIAudioFrameObserver | nullEscucha de fotogramas de audio. Pase null para eliminarla.
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.
Establezca primero el observador con este método, luego llame a enableAudioFrameObserver para habilitar las devoluciones de llamada en las posiciones requeridas.

enableAudioFrameObserver

Habilita o deshabilita las devoluciones de llamada de cuadros de audio en la posición especificada.
enableAudioFrameObserver(enabled: boolean, audioSource: AoqAudioSource, config: AoqAudioObserverConfig): number
ParámetroTipoDescripción
enabledbooleantrue habilita los callbacks; false los deshabilita.
audioSourceAoqAudioSourcePosición de la fuente de audio: captura, después del procesamiento 3A, publicación o reproducción
configAoqAudioObserverConfigConfiguración de callback
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.
frame.dataPtr es una copia Uint8Array de la memoria nativa y actualmente es de solo lectura (ReadWrite es equivalente a ReadOnly; la escritura de retorno está planificada para una versión futura). Las devoluciones de llamada se envían de forma asíncrona en el subproceso JS y pueden acceder directamente al estado ets.

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.
enableLocalAudioVolumeIndication(config: AoqAudioVolumeIndicationConfig): number
ParámetroTipoDescripción
configAoqAudioVolumeIndicationConfigConfiguración de indicación de volumen. interval<=0 deshabilita las devoluciones de llamada.
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.
Llame a este método después de startAudioCapture para obtener datos de volumen. Los valores de interval>0 y <10 se tratan como 10.

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.
startVideoCapture(config: AoqVideoCaptureConfig): number
ParámetroTipoDescripción
configAoqVideoCaptureConfigConfiguración de captura de video.
Valor de retorno: 0 en caso de éxito; distinto de cero en caso de fallo (un valor AoqErrorCode, como AoqECVideoDeviceCameraAuthFailed cuando no se ha concedido el permiso de cámara).
Declare ohos.permission.CAMERA en module.json5 y solicite el permiso en tiempo de ejecución. Los cambios de estado del dispositivo se notifican a través de onVideoDeviceStateChanged.

stopVideoCapture

Cierra el dispositivo de captura de video y detiene la captura de video local.
stopVideoCapture(): number
Parámetros: None. Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.

switchCamera

Alternar entre las cámaras frontal y trasera.
switchCamera(direction: AoqCameraDirection): number

Parámetro

Tipo

Descripción

direction

AoqCameraDirection

AoqCameraDirectionFront o AoqCameraDirectionBack

setLocalView

Establecer o eliminar la vista de renderizado de video local.
setLocalView(trackType: AoqTrackType, canvas: AoqVideoCanvas | null): number

Parámetro

Tipo

Descripción

trackType

AoqTrackType

AoqTrackTypeVideo

canvas

AoqVideoCanvas | null

Configuración del lienzo de renderizado; pase null o establezca canvas.view en null para eliminar la vista de renderizado

En HarmonyOS, esto debe llamarse después de la devolución de llamada XComponent.onLoad. Pase una instancia de AoqXComponentController como canvas.view.

setRemoteView

Establecer o eliminar la vista de renderizado de video remoto.
setRemoteView(trackType: AoqTrackType, canvas: AoqVideoCanvas | null): number

Parámetro

Tipo

Descripción

trackType

AoqTrackType

AoqTrackTypeVideo

canvas

AoqVideoCanvas | null

Configuración del lienzo de renderizado; pase null o establezca canvas.view en null para eliminar la vista de renderizado

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.
setVideoEncoderConfig(config: AoqVideoCodecConfig): number
ParámetroTipoDescripción
configAoqVideoCodecConfigConfiguración de codificación de video.
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.
Antes de usar pushExternalVideoEncodedFrame, llame a este método con isExternal=true. Este modo omite la tubería de captura y no requiere startVideoCapture/startScreenCapture. Al usar pushExternalVideoCapturedFrame, mantenga isExternal=false para que el SDK codifique los fotogramas.

setVideoDecoderConfig

setVideoDecoderConfig(config: AoqVideoCodecConfig): number
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.
pushExternalVideoCapturedFrame(trackType: AoqTrackType, frame: AoqVideoFrame): number

Parámetro

Tipo

Descripción

trackType

AoqTrackType

AoqTrackTypeVideo

; también se admite AoqTrackTypeScreen

frame

AoqVideoFrame

Datos de fotograma de video

Para Video, llame primero a 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.
pushExternalVideoEncodedFrame(trackType: AoqTrackType, frame: AoqVideoEncodedFrame): number

Parámetro

Tipo

Descripción

trackType

AoqTrackType

AoqTrackTypeVideo

; también se admite AoqTrackTypeScreen

frame

AoqVideoEncodedFrame

Datos de trama codificada

Solo se consume después de configurar setVideoEncoderConfig(isExternal=true).

Captura de pantalla

startScreenCapture(config: AoqScreenCaptureConfig): number
stopScreenCapture(): number
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.
enableSendMediaStream(trackType: AoqTrackType, enable: boolean): number

Parámetro

Tipo

Descripción

trackType

AoqTrackType

AoqTrackTypeAudio o AoqTrackTypeVideo

; también admite AoqTrackTypeScreen

enable

boolean

true: habilitar envío; false: deshabilitar envío

Patrón recomendado: llame a 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.
setVideoFrameObserver(observer: IVideoFrameObserver | null): number
ParámetroTipoDescripción
observerIVideoFrameObserver | nullListener de fotogramas de video. Pase null para eliminarlo.
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.
Establezca primero el observador con este método, luego llame a enableVideoFrameObserver para habilitar las devoluciones de llamada en las posiciones requeridas.

enableVideoFrameObserver

Habilita o deshabilita las devoluciones de llamada de cuadros de video en la posición especificada.
enableVideoFrameObserver(enabled: boolean, videoSource: AoqVideoSource, config: AoqVideoObserverConfig): number
ParámetroTipoDescripción
enabledbooleantrue habilita los callbacks; false los deshabilita.
videoSourceAoqVideoSourcePosición de la fuente de video: después de la captura, antes de la codificación o después de la decodificación remota
configAoqVideoObserverConfigConfiguración de devolución de llamada. Use config.trackType para observar la pista de Video o Screen.
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.
Los búferes en frame son copias Uint8Array de la memoria nativa y actualmente son de solo lectura. Los valores de retorno se ignoran, y ReadWrite es equivalente a ReadOnly. La escritura de retorno está planificada para una versión futura.

Devoluciones de llamada de AoqEngineEventListener

Todas las devoluciones de llamada son propiedades opcionales (?).
export interface AoqEngineEventListener {
  onError?: (code: number, message: string) => void;
  onWarning?: (code: number, message: string) => void;
  onConnectionStatusChange?: (status: AoqConnectionStatus) => void;
  onStats?: (stats: AoqStats) => void;
  onAudioDeviceStateChanged?: (state: AoqAudioDeviceState) => void;
  onAudioDeviceRouteChanged?: (routeType: number) => void;
  onAudioDeviceInterrupted?: (interrupt: boolean) => void;
  onVideoDeviceStateChanged?: (state: AoqVideoDeviceState) => void;
  onAudioFileState?: (state: AoqAudioFileState) => void;
  onDataMsg?: (msg: AoqDataMsg) => void;
  onScreenCaptureStateChanged?: (state: AoqScreenCaptureState) => void;
  onLocalAudioVolumeIndication?: (volume: AoqAudioVolume) => void;
}

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).
sendDataMsg(msg: AoqDataMsg): number
ParámetroTipoDescripción
msgAoqDataMsgMensaje de datos
Valor de retorno: 0 indica éxito. Un valor distinto de cero indica fallo y corresponde a AoqErrorCode.
El extremo remoto recibe el mensaje a través de onDataMsg. El tamaño del mensaje está sujeto a límites internos del SDK. Divida los mensajes demasiado grandes en partes más pequeñas antes de enviarlos.

Devoluciones de llamada de AoqEngineEventListener

onError

Devolución de llamada de error del motor. Se activa cuando ocurre un error irrecuperable.
onError?: (code: number, message: string) => void
ParámetroTipoDescripción
codenumberCódigo de error correspondiente a un valor de enumeración AoqErrorCode
messagestringDescripción del error
Valor de retorno: None (void).

onWarning

Devolución de llamada de advertencia del motor. Se activa por excepciones recuperables que no impiden que el SDK continúe ejecutándose.
onWarning?: (code: number, message: string) => void
ParámetroTipoDescripción
codenumberCódigo de advertencia correspondiente a un valor de enumeración AoqWarningCode
messagestringDescripción de la advertencia
Valor de retorno: None (void).

onConnectionStatusChange

Devolución de llamada de cambio de estado de conexión. Transiciones de estado: Disconnected → Connecting → Connected/Failed → Disconnected.
onConnectionStatusChange?: (status: AoqConnectionStatus) => void
ParámetroTipoDescripción
statusAoqConnectionStatusEstado de conexión actual
Valor de retorno: None (void).
Habilite el envío de medios con enableSendMediaStream(trackType, true) después de recibir Connected.

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.
onStats?: (stats: AoqStats) => void
ParámetroTipoDescripción
statsAoqStatsEstadísticas de publicación y suscripción de audio/video/mensajes de datos, y estadísticas de red
Valor de retorno: None (void).

onAudioDeviceStateChanged

Callback para cambios en el estado de captura/reproducción del dispositivo de audio.
onAudioDeviceStateChanged?: (state: AoqAudioDeviceState) => void
ParámetroTipoDescripción
stateAoqAudioDeviceStateEstado del dispositivo de audio, incluyendo estado (código de estado) y motivo (motivo del error)
Valor de retorno: None (void).

onAudioDeviceRouteChanged

Callback para cambios en la ruta de salida de audio.
onAudioDeviceRouteChanged?: (routeType: number) => void
ParámetroTipoDescripción
routeTypenumberRuta de salida de audio actual, correspondiente a un valor de enumeración AoqAudioDeviceRouteType
Valor de retorno: None (void).

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.
onAudioDeviceInterrupted?: (interrupt: boolean) => void
ParámetroTipoDescripción
interruptbooleantrue indica interrupción; false indica recuperación de la interrupción.
Valor de retorno: None (void).

onVideoDeviceStateChanged

Callback para cambios en el estado de captura del dispositivo de video.
onVideoDeviceStateChanged?: (state: AoqVideoDeviceState) => void
ParámetroTipoDescripción
stateAoqVideoDeviceStateEstado del dispositivo de video, incluyendo estado (código de estado) y motivo (motivo del error)
Valor de retorno: None (void).

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.
onScreenCaptureStateChanged?: (state: AoqScreenCaptureState) => void
ParámetroTipoDescripción
stateAoqScreenCaptureStateEstado de captura de pantalla, incluyendo estado (código de estado) y motivo (causa del error).
Valor de retorno: None (void).
Started indica que la captura o la entrada externa están listas, no que se hayan enviado medios. Fail y Stopped son estados terminales después de la limpieza.

onAudioFileState

Callback de estado de reproducción de archivo de audio.
onAudioFileState?: (state: AoqAudioFileState) => void
ParámetroTipoDescripción
stateAoqAudioFileStateEstado de reproducción del archivo de audio, incluyendo fileId, stateCode y errorCode
Valor de retorno: None (void).

onLocalAudioVolumeIndication

Reporta el volumen de audio capturado localmente. Se activa solo después de habilitar las indicaciones de volumen mediante enableLocalAudioVolumeIndication.
onLocalAudioVolumeIndication?: (volume: AoqAudioVolume) => void
ParámetroTipoDescripción
volumeAoqAudioVolumeInformación de volumen local, incluyendo isSpeech (si se detecta voz) y volume (volumen instantáneo suavizado [0-255]).
Valor de retorno: None (void).

onDataMsg

Callback para mensajes de datos en tiempo real recibidos.
onDataMsg?: (msg: AoqDataMsg) => void
ParámetroTipoDescripción
msgAoqDataMsgMensaje de datos
Valor de retorno: None (void).
Las devoluciones de llamada se despachan asincrónicamente en el subproceso JS. Los datos son válidos solo durante la devolución de llamada. Haga una copia para uso asincrónico.

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).
export interface IAudioFrameObserver {
  onCapturedAudioFrame?: (frame: AoqAudioFrameData) => void;
  onProcessCapturedAudioFrame?: (frame: AoqAudioFrameData) => void;
  onPublishAudioFrame?: (trackType: AoqTrackType, frame: AoqAudioFrameData) => void;
  onPlaybackAudioFrame?: (frame: AoqAudioFrameData) => void;
}
MétodoCuándo se activaParámetro
onCapturedAudioFrameCuando se captura una trama de audio sin procesar (AoqAudioSourceCaptured)frame: AoqAudioFrameData
onProcessCapturedAudioFrameTrama de audio después del procesamiento 3A (AoqAudioSourceProcessCaptured)frame: AoqAudioFrameData
onPublishAudioFrameTrama de audio antes de la publicación (AoqAudioSourcePublish)trackType: tipo de pista; frame: AoqAudioFrameData
onPlaybackAudioFrameTrama de audio remota antes de la reproducción (AoqAudioSourcePlayback)frame: AoqAudioFrameData
Valor de retorno: None (void).
Utilice setAudioFrameObserver(obs) + enableAudioFrameObserver(true, src, cfg). Las devoluciones de llamada se envían de forma asíncrona en el subproceso JS y pueden acceder directamente al estado ets.

onCapturedAudioFrame

Se invoca cuando se captura un cuadro de audio sin procesar. El cuadro contiene datos PCM no procesados.
onCapturedAudioFrame?(frame: AoqAudioFrameData): void
ParámetroTipoDescripción
frameAoqAudioFrameDataDatos de fotograma de audio capturado
Valor de retorno: None (void).
frame.dataPtr es una copia Uint8Array de la memoria nativa y es válida solo durante la devolución de llamada. Copie los datos antes de usarlos asincrónicamente.

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.
onProcessCapturedAudioFrame?(frame: AoqAudioFrameData): void
ParámetroTipoDescripción
frameAoqAudioFrameDataDatos de trama de audio después del procesamiento 3A
Valor de retorno: None (void).
frame.dataPtr es una copia Uint8Array de la memoria nativa y es válida solo durante la devolución de llamada. Copie los datos antes de usarlos asincrónicamente.

onPublishAudioFrame

Se invoca para un cuadro de audio antes de su publicación. El cuadro se codificará y se enviará al servidor Relay.
onPublishAudioFrame?(trackType: AoqTrackType, frame: AoqAudioFrameData): void
ParámetroTipoDescripción
trackTypeAoqTrackTypeTipo de pista
frameAoqAudioFrameDataDatos de trama de audio antes de la publicación
Valor de retorno: None (void).
frame.dataPtr es una copia Uint8Array de la memoria nativa y es válida solo durante la devolución de llamada. Copie los datos antes de usarlos asincrónicamente.

onPlaybackAudioFrame

Se llama para un fotograma de audio remoto antes de la reproducción. El fotograma ha sido decodificado pero aún no mezclado.
onPlaybackAudioFrame?(frame: AoqAudioFrameData): void
ParámetroTipoDescripción
frameAoqAudioFrameDataDatos de trama de audio remota antes de la reproducción
Valor de retorno: None (void).
frame.dataPtr es una copia Uint8Array de la memoria nativa y es válida solo durante la devolución de llamada. Copie los datos antes de usarlos asincrónicamente.

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.
export interface IVideoFrameObserver {
  onCapturedVideoFrame?: (trackType: AoqTrackType, frame: AoqVideoFrame) => boolean;
  onPreEncodeVideoFrame?: (trackType: AoqTrackType, frame: AoqVideoFrame) => boolean;
  onRemoteVideoFrame?: (trackType: AoqTrackType, frame: AoqVideoFrame) => boolean;
}
MétodoCuándo se activaParámetro
onCapturedVideoFrameCuando se captura una trama de video sin procesar (antes del preprocesamiento, AoqVideoSourceCaptured)trackType: tipo de pista; frame: AoqVideoFrame
onPreEncodeVideoFrameTrama de video antes de la codificación (después del preprocesamiento, AoqVideoSourcePreEncode)trackType: tipo de pista; frame: AoqVideoFrame
onRemoteVideoFrameTrama de video remota después de la decodificación y antes de la renderización (AoqVideoSourceRemote)trackType: tipo de pista; frame: AoqVideoFrame
Valor de retorno: boolean. true indica semánticamente que los datos modificados deben escribirse de nuevo en el SDK. La ruta actual de OHOS NAPI no realiza la escritura de retorno e ignora el valor devuelto.
Utilice setVideoFrameObserver(obs) + enableVideoFrameObserver(true, src, cfg). Los búferes en frame son copias Uint8Array de la memoria nativa y solo son válidos durante la devolución de llamada.

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.
onCapturedVideoFrame?(trackType: AoqTrackType, frame: AoqVideoFrame): boolean
ParámetroTipoDescripción
trackTypeAoqTrackTypeTipo de pista: Video o Screen
frameAoqVideoFrameDatos de fotograma de video capturado
Valor de retorno: boolean. true solicita que los datos modificados se escriban de nuevo en el SDK. La ruta actual de OHOS NAPI no escribe los datos de vuelta, por lo que true tiene el mismo efecto que false. false indica acceso de solo lectura.
Los búferes en frame son copias Uint8Array de la memoria nativa y solo son válidos durante la devolución de llamada. Copie los datos antes de utilizarlos de forma asíncrona.

onPreEncodeVideoFrame

Se invoca para un cuadro de video después del preprocesamiento y antes de la codificación.
onPreEncodeVideoFrame?(trackType: AoqTrackType, frame: AoqVideoFrame): boolean
ParámetroTipoDescripción
trackTypeAoqTrackTypeTipo de pista: Video o Screen
frameAoqVideoFrameDatos de fotograma de video antes de la codificación
Valor de retorno: boolean. true solicita que los datos modificados se escriban de nuevo en el SDK. La ruta actual de OHOS NAPI no escribe los datos de vuelta, por lo que true tiene el mismo efecto que false. false indica acceso de solo lectura.
Los búferes en frame son copias Uint8Array de la memoria nativa y solo son válidos durante la devolución de llamada. Copie los datos antes de utilizarlos de forma asíncrona.

onRemoteVideoFrame

Se invoca para un cuadro de video remoto después de la decodificación y antes de la renderización.
onRemoteVideoFrame?(trackType: AoqTrackType, frame: AoqVideoFrame): boolean
ParámetroTipoDescripción
trackTypeAoqTrackTypeTipo de pista: Video o Screen
frameAoqVideoFrameDatos de fotograma de video remoto decodificado
Valor de retorno: boolean. true solicita que los datos modificados se escriban de nuevo en el SDK. La ruta actual de OHOS NAPI no escribe los datos de vuelta, por lo que true tiene el mismo efecto que false. false indica acceso de solo lectura.
Los búferes en frame son copias Uint8Array de la memoria nativa y solo son válidos durante la devolución de llamada. Copie los datos antes de utilizarlos de forma asíncrona.

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

maxEncodedVideoFrameBytesnumber190 × 1024Tamaño máximo del cuadro codificado en bytes. Aplica solo al codificador JPEG interno del SDK.
enableDropOversizedVideoFramebooleanfalsePara 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

routeIndexnumberÍndice de ruta. Valor predeterminado: -1.
tcpPortnumberPredeterminado: 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

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

AoqECScreen300Error general de uso compartido de pantalla
AoqECScreenAuthFailed310Permiso de uso compartido de pantalla denegado
AoqECScreenStartFailed311Error 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

AoqTrackTypeScreen3Pista de pantalla compartida. Solo enlace ascendente.

AoqEncoderType

Formatos de codificación multimedia de pista.
Valor de enumeraciónValorDescripción
AoqEncoderTypeUnknown0Formato desconocido
AoqEncoderTypeAudioPCM1Audio PCM
AoqEncoderTypeAudioOpus2Audio Opus
AoqEncoderTypeVideoH2643Video H.264
AoqEncoderTypeVideoJpeg4Video JPEG
AoqEncoderTypeDataText5Datos de texto

AoqTrackMode

ValorNúmeroDescripción
AoqTrackModeSegment0Modo de segmento: entrega datos en segmentos semánticos, como oraciones. Aplica solo al audio descendente.
AoqTrackModeStream1Modo 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ónValorDescripción
AoqMirrorModeDisabled0Espejo deshabilitado
AoqMirrorModeEnabled1Espejo habilitado

AoqOrientationMode

Modos de orientación de video.
Valor de enumeraciónValorDescripción
AoqOrientationModeAuto0Automático
AoqOrientationModePortrait1Vertical
AoqOrientationModeLandscape2Horizontal

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ónValorDescripción
AoqAudioDeviceNone0Sin estado
AoqAudioDeviceRecordStarting1Iniciando captura
AoqAudioDeviceRecordStarted2Captura iniciada
AoqAudioDeviceRecordStopping3Deteniendo captura
AoqAudioDeviceRecordStopped4Captura detenida
AoqAudioDeviceRecordFail5Error en la captura
AoqAudioDevicePlayStarting6Iniciando reproducción
AoqAudioDevicePlayStarted7Reproducción iniciada
AoqAudioDevicePlayStopping8Deteniendo reproducción
AoqAudioDevicePlayStopped9Reproducción detenida
AoqAudioDevicePlayFail10Error en la reproducción

AoqAudioDeviceState

Estado del dispositivo de audio.
CampoTipoValor predeterminadoDescripción
stateAoqAudioDeviceStateCodeAoqAudioDeviceNoneCódigo de estado
reasonnumber0Código de motivo de error (consulte AoqErrorCode)

AoqAudioDeviceRouteType

Tipos de ruta de dispositivo de audio.
Valor de enumeraciónValorDescripción
AoqAudioDeviceRouteDefault0Ruta predeterminada
AoqAudioDeviceRouteHeadset1Auriculares con micrófono
AoqAudioDeviceRouteEarpiece2Auricular
AoqAudioDeviceRouteHeadsetNoMic3Auriculares sin micrófono
AoqAudioDeviceRouteSpeakerPhone4Altavoz
AoqAudioDeviceRouteUsb5Dispositivo de audio USB
AoqAudioDeviceRouteBluetooth6Modo Bluetooth SCO
AoqAudioDeviceRouteBluetoothA2dp7Modo 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ónValorDescripción
AoqAudioFileNone0Sin estado
AoqAudioFileStarted1Reproducción iniciada
AoqAudioFileStopped2Reproducción detenida
AoqAudioFilePaused3Reproducción en pausa
AoqAudioFileResumed4Reproducción reanudada
AoqAudioFileEnded5Reproducción finalizada
AoqAudioFileBuffering6Almacenamiento en búfer de reproducción
AoqAudioFileBufferingEnd7Almacenamiento en búfer finalizado
AoqAudioFileFailed8Error en la reproducción

AoqAudioFileErrorCode

Códigos de error de archivo de audio.
Valor de enumeraciónValorDescripción
AoqAudioFileNoError0Sin error
AoqAudioFileOpenFailed1Error al abrir el archivo
AoqAudioFileDecodeFailed2Error al decodificar el archivo

AoqAudioFileState

Estado del archivo de audio.
CampoTipoValor predeterminadoDescripción
fileIdstring""ID de archivo
stateCodeAoqAudioFileStateCodeAoqAudioFileNoneCódigo de estado
errorCodeAoqAudioFileErrorCodeAoqAudioFileNoErrorCódigo de error

Tipos de flujo de audio externo y volumen

AoqAudioStreamDirection

Direcciones de flujo de audio externo.
Valor de enumeraciónValorDescripción
AoqAudioStreamPublish0Publicando flujo
AoqAudioStreamPlayout1Flujo de reproducción

AoqAudioExternalStreamToggle

Estados de alternancia de secuencia de audio externa.
Valor de enumeraciónValorDescripción
AoqAudioExternalStreamToggleNormal0Estado normal
AoqAudioExternalStreamTogglePause1Estado 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ónValorDescripción
AoqAudioSourceCaptured0Datos de audio capturados
AoqAudioSourceProcessCaptured1Datos de audio después del procesamiento 3A
AoqAudioSourcePublish2Datos de audio publicados
AoqAudioSourcePlayback3Datos de audio de reproducción

AoqAudioObserverMode

Modos de callback de fotogramas de audio.
Valor de enumeraciónValorDescripción
AoqAudioObserverModeReadOnly0Modo de solo lectura
AoqAudioObserverModeReadWrite1Modo 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

CampoTipoValor predeterminadoDescripción
reportSpeechbooleanfalseSi se debe detectar voz.
intervalnumber0Intervalo 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.
smoothnumber3Factor de suavizado, de 0 a 10. Los valores más altos producen resultados más suaves.

AoqAudioVolume

CampoTipoDescripción
isSpeechbooleanSi se detecta voz.
volumenumberVolumen instantáneo suavizado, de 0 a 255.

Tipos de video

AoqRenderMode

Modos de renderizado.
Valor de enumeraciónValorDescripción
AoqRenderModeAuto0Modo automático
AoqRenderModeStretch1Modo de estiramiento. La imagen puede distorsionarse.
AoqRenderModeFill2Modo letterbox. Se conserva la imagen completa.
AoqRenderModeCrop3Modo de recorte. Puede perderse parte de la imagen.

AoqVideoCanvas

Campo

Tipo

Predeterminado

Descripción

view

Object | null

null

Instancia de AoqXComponentController; pase null para eliminar el enlace de renderizado

renderMode

AoqRenderMode

AoqRenderModeAuto

Modo de visualización

AoqCameraDirection

Dirección de la cámara.
Valor de enumeraciónValorDescripción
AoqCameraDirectionFront0Cámara frontal
AoqCameraDirectionBack1Cámara trasera

AoqVideoCaptureConfig

Campo

Tipo

Predeterminado

Descripción

width

number

1280

Ancho de captura; se ignora cuando isExternal=true

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 pushExternalVideoCapturedFrame

cameraDirection

AoqCameraDirection

Frontal

Dirección de la cámara

AoqScreenCaptureConfig

CampoTipoValor predeterminadoDescripción
isExternalbooleanfalseSi 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

TextureOES y Texture2D no son compatibles con HarmonyOS.

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ónValorDescripción
AoqVideoCodecTypeJPEG0Codificación JPEG

AoqVideoEncodedFrame

Campo

Tipo

Descripción

codec

AoqVideoCodecType

Formato de codificación (AoqVideoCodecTypeJPEG = 0)

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ónValorDescripción
AoqVideoDeviceNone0Sin estado
AoqVideoDeviceCaptureStarting1Iniciando cámara
AoqVideoDeviceCaptureStarted2Cámara iniciada
AoqVideoDeviceCaptureStopping3Deteniendo cámara
AoqVideoDeviceCaptureStopped4Cámara detenida
AoqVideoDeviceCaptureFail5Fallo al iniciar la cámara

AoqVideoDeviceState

Estado del dispositivo de video.
CampoTipoValor predeterminadoDescripción
stateAoqVideoDeviceStateCodeAoqVideoDeviceNoneCódigo de estado
reasonnumber0Código de motivo de error (consulte AoqErrorCode)

AoqScreenCaptureStateCode

ValorNúmeroDescripción
AoqScreenCaptureNone0None
AoqScreenCaptureStarting1Iniciando
AoqScreenCaptureStarted2Entrada lista; no indica transmisión
AoqScreenCaptureStopping3Deteniendo
AoqScreenCaptureStopped4Detenido
AoqScreenCaptureFail5Fallo de inicio o de ejecución

AoqScreenCaptureState

CampoTipoValor predeterminadoDescripción
stateAoqScreenCaptureStateCode—Estado de la captura de pantalla.
reasonnumber—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ónValorDescripción
AoqVideoSourceCaptured0Datos de video después de la captura (antes del preprocesamiento)
AoqVideoSourcePreEncode1Datos de video antes de la codificación (después del preprocesamiento)
AoqVideoSourceRemote2Datos 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ónValorDescripción
AoqVideoObserverModeReadOnly0Modo de solo lectura
AoqVideoObserverModeReadWrite1Modo 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ónValorDescripción
AoqVideoObserverAlignmentDefault0Alineación predeterminada
AoqVideoObserverAlignmentEven1Alineación par
AoqVideoObserverAlignment42Alineación de 4 bytes
AoqVideoObserverAlignment83Alineación de 8 bytes
AoqVideoObserverAlignment164Alineació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

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

Tipos de mensajes de datos

AoqDataMsg

Estructura de datos de mensajes en tiempo real.
CampoTipoValor predeterminadoDescripción
dataArrayBuffer / Uint8ArrayObligatorioDatos 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.
CampoTipoDescripción
trackTypenumberTipo de pista (correspondiente a AoqTrackType)
bitratenumberTasa de bits en bps
bytesnumberTotal de bytes enviados
encodeVolumenumberVolumen de codificación de publicación

AoqVideoPublishStats

Estadísticas de publicación de video.
CampoTipoDescripción
trackTypenumberTipo de pista (correspondiente a AoqTrackType)
bitratenumberTasa de bits en bps
bytesnumberTotal de bytes enviados
encodeFpsnumberTasa de cuadros de codificación

AoqDataMsgPublishStats

Estadísticas de publicación de mensajes de datos.
CampoTipoDescripción
trackTypenumberTipo de pista (correspondiente a AoqTrackType)
bitratenumberTasa de bits en bps
bytesnumberTotal de bytes enviados

AoqAudioSubscribeStats

Estadísticas de suscripción de audio.
CampoTipoDescripción
trackTypenumberTipo de pista (correspondiente a AoqTrackType)
bitratenumberTasa de bits en bps
bytesnumberTotal de bytes recibidos
playVolumenumberVolumen de reproducción

AoqVideoSubscribeStats

Estadísticas de suscripción de video.
CampoTipoDescripción
trackTypenumberTipo de pista (correspondiente a AoqTrackType)
bitratenumberTasa de bits en bps
bytesnumberTotal de bytes recibidos
decodeFpsnumberTasa de fotogramas de decodificación
renderFpsnumberTasa de fotogramas de renderizado

AoqDataMsgSubscribeStats

Estadísticas de suscripción a mensajes de datos.
CampoTipoDescripción
trackTypenumberTipo de pista (correspondiente a AoqTrackType)
bitratenumberTasa de bits en bps
bytesnumberTotal de bytes recibidos

AoqNetworkStats

Estadísticas de red.
CampoTipoDescripción
sendBitratenumberTasa de bits de envío en bps
sendBytesnumberTotal de bytes enviados
recvBitratenumberTasa de bits de recepción en bps
recvBytesnumberTotal de bytes recibidos
lossnumberTasa de pérdida de paquetes (0-100)
rttnumberLatencia de ida y vuelta en milisegundos