Skip to main content
AOQ SDK overview

Referência da API Electron do AOQ Client SDK

Este tópico descreve as APIs TypeScript, os eventos e os tipos de dados do AOQ Client SDK para Electron. O SDK é compatível com macOS x64/arm64 e Windows x64, e requer Node.js 16 ou superior.

Pacote aplicável: aoq-electron-sdk (npm). Plataformas compatíveis: macOS (x64 / arm64) e Windows x64. Node.js >= 16.

Índice de APIs

Entrada e ciclo de vida do engine

API

Descrição

createAoqClientEngine

Obtém a instância wrapper do engine (singleton inicializado sob demanda no nível do módulo)

createEngine

Crie a instância nativa do engine

destroy

Destrói a instância do engine

getVersion

Obtém a versão do SDK

connect

Conecta ao servidor relay

disconnect

Desconecta do servidor

Gerenciamento de dispositivos de áudio

API

Descrição

startAudioCapture

Abre o dispositivo de captura de áudio (microfone)

stopAudioCapture

Fecha o dispositivo de captura de áudio

muteAudioCapture

Silencia ou reativa a captura de áudio

startAudioPlayer

Inicia a renderização de áudio para reproduzir áudio remoto

stopAudioPlayer

Interrompe a renderização de áudio

pauseAudioPlayer

Pausa a renderização de áudio, com suporte a fade-out

resumeAudioPlayer

Retoma a renderização de áudio, com suporte a fade-in

interruptAudioPlayer

Interrompe a sessão de áudio atual

Configuração de codec de áudio

API

Descrição

setAudioEncoderConfig

Defina os parâmetros de codificação de áudio

setAudioDecoderConfig

Defina os parâmetros de decodificação de áudio

Gerenciamento de dispositivos de vídeo

API

Descrição

startVideoCapture

Abre o dispositivo de captura de vídeo (câmera)

stopVideoCapture

Fecha o dispositivo de captura de vídeo

Codec de vídeo e entrada externa

API

Descrição

setVideoEncoderConfig

Defina os parâmetros de codificação de vídeo

setVideoDecoderConfig

Defina os parâmetros de decodificação de vídeo

pushExternalVideoCapturedFrame

Envia um frame de vídeo capturado externamente

pushExternalVideoEncodedFrame

Envia um frame de vídeo codificado externamente

Controle de stream de mídia

API

Descrição

enableSendMediaStream

Ative ou desative o envio de uma stream de mídia local

Reprodução de arquivos de áudio

API

Descrição

startAudioFile

Inicia a reprodução de um arquivo de áudio local na stream de publicação

stopAudioFile

Interrompe a reprodução do arquivo de áudio

pauseAudioFile

Pausa a reprodução do arquivo de áudio

resumeAudioFile

Retoma a reprodução do arquivo de áudio

getAudioFileDuration

Consulta a duração total do arquivo de áudio

getAudioFileCurrentPosition

Consulta a posição atual de reprodução do arquivo de áudio

setAudioFilePositionMillis

Defina a posição de reprodução do arquivo de áudio (seek)

setAudioFileVolume

Defina o volume do arquivo de áudio

getAudioFileVolume

Consulta o volume atual do arquivo de áudio

Streams de áudio externas

API

Descrição

addAudioExternalStream

Adiciona uma stream de áudio externa

removeAudioExternalStream

Remove uma stream de áudio externa

pushAudioExternalStreamData

Fornece dados PCM de áudio externo

setAudioExternalStreamVolume

Defina o volume de uma stream de áudio externa

getAudioExternalStreamVolume

Consulta o volume de uma stream de áudio externa

clearAudioExternalStreamBuffer

Limpa o buffer de uma stream de áudio externa

Mensagens em tempo real

API

Descrição

sendDataMsg

Envia uma mensagem de dados em tempo real

Callbacks de frames de áudio

API

Descrição

setAudioFrameObserver

Defina se o observer de dados de frames de áudio está ativado ou desativado

enableAudioFrameObserver

Ative ou desative o callback de frames de áudio em uma posição específica

Indicação de volume local

API

Descrição

enableLocalAudioVolumeIndication

Ative ou desative o callback de indicação de volume de captura local

Callbacks de frames de vídeo

API

Descrição

setVideoFrameObserver

Defina se o observer de dados de frames de vídeo está ativado ou desativado

enableVideoFrameObserver

Ative ou desative o callback de frames de vídeo em uma posição específica

Renderização de vídeo (YUVCanvasRenderer)

API

Descrição

bind

Vincula um elemento canvas

unbind

Desvincula e limpa a imagem

bound

Consulta se existe um vínculo estabelecido atualmente

drawFrame

Desenha um frame de dados de vídeo I420

Eventos do engine (IAoqEngineEvents)

Evento

Descrição

onError

Callback de erro do engine

onWarning

Callback de aviso do engine

onConnectionStatusChange

Callback de alteração de status de conexão

onStats

Callback de estatísticas do engine

onAudioDeviceStateChanged

Callback de alteração de status operacional do dispositivo de áudio

onAudioDeviceRouteChanged

Callback de alteração de rota de saída de áudio

onAudioFileState

Callback de status de reprodução de arquivo de áudio

onLocalAudioVolumeIndication

Callback de indicação de volume de captura local

onVideoDeviceStateChanged

Callback de alteração de status operacional do dispositivo de vídeo

onDataMsg

Callback para mensagem de dados em tempo real recebida

onCapturedAudioFrame

Callback para dados de áudio brutos capturados

onProcessCapturedAudioFrame

Callback para dados de áudio após processamento 3A

onPublishAudioFrame

Callback para dados de áudio de publicação

onPlaybackAudioFrame

Callback para dados de áudio de reprodução

onCapturedVideoFrame

Callback para dados de vídeo brutos locais após captura

onPreEncodeVideoFrame

Callback para dados de vídeo brutos locais antes da codificação

onRemoteVideoFrame

Callback para dados de vídeo remoto após decodificação e antes da renderização

Detalhes das APIs

Entrada e ciclo de vida do engine

createAoqClientEngine

Obtém a instância wrapper do engine. Trata-se de um singleton inicializado sob demanda no nível do módulo. Chamadas subsequentes retornam a mesma instância, alinhando-se à semântica de singleton do engine nativo. Esta também é a exportação padrão do pacote.
import createAoqClientEngine from 'aoq-electron-sdk';
export function createAoqClientEngine(): IAoqClientEngine
Retorno: A instância do engine IAoqClientEngine. Observe que este método cria apenas a camada wrapper JS e a bridge nativa. Para criar efetivamente o engine, chame também createEngine().

createEngine

Crie a instância nativa do engine. Como o engine é um singleton global, chamadas adicionais retornam sucesso diretamente.
createEngine(config: AoqCreateConfig): number

Parâmetros

Tipo

Descrição

config

AoqCreateConfig

Configuração de criação do engine

Retorno: 0 em caso de sucesso; -1 indica falha na criação ou parâmetro JSON inválido.
No Windows, createEngine() anexa um message pump Win32 de 16 ms ao loop libuv da thread JS atual (necessário para captura de câmera) e o interrompe em destroy(). Portanto, não bloqueie sincronamente a thread JS por longos períodos após chamar createEngine().

destroy

Destrói a instância do engine e libera todos os recursos.
destroy(): number
Retorno: 0 indica sucesso; valores diferentes de 0 indicam falha. Se o engine não tiver sido criado, o retorno será 0.

getVersion

Obtém a versão atual do SDK. Não é necessário chamar createEngine() anteriormente.
getVersion(): string
Retorno: A string de versão, como "1.2.0". Uma string vazia é retornada se não for possível obter a versão.

connect

Conecta ao servidor relay. O servidor da aplicação obtém parâmetros temporários de conexão AOQ com base no protocolo em uso e os envia ao cliente. Para mais informações, consulte Token authentication.
connect(config: AoqConnectConfig): number

Parâmetros

Tipo

Descrição

config

AoqConnectConfig

Configuração de conexão, incluindo token, SID, lista de pontos de acesso relay e listas de tracks de publicação e assinatura

Retorno: 0 indica que a chamada foi despachada e executa assincronamente; valores diferentes de 0 indicam falha na validação de parâmetros. O resultado da conexão é notificado pelo evento onConnectionStatusChange.

disconnect

Desconecta do servidor e libera os recursos associados à conexão.
disconnect(): number
Retorno: 0 indica que a chamada foi despachada e executa assincronamente; valores diferentes de 0 indicam falha.

Gerenciamento de dispositivos de áudio

startAudioCapture

startAudioCapture(config: AoqAudioCaptureConfig): number
Abre o dispositivo de captura de áudio (microfone). A primeira captura aciona uma solicitação de autorização do sistema. No macOS, declare NSMicrophoneUsageDescription no arquivo Info.plist da aplicação.

stopAudioCapture

stopAudioCapture(): number
Fecha o dispositivo de captura de áudio.

muteAudioCapture

muteAudioCapture(mute: boolean): number
Silencia ou reativa a captura de áudio. mute=true silencia e false reativa o áudio.

startAudioPlayer

startAudioPlayer(config: AoqAudioPlaybackConfig): number
Inicia a renderização de áudio para reproduzir áudio remoto.

stopAudioPlayer / pauseAudioPlayer / resumeAudioPlayer

stopAudioPlayer(): number
pauseAudioPlayer(fadeMs: number): number
resumeAudioPlayer(fadeMs: number): number
fadeMs: duração do fade-out ou fade-in, em milissegundos. 0 indica execução imediata.

interruptAudioPlayer

interruptAudioPlayer(trackType: AoqTrackType, fadeMs: number): number
Interrompe a sessão de áudio atual e descarta os dados de downlink armazenados em buffer da sessão corrente.

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

Tipo de track

fadeMs

number

Duração do fade-out, em milissegundos

Configuração de codec de áudio

setAudioEncoderConfig(config: AoqAudioCodecConfig): number
setAudioDecoderConfig(config: AoqAudioCodecConfig): number
Recomendamos chamar este método antes de connect(). Para usar Opus (AoqEncoderTypeAudioOpus), o plug-in PluginOpus deve estar integrado ao SDK ou distribuído com o pacote.

Gerenciamento de dispositivos de vídeo

startVideoCapture(config: AoqVideoCaptureConfig): number
stopVideoCapture(): number
Abre ou fecha o dispositivo de captura de vídeo. No macOS, declare NSCameraUsageDescription em Info.plist. Quando config.isExternal=true, a câmera não é aberta e os frames são entregues via pushExternalVideoCapturedFrame.
O renderer do Electron é um ambiente Chromium e não pode incorporar visualizações nativas, portanto setLocalView / setRemoteView / switchCamera não estão disponíveis. Para pré-visualização, utilize o observer de frames com YUVCanvasRenderer (consulte 2.13).

Codec de vídeo e entrada externa

setVideoEncoderConfig(config: AoqVideoCodecConfig): number
setVideoDecoderConfig(config: AoqVideoCodecConfig): number
pushExternalVideoCapturedFrame(meta: AoqExternalVideoFrameMeta, buffer: Uint8Array): number
pushExternalVideoEncodedFrame(meta: AoqExternalVideoEncodedFrameMeta, buffer: Uint8Array): number

Parâmetros

Tipo

Descrição

meta

AoqExternalVideoFrameMeta / AoqExternalVideoEncodedFrameMeta

Metadados do frame (dimensões, formato e timestamp)

buffer

Uint8Array

Dados do frame (dados de pixel ou dados codificados)

Observações:
  • pushExternalVideoCapturedFrame só é consumido após startVideoCapture({ isExternal: true }). Retorna 211 quando a captura externa não está ativada e 210 quando o buffer está cheio.
  • Formatos AoqVideoPixelFormatI420 e empacotados (NV12 / NV21 / BGRA / RGBA) são compatíveis. Para I420, buffer deve usar layout compacto (stride = width), com os planos Y / U / V concatenados em ordem.
  • pushExternalVideoEncodedFrame exige setVideoEncoderConfig({ isExternal: true }) previamente. Retorna 212 quando não estiver ativado. Atualmente, apenas JPEG é compatível.
  • Quando meta.timeStamp for 0, o SDK o preenche com a hora local.

Controle de stream de mídia

enableSendMediaStream(trackType: AoqTrackType, enable: boolean): number
Defina se uma stream de mídia local específica deve ser enviada. Recomendamos chamar enableSendMediaStream(trackType, false) após a inicialização e ativar o envio somente depois que onConnectionStatusChange reportar AoqConnectionStatusConnected.

Reprodução de arquivos de áudio

startAudioFile(config: AoqAudioFileMixConfig): number
stopAudioFile(fileId: string): number
pauseAudioFile(fileId: string): number
resumeAudioFile(fileId: string): number
getAudioFileDuration(fileId: string): number
getAudioFileCurrentPosition(fileId: string): number
setAudioFilePositionMillis(fileId: string, positionMs: number): number
setAudioFileVolume(fileId: string, type: AoqAudioStreamDirection, volume: number): number
getAudioFileVolume(fileId: string, type: AoqAudioStreamDirection): number

Parâmetros

Tipo

Descrição

config

AoqAudioFileMixConfig

Configuração de mixagem de arquivo. fileId é transmitido como campo de configuração.

fileId

string

Identificador do arquivo, definido pelo chamador. Chamadas subsequentes da API usam este valor para localizar o arquivo.

positionMs

number

Posição alvo de reprodução, em milissegundos

type

AoqAudioStreamDirection

Volume de publicação ou volume de reprodução local

volume

number

Volume. Valores válidos: 0 a 100.

Descrição do valor de retorno:
  • getAudioFileDuration / getAudioFileCurrentPosition retornam o número de milissegundos;
  • getAudioFileVolume retorna o volume atual;
  • Os métodos getters acima retornam -1 quando o engine não foi criado.
Alterações no estado de reprodução são reportadas através do evento onAudioFileState.

Streams de áudio externas

addAudioExternalStream(config: AoqAudioExternalStreamConfig): number
removeAudioExternalStream(streamId: string): number
pushAudioExternalStreamData(meta: AoqAudioExternalFrameMeta, buffer: Uint8Array): number
setAudioExternalStreamVolume(streamId: string, type: AoqAudioStreamDirection, volume: number): number
getAudioExternalStreamVolume(streamId: string, type: AoqAudioStreamDirection): number
clearAudioExternalStreamBuffer(streamId: string, fadeoutMs: number): number

Parâmetros

Tipo

Descrição

config

AoqAudioExternalStreamConfig

Configuração da stream de áudio externa. streamId é transmitido como campo de configuração.

streamId

string

Identificador da stream, definido pelo chamador

meta

AoqAudioExternalFrameMeta

Metadados do frame PCM. streamId é transmitido como campo de metadados.

buffer

Uint8Array

Dados PCM

fadeoutMs

number

Duração do fade-out ao limpar o buffer, em milissegundos

Observações:
  • pushAudioExternalStreamData retorna 110 (buffer de áudio externo cheio) quando a duração em buffer excede maxBufferDuration.
  • getAudioExternalStreamVolume retorna o volume atual. Retorna -1 quando o engine não foi criado.
  • clearAudioExternalStreamBuffer não possui valor de retorno no lado nativo e sempre retorna 0 em uma chamada bem-sucedida.

Mensagens em tempo real

sendDataMsg(data: Uint8Array | string): number
Envia uma mensagem de dados em tempo real. Se você passar uma string, ela será codificada internamente em UTF-8 para um Buffer antes do envio. Mensagens recebidas do par são reportadas via callback do evento onDataMsg.

Callbacks de frames de áudio

setAudioFrameObserver(enable: boolean): number
enableAudioFrameObserver(params: AoqAudioObserverParams): number

Parâmetros

Tipo

Descrição

enable

boolean

true registra o observer de frames de áudio integrado; false cancela o registro

params

AoqAudioObserverParams

Especifique a posição do callback, estado ligado/desligado e formato do callback

Uso: Primeiro, chame setAudioFrameObserver(true) para registrar o observer. Em seguida, chame enableAudioFrameObserver para cada posição necessária. Os dados são entregues através dos eventos correspondentes.
engine.setAudioFrameObserver(true)
engine.enableAudioFrameObserver({
  enabled: true,
  audioSource: AoqAudioSource.AoqAudioSourceCaptured,
  sampleRate: 48000,
  channels: 1
})
engine.on('onCapturedAudioFrame', (frame) => { /* frame.buffer contains PCM data */ })
O observer de frames no lado Electron é compatível apenas com o modo somente leitura e não permite gravar dados de frame de volta no callback (o lado nativo é fixo em ReadOnly).

Indicação de volume local

enableLocalAudioVolumeIndication(config: AoqAudioVolumeIndicationConfig): number
Ative ou desative a indicação de volume de captura local. Se config.interval <= 0, o callback é desativado. Após a ativação, onLocalAudioVolumeIndication é acionado no intervalo especificado por config.interval. Chame este método após startAudioCapture() para obter dados de volume.

Callbacks de frames de vídeo

setVideoFrameObserver(enable: boolean): number
enableVideoFrameObserver(params: AoqVideoObserverParams): number

Parâmetros

Tipo

Descrição

enable

boolean

true registra o observer de frames de vídeo integrado; false cancela o registro

params

AoqVideoObserverParams

Especifique a posição do callback, estado ligado/desligado, formato de pixel e política de alinhamento

Os dados do callback são entregues como AoqVideoFrameEvent através de onCapturedVideoFrame / onPreEncodeVideoFrame / onRemoteVideoFrame. Para I420, buffer corresponde aos planos Y / U / V concatenados com base no stride. Outros formatos empacotados são passados como dados originais. Apenas o modo somente leitura é compatível.

Renderização de vídeo (YUVCanvasRenderer)

Renderizador de software integrado ao SDK. Assume as responsabilidades de pré-visualização de setLocalView / setRemoteView em plataformas móveis.
import { YUVCanvasRenderer } from 'aoq-electron-sdk';

class YUVCanvasRenderer {
  bind(canvas: HTMLCanvasElement): void
  unbind(): void
  get bound(): boolean
  drawFrame(frame: AoqVideoFrameEvent): void
}

API

Descrição

bind

Vincula um canvas (vincular novamente substitui o sink)

unbind

Desvincula e limpa a imagem

bound

Indica se um vínculo está estabelecido

drawFrame

Desenha um frame; apenas I420 é compatível, e o método retorna silenciosamente para formatos não-I420 ou quando o tamanho ou comprimento do buffer é insuficiente

const renderer = new YUVCanvasRenderer()
renderer.bind(document.getElementById('preview'))

engine.setVideoFrameObserver(true)
engine.enableVideoFrameObserver({
  enabled: true,
  videoSource: AoqVideoSource.AoqVideoSourceCaptured,
  format: AoqVideoPixelFormat.AoqVideoPixelFormatI420
})
engine.on('onCapturedVideoFrame', (frame) => renderer.drawFrame(frame))
Para o modo de preenchimento da renderização (como esticar ou cortar), use a propriedade CSS object-fit para controlar o canvas.

Eventos do engine (IAoqEngineEvents)

O engine herda de EventEmitter<IAoqEngineEvents>. Os eventos constituem a saída unificada para todas as notificações assíncronas do SDK e mapeiam um a um os callbacks nativos de AoqEngineEventListener. Não é necessário registrar eventos que não sejam de seu interesse.
engine.on('onError', (code, message) => {})
engine.off('onError', handler)
engine.once('onStats', (stats) => {})
engine.removeAllListeners()

onError

onError: (code: number, message: string) => void
Callback de erro do engine. code corresponde a um valor AoqErrorCode (consulte 3.3).

onWarning

onWarning: (code: number, message: string) => void
Callback de aviso do engine. code corresponde a um valor AoqWarningCode (consulte 3.3).

onConnectionStatusChange

onConnectionStatusChange: (status: AoqConnectionStatus) => void
Callback de alteração de status de conexão. Transições de estado: Disconnected -> Connecting -> Connected / Failed -> Disconnected.

onStats

onStats: (stats: AoqStats) => void
Callback de estatísticas do engine. O SDK reporta periodicamente estatísticas de publicação e assinatura de áudio e vídeo, além de estatísticas de rede. Use esses dados para monitorar a qualidade da chamada e o status da rede em tempo real, bem como diagnosticar problemas de áudio e vídeo.

Parâmetros

Tipo

Descrição

stats

AoqStats

Estatísticas de publicação e assinatura e estatísticas de rede para áudio, vídeo e mensagens de dados

onAudioDeviceStateChanged

onAudioDeviceStateChanged: (state: AoqAudioDeviceState) => void
Callback para alterações no status operacional de captura e reprodução do dispositivo de áudio.

onAudioDeviceRouteChanged

onAudioDeviceRouteChanged: (routeType: number) => void
Callback de alteração de rota de saída de áudio. routeType corresponde a um valor AoqAudioDeviceRouteType (consulte 3.4).

onAudioFileState

onAudioFileState: (state: AoqAudioFileState) => void
Callback para status de reprodução de arquivo de áudio.

onLocalAudioVolumeIndication

onLocalAudioVolumeIndication: (volume: AoqAudioVolume) => void
Callback de indicação de volume de captura local. Para ativá-lo, chame enableLocalAudioVolumeIndication.

onVideoDeviceStateChanged

onVideoDeviceStateChanged: (state: AoqVideoDeviceState) => void
Callback para alterações no status operacional de captura do dispositivo de vídeo.

onDataMsg

onDataMsg: (data: Uint8Array) => void
Callback para mensagem de dados em tempo real recebida. data é um Buffer copiado no lado nativo e pode ser mantido com segurança de forma assíncrona. Para mensagens de texto, use Buffer.from(data).toString() para converter os dados em string.

Eventos de frames de áudio

onCapturedAudioFrame:        (frame: AoqAudioFrameEvent) => void  /* raw captured data */
onProcessCapturedAudioFrame: (frame: AoqAudioFrameEvent) => void  /* data after 3A processing */
onPublishAudioFrame:         (frame: AoqAudioFrameEvent) => void  /* publishing data */
onPlaybackAudioFrame:        (frame: AoqAudioFrameEvent) => void  /* playback data */
Chame primeiro setAudioFrameObserver(true) e enableAudioFrameObserver para ativar.

Eventos de frames de vídeo

onCapturedVideoFrame:  (frame: AoqVideoFrameEvent) => void  /* after capture, before preprocessing */
onPreEncodeVideoFrame: (frame: AoqVideoFrameEvent) => void  /* before encoding, after preprocessing */
onRemoteVideoFrame:    (frame: AoqVideoFrameEvent) => void  /* remote, after decoding and before rendering */
Chame primeiro setVideoFrameObserver(true) e enableVideoFrameObserver para ativar. Os eventos de frame são somente leitura. Modificações em buffer no callback não são gravadas de volta no SDK.
Evite computação pesada nos callbacks de eventos: os callbacks nativos são despachados para a thread principal JS através de uma thread assíncrona, e operações demoradas em eventos de frame de alta frequência causam acúmulo de processamento.

Tipos de dados e enumerações

Todos os tipos são exportados da raiz do pacote, permitindo o uso direto de import { ... } from 'aoq-electron-sdk'. As enumerações são tipos TypeScript enum e estão disponíveis em tempo de execução, enquanto interfaces (interface) são apenas restrições de tipo. Se um campo marcado como opcional não for especificado, o valor padrão na tabela será utilizado.

Tipos gerais

AoqCreateConfig

Campo

Tipo

Obrigatório

Valor padrão

Descrição

workDir

string

Não

""

Diretório de trabalho do SDK (para logs e arquivos temporários)

enableDumpAudio

boolean

Não

false

Defina se os dados de áudio devem ser salvos (para depuração)

extras

string

Não

""

Parâmetros estendidos (uma string JSON)

O campo isBTScoMode no Android é exclusivo para dispositivos móveis e não é fornecido pelo Electron.

AoqConnectConfig

Campo

Tipo

Obrigatório

Valor padrão

Descrição

token

string

Sim

-

Token de autenticação de conexão

sid

string

Sim

-

ID da sessão

certFingerprint

string

Não

""

Fingerprint do certificado do servidor

workspaceIdHash

string

Não

None

Hash do ID do workspace. Uma string vazia equivale a não passar o parâmetro.

relayEndpoints

Array

Sim

-

Lista de pontos de acesso relay

publishTracks

Array

Sim

-

Lista de tracks publicadas localmente

subscribeTracks

Array

Sim

-

Lista de tracks assinadas localmente

AoqRelayEndpoint

Campo

Tipo

Obrigatório

Valor padrão

Descrição

routeIndex

number

Não

-1

Índice da rota

endpoint

string

Sim

-

Nome de domínio ou endereço IP do servidor relay

port

number

Sim

-

Porta do servidor relay

AoqTrackParam

Campo

Tipo

Obrigatório

Valor padrão

Descrição

trackType

AoqTrackType

Sim

-

Tipo de track

trackMode

AoqTrackMode

Não

AoqTrackModeSegment

Modo streaming ou não-streaming. Efetivo apenas para downlink de áudio.

Tipos de estatísticas

AoqStats

Resumo das estatísticas do engine, reportado periodicamente via onStats. Um campo de array é um array vazio quando não há dados, e networkStats não é entregue quando não há dados.

Campo

Tipo

Descrição

audioPublishStats

Array

Estatísticas de publicação de áudio

videoPublishStats

Array

Estatísticas de publicação de vídeo

dataMsgPublishStats

Array

Estatísticas de publicação de mensagens de dados

audioSubscribeStats

Array

Estatísticas de assinatura de áudio

videoSubscribeStats

Array

Estatísticas de assinatura de vídeo

dataMsgSubscribeStats

Array

Estatísticas de assinatura de mensagens de dados

networkStats

AoqNetworkStats

Estatísticas de rede

AoqAudioPublishStats

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de track

bitrate

number

Taxa de bits, em bit/s

bytes

number

Bytes acumulados enviados

encodeVolume

number

Volume de codificação da stream de publicação

AoqAudioSubscribeStats

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de track

bitrate

number

Taxa de bits, em bit/s

bytes

number

Bytes acumulados recebidos

playVolume

number

Volume de reprodução

AoqVideoPublishStats

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de track

bitrate

number

Taxa de bits, em bit/s

bytes

number

Bytes acumulados enviados

encodeFps

number

Taxa de quadros de codificação

AoqVideoSubscribeStats

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de track

bitrate

number

Taxa de bits, em bit/s

bytes

number

Bytes acumulados recebidos

decodeFps

number

Taxa de quadros de decodificação

renderFps

number

Taxa de quadros de renderização

AoqDataMsgPublishStats / AoqDataMsgSubscribeStats

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de track

bitrate

number

Taxa de bits, em bit/s

bytes

number

Bytes acumulados enviados e recebidos

AoqNetworkStats

Campo

Tipo

Descrição

sendBitrate

number

Taxa de bits de envio, em bit/s

sendBytes

number

Bytes acumulados enviados

recvBitrate

number

Taxa de bits de recebimento, em bit/s

recvBytes

number

Bytes acumulados recebidos

loss

number

Taxa de perda de pacotes, de 0 a 100

rtt

number

Latência de ida e volta, em ms

Enumerações

AoqTrackType

Valor da enumeração

Valor

Descrição

AoqTrackTypeAudio

0

Track de áudio

AoqTrackTypeVideo

1

Track de vídeo

AoqTrackTypeData

2

Track de mensagem de dados

AoqTrackMode

Valor da enumeração

Valor

Descrição

AoqTrackModeSegment

0

Segmentado: os dados são empacotados e entregues em segmentos semânticos, como uma frase.

AoqTrackModeStream

1

Streaming: os dados são entregues continuamente.

AoqEncoderType

Valor da enumeração

Valor

Descrição

AoqEncoderTypeUnknown

0

Formato desconhecido

AoqEncoderTypeAudioPCM

1

Áudio PCM

AoqEncoderTypeAudioOpus

2

Áudio Opus (baseado em plug-in; requer PluginOpus)

AoqEncoderTypeVideoH264

3

Vídeo H.264

AoqEncoderTypeVideoJpeg

4

Vídeo JPEG

AoqEncoderTypeDataText

5

Texto de mensagem

AoqConnectionStatus

Valor da enumeração

Valor

Descrição

AoqConnectionStatusDisconnected

0

Desconectado

AoqConnectionStatusConnecting

1

Conectando

AoqConnectionStatusConnected

2

Conectado

AoqConnectionStatusFailed

3

Falha na conexão

AoqMirrorMode

Valor da enumeração

Valor

Descrição

AoqMirrorModeDisabled

0

Espelhamento desativado

AoqMirrorModeEnabled

1

Espelhamento ativado

AoqOrientationMode

Valor da enumeração

Valor

Descrição

AoqOrientationModeAuto

0

Ajuste automático

AoqOrientationModePortrait

1

Retrato

AoqOrientationModeLandscape

2

Paisagem

AoqErrorCode

Os códigos de erro são definidos na camada nativa. O parâmetro code de onError e os valores de retorno da API utilizam estes valores (a camada TS não os exporta como enum).

Valor da enumeração

Valor

Descrição

AoqErrorCodeOK

0

Sucesso

AoqErrorCodeParamInvalid

1

Parâmetro inválido

AoqErrorCodeStateInvalid

2

Estado inválido

AoqErrorCodeUnSupport

3

Não compatível na plataforma atual ou no modo atual

AoqErrorCodeAudio

100

Erro genérico de áudio

AoqErrorCodeAudioExternalBufferFull

110

Buffer de áudio externo cheio

AoqErrorCodeAudioDevice

120

Erro genérico de dispositivo de áudio

AoqErrorCodeAudioDeviceRecordingAuthFailed

121

Permissão de gravação não concedida

AoqErrorCodeAudioDeviceRecordingOccupied

122

Dispositivo de gravação em uso

AoqErrorCodeAudioDeviceRecordingBackgroundStart

123

Falha ao iniciar gravação em segundo plano

AoqErrorCodeAudioDeviceRecordingStartFail

124

Falha ao iniciar gravação

AoqErrorCodeAudioDevicePlayoutOccupied

125

Dispositivo de reprodução em uso

AoqErrorCodeAudioDevicePlayoutBackgroundStart

126

Falha ao iniciar reprodução em segundo plano

AoqErrorCodeAudioDevicePlayoutStartFail

127

Falha ao iniciar reprodução

AoqErrorCodeVideo

200

Erro genérico de vídeo

AoqErrorCodeVideoExternalBufferFull

210

Buffer de vídeo externo cheio

AoqErrorCodeVideoExternalCaptureNotEnabled

211

Captura de vídeo externa não ativada

AoqErrorCodeVideoExternalEncoderNotEnabled

212

Codificação de vídeo externa não ativada

AoqErrorCodeVideoDevice

220

Erro genérico de dispositivo de vídeo

AoqErrorCodeVideoDeviceCameraOpenFail

221

Falha ao abrir a câmera

AoqErrorCodeVideoDeviceCameraAuthFailed

222

Permissão de câmera não concedida

AoqErrorCodeVideoDeviceCameraOccupied

223

Câmera em uso

AoqErrorCodeVideoDeviceCameraRunningError

224

Exceção de tempo de execução da câmera

AoqErrorCodeVideoCodec

230

Erro genérico de codec de vídeo

AoqErrorCodeVideoCodecEncoderInitFail

231

Falha ao inicializar o codificador de vídeo

AoqErrorCodeVideoRender

240

Erro genérico de renderização de vídeo

AoqErrorCodeVideoRenderCreateFail

241

Falha ao criar renderização de vídeo

AoqErrorCodeVideoRenderDrawError

242

Erro de desenho na renderização de vídeo

Além dos códigos de erro nativos acima, a camada Electron retorna -1 quando o engine não foi criado ou foi destruído, ou quando um parâmetro não é um JSON válido.

AoqWarningCode

Valor da enumeração

Valor

Descrição

AoqWCOK

0

Sem avisos

AoqWCAudio

100

Aviso genérico de áudio

AoqWCAudioHowling

101

Microfonia detectada

AoqWCAudioDevice

120

Aviso genérico de dispositivo de áudio

AoqWCAudioDeviceMicEnumerateError

121

Erro de enumeração de microfone

AoqWCAudioDeviceMicStartTimeout

122

Tempo limite de inicialização do microfone

AoqWCAudioDeviceRecordingError

123

Erro durante a gravação

AoqWCAudioDeviceSpeakerEnumerateError

124

Erro de enumeração de alto-falante

AoqWCAudioDeviceSpeakerStartTimeout

125

Tempo limite de inicialização do alto-falante

AoqWCAudioDevicePlayoutError

126

Erro durante a reprodução

AoqWCVideo

200

Aviso genérico de vídeo

AoqWCVideoCameraEnumerateError

201

Erro de enumeração de câmera

AoqWCVideoEncoderSwitched

202

Codificador de vídeo alternado

AoqWCVideoRenderDowngrade

203

Renderização de vídeo rebaixada

Tipos de áudio

AoqAudioCaptureConfig

Campo

Tipo

Obrigatório

Valor padrão

Descrição

isExternal

boolean

Não

false

Defina se o modo de captura externa deve ser usado

channel

number

Não

1

Número de canais de captura de áudio. 1 e 2 são compatíveis.

AoqAudioPlaybackConfig

Campo

Tipo

Obrigatório

Valor padrão

Descrição

isExternal

boolean

Não

false

Defina se o modo de reprodução externa deve ser usado

channel

number

Não

1

Número de canais de reprodução de áudio. 1 e 2 são compatíveis.

isVoipMode / isDefaultSpeaker são campos exclusivos para dispositivos móveis e não são fornecidos pelo Electron.

AoqAudioCodecConfig

Campo

Tipo

Obrigatório

Valor padrão

Descrição

trackType

AoqTrackType

Não

AoqTrackTypeAudio

Tipo de track

codecType

AoqEncoderType

Não

AoqEncoderTypeAudioPCM

Formato do codec

sampleRate

number

Não

48000

Taxa de amostragem, em Hz. Para codificação, Opus 8/16/48K e PCM 8/16/32/48K são compatíveis. Para decodificação, 24K também é compatível, mas apenas no modo Segment.

channel

number

Não

1

Número de canais. 1 e 2 são compatíveis.

bitrate

number

Não

32000

Taxa de bits, em bit/s

AoqAudioDeviceRouteType

A tabela a seguir lista os valores válidos de routeType para onAudioDeviceRouteChanged. Estes valores são definidos pela camada nativa e não são exportados como enum pela camada TypeScript.

Valor da enumeração

Valor

Descrição

AoqAudioDeviceRouteDefault

0

Rota padrão

AoqAudioDeviceRouteHeadset

1

Fones de ouvido com microfone

AoqAudioDeviceRouteEarpiece

2

Auricular

AoqAudioDeviceRouteHeadsetNoMic

3

Fones de ouvido sem microfone

AoqAudioDeviceRouteSpeakerPhone

4

Alto-falante

AoqAudioDeviceRouteUsb

5

Dispositivo de áudio USB

AoqAudioDeviceRouteBluetooth

6

Modo Bluetooth SCO

AoqAudioDeviceRouteBluetoothA2dp

7

Modo Bluetooth A2DP

AoqAudioDeviceStateCode

Valor da enumeração

Valor

Descrição

AoqAudioDeviceNone

0

Sem estado

AoqAudioDeviceRecordStarting

1

Captura iniciando

AoqAudioDeviceRecordStarted

2

Captura iniciada

AoqAudioDeviceRecordStopping

3

Captura parando

AoqAudioDeviceRecordStopped

4

Captura parada

AoqAudioDeviceRecordFail

5

Falha na captura

AoqAudioDevicePlayStarting

6

Reprodução iniciando

AoqAudioDevicePlayStarted

7

Reprodução iniciada

AoqAudioDevicePlayStopping

8

Reprodução parando

AoqAudioDevicePlayStopped

9

Reprodução parada

AoqAudioDevicePlayFail

10

Falha na reprodução

AoqAudioDeviceState

Campo

Tipo

Descrição

state

AoqAudioDeviceStateCode

Status operacional do dispositivo

reason

number

Código do motivo do erro. Consulte AoqErrorCode.

Tipos de arquivo de áudio

AoqAudioFileMixConfig

Campo

Tipo

Obrigatório

Valor padrão

Descrição

fileId

string

Sim

-

Identificador do arquivo. Chamadas subsequentes da API usam este valor para localizar o arquivo.

fileName

string

Sim

-

Nome do arquivo (incluindo o caminho)

cycles

number

Não

-1

Número de loops. -1 indica loop ilimitado.

startPosMs

number

Não

0

Posição inicial de reprodução, em milissegundos

publishVolume

number

Não

100

Volume de publicação. Valores válidos: 0 a 100.

playoutVolume

number

Não

100

Volume de reprodução. Valores válidos: 0 a 100.

AoqAudioFileStateCode

Valor da enumeração

Valor

Descrição

AoqAudioFileNone

0

Sem estado

AoqAudioFileStarted

1

Reprodução iniciada

AoqAudioFileStopped

2

Reprodução parada

AoqAudioFilePaused

3

Reprodução pausada

AoqAudioFileResumed

4

Reprodução retomada

AoqAudioFileEnded

5

Reprodução encerrada

AoqAudioFileBuffering

6

Buffering de reprodução

AoqAudioFileBufferingEnd

7

Buffering encerrado

AoqAudioFileFailed

8

Falha na reprodução

AoqAudioFileErrorCode

A tabela a seguir lista os valores válidos de AoqAudioFileState.errorCode. Estes valores são definidos pela camada nativa e entregues como valores number pela camada TypeScript.

Valor da enumeração

Valor

Descrição

AoqAudioFileNoError

0

Sem erro

AoqAudioFileOpenFailed

1

Falha ao abrir o arquivo

AoqAudioFileDecodeFailed

2

Falha ao decodificar o arquivo

AoqAudioFileState

Campo

Tipo

Descrição

fileId

string

Identificador do arquivo

stateCode

AoqAudioFileStateCode

Código de status de reprodução do arquivo

errorCode

number

Código de erro do arquivo. Consulte AoqAudioFileErrorCode.

Tipos de stream de áudio externa

AoqAudioStreamDirection

Valor da enumeração

Valor

Descrição

AoqAudioStreamPublish

0

Stream de publicação

AoqAudioStreamPlayout

1

Stream de reprodução (reprodução local)

AoqAudioExternalStreamConfig

Campo

Tipo

Obrigatório

Valor padrão

Descrição

streamId

string

Sim

-

Identificador da stream

trackType

AoqTrackType

Não

AoqTrackTypeAudio

Tipo de track de áudio

codecType

AoqEncoderType

Não

AoqEncoderTypeAudioPCM

Formato da stream de áudio. PCM é compatível atualmente.

channels

number

Não

1

Número de canais. Limitado pelo codec da stream de publicação. 1 e 2 são compatíveis.

sampleRate

number

Não

48000

Taxa de amostragem, em Hz. 8, 12, 16, 24, 32, 44,1, 48, 64, 88,2, 96, 176,4 e 192K são compatíveis.

playoutVolume

number

Não

100

Volume de reprodução. Valores válidos: 0 a 100.

publishVolume

number

Não

100

Volume de publicação. Valores válidos: 0 a 100.

maxBufferDuration

number

Não

600000

Duração máxima do buffer, em milissegundos. Valores válidos: 100 ou superior. Se a duração exceder este valor, o push falhará.

enable3A

boolean

Não

false

Defina se o processamento 3A deve ser aplicado ao PCM de entrada

AoqAudioExternalFrameMeta

Metadados de um frame de áudio externo. Os dados PCM são passados separadamente através do parâmetro buffer.

Campo

Tipo

Obrigatório

Valor padrão

Descrição

streamId

string

Sim

-

Identificador da stream de áudio externa alvo

numOfSamples

number

Sim

0

Número de amostras (por canal)

bytesPerSample

number

Sim

2

Bytes por amostra

numOfChannels

number

Sim

1

Número de canais

samplesPerSec

number

Sim

48000

Número de amostras por segundo (taxa de amostragem)

pushSequence

number

Não

0

Rodada de entrada PCM

timeStamp

number

Não

0

Timestamp

AoqAudioFrameEvent

Dados de evento do observer de frames de áudio.

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de track

numOfSamples

number

Número de amostras (por canal)

bytesPerSample

number

Bytes por amostra

numOfChannels

number

Número de canais

samplesPerSec

number

Número de amostras por segundo (taxa de amostragem)

timeStamp

number

Timestamp

autoGenMute

boolean

true indica dados silenciosos gerados pelo SDK

buffer

Uint8Array

Dados PCM de áudio (já copiados no lado nativo)

AoqAudioSource

Valor da enumeração

Valor

Descrição

AoqAudioSourceCaptured

0

Dados de áudio capturados

AoqAudioSourceProcessCaptured

1

Dados de áudio após processamento 3A

AoqAudioSourcePublish

2

Dados de áudio a serem publicados (requer conexão bem-sucedida)

AoqAudioSourcePlayback

3

Dados de áudio a serem reproduzidos

AoqAudioObserverParams

Campo

Tipo

Obrigatório

Valor padrão

Descrição

enabled

boolean

Sim

false

Ative ou desative o callback nesta posição

audioSource

AoqAudioSource

Sim

AoqAudioSourceCaptured

Posição do callback

sampleRate

number

Não

48000

Taxa de amostragem do áudio do callback, em Hz. Ressamostragem é realizada se as taxas não coincidirem.

channels

number

Não

1

Número de canais de áudio no callback. 1 e 2 são compatíveis.

O modo de callback é fixo em somente leitura. O Electron não fornece modo de leitura e escrita.

AoqAudioVolumeIndicationConfig

Campo

Tipo

Obrigatório

Valor padrão

Descrição

interval

number

Não

0

Intervalo do callback, em milissegundos. Um valor menor ou igual a 0 desativa o callback. Um valor maior que 0 e menor que 10 é tratado como 10.

smooth

number

Não

3

Coeficiente de suavização de volume. Um valor maior resulta em uma saída mais suave. Valores válidos: 0 a 10.

AoqAudioVolume

Campo

Tipo

Descrição

volume

number

Volume instantâneo suavizado. Valores válidos: 0 a 255.

Tipos de vídeo

AoqVideoCaptureConfig

Campo

Tipo

Obrigatório

Valor padrão

Descrição

width

number

Não

1280

Largura de captura, em pixels. Este parâmetro é ineficaz quando isExternal=true.

height

number

Não

720

Altura de captura, em pixels. Este parâmetro é ineficaz quando isExternal=true.

fps

number

Não

15

Taxa de quadros de captura. Este parâmetro é ineficaz quando isExternal=true (o ritmo é determinado pela entrega de frames).

isExternal

boolean

Não

false

Defina se a captura externa deve ser usada. Se verdadeiro, a câmera não é aberta.

cameraDirection é um campo exclusivo para dispositivos móveis e não existe em plataformas desktop.

AoqVideoCodecConfig

Codificação e decodificação compartilham a mesma estrutura (setVideoEncoderConfig / setVideoDecoderConfig).

Campo

Tipo

Obrigatório

Valor padrão

Descrição

isExternal

boolean

Não

false

Quando verdadeiro, o SDK não realiza captura ou codificação, e os frames são enviados diretamente por pushExternalVideoEncodedFrame.

trackType

AoqTrackType

Não

AoqTrackTypeVideo

Tipo de track

codecType

AoqEncoderType

Não

AoqEncoderTypeVideoH264

Formato do codec

width

number

Não

540

Largura de codificação, em pixels

height

number

Não

960

Altura de codificação, em pixels

fps

number

Não

5

Taxa de quadros de codificação

bitrate

number

Não

500000

Taxa de bits inicial, em bit/s

minBitrate

number

Não

128000

Taxa de bits mínima, em bit/s

keyframeInterval

number

Não

2

Intervalo de keyframes, em segundos

mirrorMode

AoqMirrorMode

Não

AoqMirrorModeDisabled

Modo de espelhamento

orientationMode

AoqOrientationMode

Não

AoqOrientationModeAuto

Modo de orientação de vídeo

AoqVideoPixelFormat

Formatos de pixel compatíveis no lado Electron (excluindo formatos texture / CVPixelBuffer de plataformas móveis).

Valor da enumeração

Valor

Descrição

AoqVideoPixelFormatUnknown

0

Formato desconhecido

AoqVideoPixelFormatI420

1

I420 (formato planar YUV)

AoqVideoPixelFormatNV12

2

NV12 (formato semi-planar YUV)

AoqVideoPixelFormatNV21

3

NV21 (formato semi-planar YUV)

AoqVideoPixelFormatBGRA

4

BGRA (32 bits)

AoqVideoPixelFormatRGBA

5

RGBA (32 bits)

AoqExternalVideoFrameMeta

Metadados de um frame de vídeo bruto externo. Os dados de pixel são passados separadamente através do parâmetro buffer.

Campo

Tipo

Obrigatório

Valor padrão

Descrição

trackType

AoqTrackType

Não

AoqTrackTypeVideo

Tipo de track

format

AoqVideoPixelFormat

Sim

-

Formato de pixel

width

number

Sim

-

Largura do vídeo, em pixels

height

number

Sim

-

Altura do vídeo, em pixels

timeStamp

number

Não

0

Timestamp, em milissegundos. Se for 0, o SDK o preenche com a hora local.

Quando format = I420, buffer deve usar layout compacto (stride = width), com os planos Y / U / V concatenados em ordem. Para outros formatos empacotados, passe os bytes inteiros do frame diretamente.

AoqVideoCodecType

Valor da enumeração

Valor

Descrição

AoqVideoCodecTypeJPEG

0

Codificação JPEG

AoqExternalVideoEncodedFrameMeta

Metadados de um frame de vídeo codificado externamente. Os dados codificados são passados separadamente através do parâmetro buffer.

Campo

Tipo

Obrigatório

Valor padrão

Descrição

trackType

AoqTrackType

Não

AoqTrackTypeVideo

Tipo de track

codec

AoqVideoCodecType

Não

AoqVideoCodecTypeJPEG

Formato do codec

width

number

Sim

-

Largura, em pixels

height

number

Sim

-

Altura, em pixels

timeStamp

number

Não

0

Timestamp, em milissegundos. Se for 0, o SDK o preenche com a hora local.

AoqVideoDeviceStateCode

Valor da enumeração

Valor

Descrição

AoqVideoDeviceNone

0

Sem estado

AoqVideoDeviceCaptureStarting

1

Captura iniciando

AoqVideoDeviceCaptureStarted

2

Captura iniciada

AoqVideoDeviceCaptureStopping

3

Captura parando

AoqVideoDeviceCaptureStopped

4

Captura parada

AoqVideoDeviceCaptureFail

5

Falha na captura (por exemplo, permissão negada ou dispositivo indisponível)

AoqVideoDeviceState

Campo

Tipo

Descrição

state

AoqVideoDeviceStateCode

Status operacional de captura do dispositivo

reason

number

Código do motivo do erro. Consulte AoqErrorCode.

Tipos de callback de frames de vídeo

AoqVideoSource

Valor da enumeração

Valor

Descrição

AoqVideoSourceCaptured

0

Dados de vídeo capturados antes do pré-processamento

AoqVideoSourcePreEncode

1

Dados de vídeo antes da codificação, após pré-processamento

AoqVideoSourceRemote

2

Dados de vídeo remoto após decodificação e antes da renderização

AoqVideoObserverAlignment

Valor da enumeração

Valor

Descrição

AoqVideoObserverAlignmentDefault

0

Alinhamento padrão

AoqVideoObserverAlignmentEven

1

Alinhamento par

AoqVideoObserverAlignment4

2

Alinhamento de 4 bytes

AoqVideoObserverAlignment8

3

Alinhamento de 8 bytes

AoqVideoObserverAlignment16

4

Alinhamento de 16 bytes

AoqVideoObserverParams

Campo

Tipo

Obrigatório

Valor padrão

Descrição

enabled

boolean

Sim

false

Ative ou desative o callback nesta posição

videoSource

AoqVideoSource

Sim

AoqVideoSourceCaptured

Posição do callback

format

AoqVideoPixelFormat

Não

AoqVideoPixelFormatI420

Formato de pixel esperado dos dados do callback

alignment

AoqVideoObserverAlignment

Não

AoqVideoObserverAlignmentDefault

Política de alinhamento de largura

mirrorApplied

boolean

Não

false

Defina se os dados do callback devem ser espelhados

O modo de callback é fixo em somente leitura. O Electron não fornece modo de leitura e escrita. Selecione I420 ao usar o YUVCanvasRenderer integrado para renderização.

AoqVideoFrameEvent

Dados de evento do observer de frames de vídeo.

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de track

format

AoqVideoPixelFormat

Formato de pixel

width

number

Largura, em pixels

height

number

Altura, em pixels

strideY

number

Stride do plano Y (efetivo apenas para I420)

strideU

number

Stride do plano U (efetivo apenas para I420)

strideV

number

Stride do plano V (efetivo apenas para I420)

timeStamp

number

Timestamp, em milissegundos

buffer

Uint8Array

Dados do frame. Para I420, corresponde aos planos Y / U / V concatenados com base no stride. Outros formatos empacotados são passados como dados originais.

Tipos de mensagem de dados

O Electron não usa o tipo wrapper AoqDataMsg. As mensagens de dados são enviadas e recebidas diretamente como dados binários:

Direção

Tipo

Descrição

Envio

Uint8Array ou string

sendDataMsg(data). Strings são codificadas em UTF-8.

Recebimento

Uint8Array

onDataMsg(data). Os dados já foram copiados no lado nativo e podem ser mantidos assincronamente.

Referência da API de Geração de Texto
Geração de Imagens
  • FAQ
Geração de Vídeo
Áudio
Incorporação de Texto
Produção de Modelos