QwenCloudBRASIL
Tradução de apoio para consulta. Código e identificadores técnicos preservados. Consultar referência original ↗

SDK eletrônico

Referência da API Electron do SDK do cliente AOQ

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

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

índice API

Entrada e ciclo de vida do motor

API Descrição
criarAoqClientEngine Obtenha a instância do wrapper do mecanismo (um singleton inicializado lentamente em nível de módulo)
criarEngine Crie a instância do mecanismo nativo
destruir Destrua a instância do mecanismo
getVersão Obtenha a versão do SDK
conectar Conecte-se ao servidor de retransmissão
desconectar Desconectar do servidor

Gerenciamento de dispositivos de áudio

API Descrição
iniciarAudioCapture Abra o dispositivo de captura de áudio (microfone)
pararAudioCapture Feche o dispositivo de captura de áudio
muteAudioCapture Ativar ou ativar captura de áudio
iniciarAudioPlayer Inicie a renderização de áudio para reproduzir áudio remoto
pararAudioPlayer Pare a renderização de áudio
pausaAudioPlayer Pause a renderização de áudio, com suporte para fade-out
retomarAudioPlayer Retomar a renderização de áudio, com suporte para fade-in
interromperAudioPlayer Interromper a sessão de áudio atual

Configuração do codec de áudio

API Descrição
setAudioEncoderConfig Definir parâmetros de codificação de áudio
setAudioDecoderConfig Definir parâmetros de decodificação de áudio

Gerenciamento de dispositivos de vídeo

API Descrição
iniciarVideoCapture Abra o dispositivo de captura de vídeo (câmera)
pararVideoCapture Feche o dispositivo de captura de vídeo
getScreenSourceList Enumerar telas e janelas
iniciarScreenCapture Iniciar captura de tela
pararScreenCapture Pare a captura de tela

Codec de vídeo e entrada externa

API Descrição
setVideoEncoderConfig Definir parâmetros de codificação de vídeo
setVideoDecoderConfig Definir parâmetros de decodificação de vídeo
pushExternalVideoCapturedFrame Enviar um quadro de vídeo capturado externamente
pushExternalVideoEncodedFrame Enviar um quadro de vídeo codificado externamente

Controle de fluxo de mídia

API Descrição
ativarSendMediaStream Habilitar ou desabilitar o envio de um fluxo de mídia local

Reprodução de arquivo de áudio

API Descrição
startAudioFile Comece a reproduzir um arquivo de áudio local no fluxo de publicação
pararAudioFile Pare a reprodução do arquivo de áudio
pausaAudioFile Pausar a reprodução do arquivo de áudio
retomarÁudioArquivo Retomar a reprodução do arquivo de áudio
getAudioFileDuration Consultar a duração total do arquivo de áudio
getAudioFileCurrentPosition Consultar a posição atual de reprodução do arquivo de áudio
setAudioFilePositionMillis Defina a posição de reprodução do arquivo de áudio (busca)
setAudioFileVolume Defina o volume do arquivo de áudio
getAudioFileVolume Consultar o volume atual do arquivo de áudio

Fluxos de áudio externos

API Descrição
addAudioExternalStream Adicione um fluxo de áudio externo
removerAudioExternalStream Remover um fluxo de áudio externo
pushAudioExternalStreamData Alimentar dados PCM de áudio externo
setAudioExternalStreamVolume Definir o volume de um fluxo de áudio externo
getAudioExternalStreamVolume Consultar o volume de um fluxo de áudio externo
clearAudioExternalStreamBuffer Limpar o buffer de um fluxo de áudio externo

Mensagens em tempo real

API Descrição
enviarDataMsg Envie uma mensagem de dados em tempo real

Retornos de chamada de quadro de áudio

API Descrição
setAudioFrameObserver Habilitar ou desabilitar o observador de dados de quadro de áudio
ativarAudioFrameObserver Ativar ou desativar o retorno de chamada do quadro de áudio em uma posição especificada

Indicação de volume local

API Descrição
enableLocalAudioVolumeIndicação Habilitar ou desabilitar o retorno de chamada de indicação de volume de captura local

Retornos de chamada de quadro de vídeo

API Descrição
setVideoFrameObserver Ativar ou desativar o observador de dados de quadro de vídeo
ativarVideoFrameObserver Ativar ou desativar o retorno de chamada do quadro de vídeo em uma posição especificada

Renderização de vídeo (YUVCanvasRenderer)

API Descrição
vincular Vincular um elemento de tela
desvincular Desvincule e limpe a imagem
vinculado Consultar se uma vinculação está atualmente estabelecida
drawFrame Desenhe um quadro de dados de vídeo I420

Eventos do mecanismo (IAoqEngineEvents)

Evento Descrição
onError Retorno de chamada de erro do mecanismo
emAviso Retorno de chamada de aviso do motor
onConnectionStatusAlterar Retorno de chamada de alteração de status de conexão
onStats Retorno de chamada de estatísticas do mecanismo
onAudioDeviceStateChanged Retorno de chamada de mudança de status de operação do dispositivo de áudio
onAudioDeviceRouteChanged Retorno de chamada de mudança de rota de saída de áudio
onAudioFileState Retorno de chamada de status de reprodução de arquivo de áudio
onLocalAudioVolumeIndicação Retorno de chamada de indicação de volume de captura local
onVideoDeviceStateChanged Retorno de chamada de mudança de status de operação do dispositivo de vídeo
onDataMsg Retorno de chamada para uma mensagem de dados recebida em tempo real
onCapturedAudioFrame Retorno de chamada para dados de áudio brutos capturados
onProcessCapturedAudioFrame Retorno de chamada para dados de áudio após processamento 3A
onPublishAudioFrame Retorno de chamada para publicação de dados de áudio
onPlaybackAudioFrame Retorno de chamada para reprodução de dados de áudio
onCapturedVideoFrame Retorno de chamada para dados de vídeo brutos locais após a captura
onPreEncodeVideoFrame Retorno de chamada para dados de vídeo brutos locais antes da codificação
onRemoteVideoFrame Retorno de chamada para dados de vídeo remotos após a decodificação e antes da renderização

Detalhes da API

Captura de tela

startScreenCapture(config: AoqScreenCaptureConfig): number
stopScreenCapture(): number

config especifica configurações de captura de tela. O conteúdo da tela é enviado no AoqTrackTypeScreen pista.

Retorna 0 em caso de sucesso ou um valor diferente de zero em caso de falha.

Ligar getScreenSourceList para enumerar telas e janelas e depois passar o selecionado sourceId e sourceType na configuração de captura.

Para quadros brutos externos, defina isExternal=true e fornecer molduras de tela brutas através pushExternalVideoCapturedFrame para codificação SDK. Para quadros codificados externos, configure a trilha Screen para codificação externa com setVideoEncoderConfig, então ligue pushExternalVideoEncodedFrame.

getScreenSourceList

getScreenSourceList(): AoqScreenSourceInfo[]

Retorna uma matriz de fontes de tela. Disponível apenas no Electron macOS e Windows.

Entrada e ciclo de vida do motor

criarAoqClientEngine

Obtém a instância do wrapper do mecanismo. É um singleton inicializado lentamente em nível de módulo. Chamar esse método novamente retorna a mesma instância, que se alinha com a semântica singleton do mecanismo nativo. É também a exportação padrão do pacote.

import createAoqClientEngine from 'aoq-electron-sdk';
export function createAoqClientEngine(): IAoqClientEngine

Retorna: O IAoqClientEngine instância do motor. Observe que este método cria apenas a camada wrapper JS e a ponte nativa. Para realmente criar o mecanismo, você também deve chamar createEngine().

criarEngine

Cria a instância do mecanismo nativo. O mecanismo é um singleton global, portanto, chamar esse método novamente retorna sucesso diretamente.

createEngine(config: AoqCreateConfig): number
Parâmetro Tipo Descrição
configuração AoqCreateConfig Configuração de criação do motor

Retorna: 0 no sucesso; -1 indica que a criação falhou ou que o parâmetro não é JSON válido.

No Windows, createEngine() anexa uma bomba de mensagem Win32 de 16 ms ao loop libuv do thread JS atual (necessário para captura da câmera) e o interrompe destroy(). Portanto, não bloqueie de forma síncrona o thread JS por muito tempo após createEngine().

destruir

Destrói a instância do mecanismo e libera todos os recursos.

destroy(): number

Retorna: 0 indica sucesso; não-0 indica uma falha. Se o mecanismo não for criado, 0 é retornado.

obter versão

Obtém a versão atual do SDK. Você não precisa ligar createEngine() primeiro.

getVersion(): string

Retorna: A string da versão, como "1.2.0". Uma string vazia será retornada se a versão não puder ser obtida.

conectar

Conecta-se ao servidor de retransmissão. O servidor de aplicação obtém parâmetros de conexão AOQ temporários com base no protocolo em uso e os envia ao cliente.

connect(config: AoqConnectConfig): number
Parâmetro Tipo Descrição
configuração AoqConnectConfig Configuração de conexão, que inclui o token, o SID, a lista de pontos de acesso de retransmissão e as listas de faixas de publicação e assinatura

Retorna: 0 indica que a chamada é despachada e executada de forma assíncrona; não-0 indica que a validação do parâmetro falhou. O resultado da conexão é notificado pelo onConnectionStatusChange evento.

desconectar

Desconecta do servidor e libera os recursos associados à conexão.

disconnect(): number

Retorna: 0 indica que a chamada é despachada e executada de forma assíncrona; não-0 indica uma falha.

Gerenciamento de dispositivos de áudio

iniciar Captura de Áudio

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, você deve declarar NSMicrophoneUsageDescription no Info.plist arquivo do aplicativo.

pararCaptura de Áudio

stopAudioCapture(): number

Fecha o dispositivo de captura de áudio.

muteAudioCapture

muteAudioCapture(mute: boolean): number

Ativa ou desativa a captura de áudio. mute=true mudos, e false ativa o som.

iniciarAudioPlayer

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: a duração do fade-out ou fade-in, em milissegundos. 0 indica execução imediata.

interromperAudioPlayer

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

Parâmetro Tipo Descrição
trackType AoqTrackType Tipo de trilha
fadeMs número Duração do fade-out, em milissegundos

Configuração do codec de áudio

setAudioEncoderConfig(config: AoqAudioCodecConfig): number
setAudioDecoderConfig(config: AoqAudioCodecConfig): number

Recomendamos que você chame esse método antes connect(). Para usar o Opus (AoqEncoderTypeAudioOpus), o plug-in PluginOpus deverá ser 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, você deve declarar NSCameraUsageDescription em Info.plist. Quando config.isExternal=true, a câmera não é aberta e os quadros são entregues por pushExternalVideoCapturedFrame.

O renderizador Electron é um ambiente Chromium e não pode incorporar visualizações nativas, portanto setLocalView / setRemoteView / switchCamera não são fornecidos. Para visualização, use o observador de quadros com YUVCanvasRenderer (consulte Renderização de vídeo).

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âmetro Tipo Descrição
meta AoqExternalVideoFrameMeta / AoqExternalVideoEncodedFrameMeta Metadados do quadro (dimensões, formato e carimbo de data/hora)
buffer Uint8Array Dados de quadro (dados de pixel ou dados codificados)

Notas:

Controle de fluxo de mídia

enableSendMediaStream(trackType: AoqTrackType, enable: boolean): number

trackType suporta AoqTrackTypeAudio, AoqTrackTypeVideoe AoqTrackTypeScreen.

Especifica se um fluxo de mídia local específico deve ser enviado. Recomendamos que você ligue enableSendMediaStream(trackType, false) após a inicialização e habilite o envio somente após onConnectionStatusChange relatórios AoqConnectionStatusConnected.

Reprodução de arquivo 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âmetro Tipo Descrição
configuração AoqAudioFileMixConfig Configuração de mixagem de arquivos. fileId é transportado como um campo de configuração.
ID do arquivo corda Identificador de arquivo, que é definido pelo chamador. As chamadas de API subsequentes usam-no para localizar o arquivo.
posiçãoMs número Posição alvo de reprodução, em milissegundos
tipo AoqAudioStreamDireção Volume de publicação ou volume de reprodução local
volume número Volume. Valores válidos: 0 a 100.

Descrição do valor de retorno:

As alterações no estado de reprodução são relatadas através do onAudioFileState evento.

Fluxos de áudio externos

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âmetro Tipo Descrição
configuração AoqAudioExternalStreamConfig Configuração de fluxo de áudio externo. streamId é transportado como um campo de configuração.
ID de fluxo corda Identificador de fluxo, que é definido pelo chamador
meta AoqAudioExternalFrameMeta Metadados do quadro PCM. streamId é transportado como um campo de metadados.
buffer Uint8Array Dados PCM
fadeoutMs número Duração do fade-out quando o buffer é limpo, em milissegundos

Notas:

Mensagens em tempo real

sendDataMsg(data: Uint8Array | string): number

Envia uma mensagem de dados em tempo real. Se você passar um string, ele é codificado em UTF-8 em um Buffer internamente antes de ser enviado. As mensagens do par são relatadas através do onDataMsg retorno de chamada do evento.

Retornos de chamada de quadro de áudio

setAudioFrameObserver(enable: boolean): number
enableAudioFrameObserver(params: AoqAudioObserverParams): number
Parâmetro Tipo Descrição
habilitar booleano true registra o observador de quadro de áudio integrado; false cancela o registro
parâmetros AoqAudioObserverParams Especifique a posição do retorno de chamada, o estado ativado/desativado e o formato do retorno de chamada

Uso: Primeiro, ligue setAudioFrameObserver(true) para registrar o observador. Então ligue enableAudioFrameObserver para cada posição que você precisa. Os dados são entregues por meio 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 observador de quadro no lado do Electron suporta apenas o modo somente leitura e não suporta a gravação de dados do quadro no retorno de chamada (o lado nativo é fixado em ReadOnly).

Indicação de volume local

enableLocalAudioVolumeIndication(config: AoqAudioVolumeIndicationConfig): number

Habilita ou desabilita a indicação do volume de captura local. Se config.interval<= 0, o retorno de chamada será desativado. Depois de habilitado, onLocalAudioVolumeIndication é acionado no intervalo especificado por config.interval. Você deve chamar esse método depois startAudioCapture() para obter dados de volume.

Retornos de chamada de quadro de vídeo

setVideoFrameObserver(enable: boolean): number
enableVideoFrameObserver(params: AoqVideoObserverParams): number
Parâmetro Tipo Descrição
habilitar booleano true registra o observador de quadro de vídeo integrado; false cancela o registro
parâmetros AoqVideoObserverParams Especifique a posição do retorno de chamada, o estado ativado/desativado, o formato do pixel e a política de alinhamento

Os dados de retorno de chamada são entregues como AoqVideoFrameEvent através onCapturedVideoFrame / onPreEncodeVideoFrame / onRemoteVideoFrame. Para I420, buffer são os planos Y/U/V concatenados com base na passada. Outros formatos compactados são transmitidos como dados originais. O modo somente leitura também é suportado.

Renderização de vídeo (YUVCanvasRenderer)

O renderizador de software integrado ao SDK. Ele assume as responsabilidades de 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
vincular Encadernar uma tela (a encadernação substitui novamente a pia)
desvincular Desvincule e limpe a imagem
vinculado Especifica se uma ligação foi estabelecida
drawFrame Desenhe um quadro; apenas I420 é suportado 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 de renderização (como esticar ou cortar), use o CSS object-fit propriedade para controlar a tela.

Eventos do mecanismo (IAoqEngineEvents)

O motor herda de EventEmitter<IAoqEngineEvents>. Os eventos são a saída unificada para todas as notificações assíncronas do SDK e mapeiam um a um para o nativo AoqEngineEventListener retornos de chamada. Você não precisa registrar os eventos que não lhe interessam.

engine.on('onError', (code, message) => {})
engine.off('onError', handler)
engine.once('onStats', (stats) => {})
engine.removeAllListeners()

onError

onError: (code: number, message: string) => void

Retorno de chamada de erro do mecanismo. code corresponde a um valor AoqErrorCode (consulte AoqErrorCode).

emAviso

onWarning: (code: number, message: string) => void

Retorno de chamada de aviso do motor. code corresponde a um valor AoqWarningCode (consulte AoqWarningCode).

onConnectionStatusChange

onConnectionStatusChange: (status: AoqConnectionStatus) => void

Retorno de chamada de alteração do status da conexão. Transições de estado: Desconectado -> Conectando -> Conectado/Falha -> Desconectado.

nas estatísticas

onStats: (stats: AoqStats) => void

Retorno de chamada de estatísticas do mecanismo. O SDK relata periodicamente estatísticas de publicação e assinatura de áudio e vídeo e estatísticas de rede, que você pode usar para monitorar a qualidade da chamada e o status da rede em tempo real e para diagnosticar problemas de áudio e vídeo.

Parâmetro Tipo Descrição
estatísticas AoqEstatísticas Publicação e assinatura de estatísticas e estatísticas de rede para mensagens de áudio, vídeo e dados

onAudioDeviceStateChanged

onAudioDeviceStateChanged: (state: AoqAudioDeviceState) => void

Retorno de chamada para captura de dispositivo de áudio e alterações de status de operação de reprodução.

onAudioDeviceRouteAlterado

onAudioDeviceRouteChanged: (routeType: number) => void

Retorno de chamada de alteração da rota de saída de áudio. routeType corresponde a um valor AoqAudioDeviceRouteType (consulte AoqAudioDeviceRouteType).

onAudioFileState

onAudioFileState: (state: AoqAudioFileState) => void

Retorno de chamada para status de reprodução de arquivo de áudio.

onLocalAudioVolumeIndicação

onLocalAudioVolumeIndication: (volume: AoqAudioVolume) => void

Retorno de chamada de indicação de volume de captura local. Para habilitá-lo, ligue enableLocalAudioVolumeIndication.

onVideoDeviceStateChanged

onVideoDeviceStateChanged: (state: AoqVideoDeviceState) => void

Retorno de chamada para alterações no status da operação de captura do dispositivo de vídeo.

onDataMsg

onDataMsg: (data: Uint8Array) => void

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

Eventos de quadro 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 */

Você deve primeiro ligar setAudioFrameObserver(true) e enableAudioFrameObserver para habilitá-lo.

Eventos de quadro 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 */

Você deve primeiro ligar setVideoFrameObserver(true) e enableVideoFrameObserver para habilitá-lo. Os eventos de quadro são somente leitura. Modificações para buffer no retorno de chamada não são gravados no SDK.

Evite computação pesada em retornos de chamada de eventos: retornos de chamada nativos são despachados para o thread principal JS por meio de um thread assíncrono, e operações demoradas em eventos de quadro de alta frequência causam um backlog.

Tipos de dados e enumerações

Todos os tipos são exportados da raiz do pacote, então você pode usar diretamente import { ... } from 'aoq-electron-sdk'. As enumerações são TypeScript enum tipos 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 da tabela será usado.

AoqScreenSourceInfo

Campo Tipo Descrição
fonteTipo AoqScreenShareSourceType Tipo de fonte
ID de origem corda ID da fonte; retornado como uma string para preservar a precisão int64.
origemNome corda Nome da fonte
fonteIsSelf booleano Se a janela pertence ao processo atual

AoqScreenShareSourceType

Valor enum Valor Descrição
AoqScreenShareSourceTypeDesktop 0 Área de trabalho inteira
AoqScreenShareSourceTypeWindow 1 Uma janela específica

AoqScreenCaptureConfig

Todos os campos são opcionais. isExternal o padrão é falso.

Campo Tipo Padrão Descrição
éExterno booleano falso Se o aplicativo fornece quadros de tela brutos.
ID de origem cadeia \ número —
fonteTipo AoqScreenShareSourceType — Tipo de origem da tela.

Tipos gerais

AoqCreateConfig

Campo Tipo Obrigatório Valor padrão Descrição
trabalhoDir corda Não "" Diretório de trabalho do SDK (para logs e arquivos temporários)
habilitarDumpÁudio booleano Não falso Especifica se os dados de áudio devem ser salvos (para depuração)
extras corda Não "" Parâmetros estendidos (uma string JSON)

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

AoqConnectConfig

Campo Tipo Obrigatório Valor padrão Descrição
ficha corda Sim - Token de autenticação de conexão
sid corda Sim - ID da sessão
certificadoImpressão digital corda Não "" Impressão digital do certificado do servidor
espaço de trabalhoIdHash corda Não Nenhum Hash de ID do espaço de trabalho. Uma string vazia equivale a não passar o parâmetro.
pontos finais de retransmissão Matriz\
Sim - Lista de pontos de acesso de retransmissão
publicar Trilhas Matriz\
| Sim | - | Lista de faixas publicadas localmente |

| inscrever-seFaixas | Matriz
| Sim | - | Lista de faixas locais inscritas |

Ponto final AoqRelay

Campo Tipo Obrigatório Valor padrão Descrição
índice de rota número Não -1 Índice de rota
ponto final corda Sim - Nome de domínio ou endereço IP do servidor de retransmissão
porto número Sim - Porta do servidor de retransmissão
tcpPort número Não 0 Porta de reserva TCP. Um valor 0 usa a porta padrão do SDK, 443.

AoqTrackParam

Campo Tipo Obrigatório Valor padrão Descrição
trackType AoqTrackType Sim - Tipo de trilha
modo de trilha Modo AoqTrack Não AoqTrackModeSegmento Modo de streaming ou não streaming. Efetivo apenas para downlink de áudio.

Tipos de estatísticas

Estatísticas Aoq

Um resumo das estatísticas do motor, que é reportado periodicamente através onStats. Um campo de array é um array vazio quando não possui dados, e networkStats não é entregue quando não possui dados.

Campo Tipo Descrição
audioPublishStats Matriz\
 | Publicação de estatísticas para áudio |

| videoPublishStats | Matriz
| Publicação de estatísticas para vídeo | | dataMsgPublishStats | Matriz
| Publicação de estatísticas para mensagens de dados | | áudioSubscribeStats | Matriz
| Assinando estatísticas para áudio | | vídeoSubscribeStats | Matriz
| Inscrever estatísticas para vídeo | | dataMsgSubscribeStats | Matriz
| Assinando estatísticas para mensagens de dados | | estatísticas da rede | AoqNetworkStats | Estatísticas da rede |

AoqAudioPublishStats

Campo Tipo Descrição
trackType AoqTrackType Tipo de trilha
taxa de bits número Taxa de bits, em bits/s
bytes número Bytes cumulativos enviados
codificarVolume número Volume de codificação do fluxo de publicação

AoqAudioSubscribeStats

Campo Tipo Descrição
trackType AoqTrackType Tipo de trilha
taxa de bits número Taxa de bits, em bits/s
bytes número Bytes acumulados recebidos
volume de reprodução número Volume de reprodução

AoqVideoPublishStats

Campo Tipo Descrição
trackType AoqTrackType Tipo de trilha
taxa de bits número Taxa de bits, em bits/s
bytes número Bytes cumulativos enviados
codificarFps número Taxa de quadros de codificação

AoqVideoSubscribeStats

Campo Tipo Descrição
trackType AoqTrackType Tipo de trilha
taxa de bits número Taxa de bits, em bits/s
bytes número Bytes acumulados recebidos
decodificarFps número Taxa de quadros de decodificação
renderFps número Taxa de quadros de renderização

AoqDataMsgPublishStats/AoqDataMsgSubscribeStats

Campo Tipo Descrição
trackType AoqTrackType Tipo de trilha
taxa de bits número Taxa de bits, em bits/s
bytes número Bytes cumulativos enviados e recebidos

AoqNetworkStats

Campo Tipo Descrição
enviarTaxa de bits número Taxa de bits de envio, em bit/s
enviarBytes número Bytes cumulativos enviados
taxa de bits recebida número Taxa de bits de recepção, em bit/s
recvBytes número Bytes acumulados recebidos
perda número Taxa de perda de pacotes, de 0 a 100
rt número Latência de ida e volta, em ms

Enumerações

AoqTrackType

Valor enum Valor Descrição
AoqTrackTypeÁudio 0 Faixa de áudio
AoqTrackTypeVídeo 1 Faixa de vídeo
AoqTrackTypeData 2 Rastreamento de mensagens de dados
AoqTrackTypeScreen 3 Faixa de compartilhamento de tela. Somente uplink.

Modo AoqTrack

Valor enum Valor Descrição
AoqTrackModeSegmento 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 enum Valor Descrição
AoqEncoderTypeUnknown 0 Formato desconhecido
AoqEncoderTypeAudioPCM 1 Áudio PCM
AoqEncoderTypeAudioOpus 2 Audio Opus (baseado em plug-in; requer PluginOpus)
AoqEncoderTypeVideoH264 3 Vídeo H.264
AoqEncoderTypeVideoJpeg 4 Vídeo JPEG
AoqEncoderTypeDataText 5 Texto da mensagem

AoqConnectionStatus

Valor enum Valor Descrição
AoqConnectionStatusDisconnected 0 Desconectado
AoqConnectionStatusConectando 1 Conectando
AoqConnectionStatusConectado 2 Conectado
AoqConnectionStatusFalha 3 Falha na conexão

Modo AoqMirror

Valor enum Valor Descrição
AoqMirrorModeDesativado 0 Desativar espelhamento
AoqMirrorModeEnabled 1 Habilitar espelhamento

Modo de Orientação Aoq

Valor enum Valor Descrição
AoqOrientationModeAuto 0 Ajuste automático
AoqOrientationModeRetrato 1 Retrato
AoqOrientationModePaisagem 2 Paisagem

AoqErrorCode

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

Valor enum Valor Descrição
AoqErrorCodeOK 0 Sucesso
AoqErrorCodeParamInválido 1 Parâmetro inválido
AoqErrorCodeStateInválido 2 Estado inválido
AoqErrorCodeUnSupport 3 Não suportado na plataforma atual ou no modo atual
AoqErrorCodeÁudio 100 Erro genérico de áudio
AoqErrorCodeAudioExternalBufferFull 110 O buffer de áudio externo está cheio
AoqErrorCodeAudioDevice 120 Erro genérico do dispositivo de áudio
AoqErrorCodeAudioDeviceRecordingAuthFailed 121 Permissão de gravação não concedida
AoqErrorCodeAudioDeviceRecordingOccupied 122 O dispositivo de gravação está em uso
AoqErrorCodeAudioDeviceRecordingBackgroundStart 123 Falha ao iniciar a gravação em segundo plano
AoqErrorCodeAudioDeviceRecordingStartFail 124 Falha ao iniciar a gravação
AoqErrorCodeAudioDevicePlayoutOccupied 125 O dispositivo de reprodução está em uso
AoqErrorCodeAudioDevicePlayoutBackgroundStart 126 Falha ao iniciar a reprodução em segundo plano
AoqErrorCodeAudioDevicePlayoutStartFail 127 Falha ao iniciar a reprodução
AoqErrorCodeVídeo 200 Erro genérico de vídeo
AoqErrorCodeVideoExternalBufferFull 210 O buffer de vídeo externo está cheio
AoqErrorCodeVideoExternalCaptureNotEnabled 211 A captura de vídeo externa não está habilitada
AoqErrorCodeVideoExternalEncoderNotEnabled 212 A codificação de vídeo externa não está habilitada
AoqErrorCodeVideoDispositivo 220 Erro genérico do dispositivo de vídeo
AoqErrorCodeVideoDeviceCameraOpenFail 221 Falha ao abrir a câmera
AoqErrorCodeVideoDeviceCameraAuthFailed 222 Permissão de câmera não concedida
AoqErrorCodeVideoDeviceCameraOccupied 223 A câmera está 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 de renderização de vídeo
AoqECScreen 300 Erro geral de compartilhamento de tela
AoqECScreenAuthFailed 310 Permissão de compartilhamento de tela negada
AoqECScreenStartFailed 311 Falha ao iniciar o compartilhamento de tela
AoqECAudioDeviceFone de ouvidoRequerVoipMode 128 O fone de ouvido requer modo VoIP. Aplica-se a plataformas móveis e geralmente não é acionado no Electron.

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

Código de aviso Aoq

Valor enum Valor Descrição
AoqWCOK 0 Nenhum aviso
AoqWCAudio 100 Aviso sonoro genérico
AoqWCAudioUivo 101 Uivo de áudio detectado
AoqWCAudioDispositivo 120 Aviso genérico de dispositivo de áudio
AoqWCAudioDeviceMicEnumerateError 121 Erro de enumeração de microfone
AoqWCAudioDeviceMicStartTimeout 122 A inicialização do microfone expirou
AoqWCAudioDeviceRecordingError 123 Erro durante a gravação
AoqWCAudioDeviceSpeakerEnumerateError 124 Erro de enumeração de alto-falantes
AoqWCAudioDeviceSpeakerStartTimeout 125 A inicialização do alto-falante expirou
AoqWCAudioDevicePlayoutError 126 Erro durante a reprodução
AoqWCVídeo 200 Aviso genérico de vídeo
AoqWCVideoCameraEnumerateError 201 Erro de enumeração de câmera
AoqWCVideoEncoderSwitched 202 Codificador de vídeo comutado
AoqWCVideoRenderDowngrade 203 Renderização de vídeo rebaixada

Tipos de áudio

AoqAudioCaptureConfig

Campo Tipo Obrigatório Valor padrão Descrição
éExterno booleano Não falso Especifica se deve ser usado o modo de captura externa
canal número Não 1 Número de canais de captura de áudio. 1 e 2 são suportados.

AoqAudioPlaybackConfig

Campo Tipo Obrigatório Valor padrão Descrição
éExterno booleano Não falso Especifica se deve ser usado o modo de reprodução externa
canal número Não 1 Número de canais de reprodução de áudio. 1 e 2 são suportados.

isVoipMode / isDefaultSpeaker são campos somente móveis e não são fornecidos pela Electron.

AoqAudioCodecConfig

Campo Tipo Obrigatório Valor padrão Descrição
trackType AoqTrackType Não AoqTrackTypeÁudio Tipo de trilha
tipo de codec AoqEncoderType Não AoqEncoderTypeAudioOpus Formato de codec
taxa de amostra número Não 48.000 Taxa de amostragem, em Hz. Para codificação, são suportados Opus 8/16/48K e PCM 8/16/32/48K. Para decodificação, 24K também é compatível, mas apenas no modo Segmento.
canal número Não 1 Número de canais. 1 e 2 são suportados.
taxa de bits número Não 32.000 Taxa de bits, em bits/s

AoqAudioDeviceRouteType

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

Valor enum Valor Descrição
AoqAudioDeviceRouteDefault 0 Rota padrão
AoqAudioDeviceRouteHeadset 1 Fones de ouvido com microfone
AoqAudioDeviceRouteAuricular 2 Receptor
AoqAudioDeviceRouteHeadsetNoMic 3 Fones de ouvido sem microfone
AoqAudioDeviceRouteSpeakerPhone 4 Palestrante
AoqAudioDeviceRouteUsb 5 Dispositivo de áudio USB
AoqAudioDeviceRouteBluetooth 6 Modo Bluetooth SCO
AoqAudioDeviceRouteBluetoothA2dp 7 Modo Bluetooth A2DP

AoqAudioDeviceStateCode

Valor enum Valor Descrição
AoqAudioDeviceNenhum 0 Nenhum estado
AoqAudioDeviceRecordIniciando 1 Captura começando
AoqAudioDeviceRecordiniciado 2 Captura iniciada
AoqAudioDeviceRecordStopping 3 Parada de captura
AoqAudioDeviceRecordParado 4 Captura interrompida
AoqAudioDeviceRecordFail 5 Falha na captura
AoqAudioDevicePlayIniciando 6 Início da reprodução
AoqAudioDevicePlayiniciado 7 A reprodução começou
AoqAudioDevicePlayStopping 8 Parada de reprodução
AoqAudioDevicePlayStopped 9 A reprodução parou
AoqAudioDevicePlayFail 10 Falha na reprodução

AoqAudioDeviceState

Campo Tipo Descrição
estado AoqAudioDeviceStateCode Status de operação do dispositivo
motivo número Código de motivo do erro. Consulte AoqErrorCode.

Tipos de arquivos de áudio

AoqAudioFileMixConfig

Campo Tipo Obrigatório Valor padrão Descrição
ID do arquivo corda Sim - Identificador de arquivo. As chamadas de API subsequentes usam-no para localizar o arquivo.
nome do arquivo corda Sim - Nome do arquivo (incluindo o caminho)
ciclos número Não -1 Número de loops. -1 indica loop ilimitado.
startPosMs número Não 0 Posição inicial de reprodução, em milissegundos
publicarVolume número Não 100 Volume de publicação. Valores válidos: 0 a 100.
volume de reprodução número Não 100 Volume de reprodução. Valores válidos: 0 a 100.

AoqAudioFileStateCode

Valor enum Valor Descrição
AoqAudioFileNone 0 Nenhum estado
AoqAudioFileIniciado 1 A reprodução começou
AoqAudioFileStopped 2 A reprodução parou
AoqAudioFilePausado 3 Reprodução pausada
AoqAudioFileRetomado 4 A reprodução foi retomada
AoqAudioFileEnd 5 A reprodução terminou
AoqAudioFileBuffering 6 Buffer de reprodução
AoqAudioFileBufferingEnd 7 O buffer terminou
AoqAudioFileFalha 8 Falha na reprodução

AoqAudioFileErrorCode

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

Valor enum Valor Descrição
AoqAudioFileNoError 0 Nenhum erro
AoqAudioFileOpenFalha 1 Falha ao abrir o arquivo
AoqAudioFileDecodeFalha 2 Falha ao decodificar o arquivo

AoqAudioFileState

Campo Tipo Descrição
ID do arquivo corda Identificador de arquivo
código do estado AoqAudioFileStateCode Código de status de reprodução de arquivo
código de erro número Código de erro do arquivo. Consulte AoqAudioFileErrorCode.

Tipos de fluxo de áudio externo

AoqAudioStreamDirection

Valor enum Valor Descrição
AoqAudioStreamPublicar 0 Fluxo de publicação
AoqAudioStreamPlayout 1 Fluxo de reprodução (reprodução local)

AoqAudioExternalStreamConfig

Campo Tipo Obrigatório Valor padrão Descrição
ID de fluxo corda Sim - Identificador de fluxo
trackType AoqTrackType Não AoqTrackTypeÁudio Tipo de trilha de áudio
tipo de codec AoqEncoderType Não AoqEncoderTypeAudioPCM Formato de fluxo de áudio. PCM é atualmente suportado.
canais número Não 1 Número de canais. É limitado pelo codec do fluxo de publicação. 1 e 2 são suportados.
taxa de amostra número Não 48.000 Taxa de amostragem, em Hz. 8, 12, 16, 24, 32, 44,1, 48, 64, 88,2, 96, 176,4 e 192K são suportados.
volume de reprodução número Não 100 Volume de reprodução. Valores válidos: 0 a 100.
publicarVolume número Não 100 Volume de publicação. Valores válidos: 0 a 100.
maxBufferDuration número Não 600000 Duração máxima do buffer, em milissegundos. Valores válidos: 100 e acima. Se a duração exceder esse valor, o push falhará.
habilitar3A booleano Não falso Especifica se o processamento 3A deve ser aplicado ao PCM de entrada

AoqAudioExternalFrameMeta

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

Campo Tipo Obrigatório Valor padrão Descrição
ID de fluxo corda Sim - Identificador do fluxo de áudio externo alvo
numOfSamples número Sim 0 Número de amostras (por canal)
bytesPerSample número Sim 2 Bytes por amostra
numOfCanais número Sim 1 Número de canais
amostrasPerSec número Sim 48.000 Número de amostras por segundo (taxa de amostragem)
pushSequência número Não 0 Rodada de entrada PCM
carimbo de data / hora número Não 0 Carimbo de data/hora

Evento AoqAudioFrame

Dados de evento do observador de quadro de áudio.

Campo Tipo Descrição
trackType AoqTrackType Tipo de trilha
numOfSamples número Número de amostras (por canal)
bytesPerSample número Bytes por amostra
numOfCanais número Número de canais
amostrasPerSec número Número de amostras por segundo (taxa de amostragem)
carimbo de data / hora número Carimbo de data/hora
autoGenMute booleano true indica dados silenciosos gerados pelo SDK
buffer Uint8Array Dados de áudio PCM (já copiados no lado nativo)

AoqAudioSource

Valor enum Valor Descrição
AoqAudioSourceCapturado 0 Dados de áudio capturados
AoqAudioSourceProcessCapturado 1 Dados de áudio após processamento 3A
AoqAudioSourcePublicar 2 Dados de áudio a serem publicados (requer uma conexão bem-sucedida)
AoqAudioSourceReprodução 3 Dados de áudio a serem reproduzidos

AoqAudioObserverParams

Campo Tipo Obrigatório Valor padrão Descrição
habilitado booleano Sim falso Habilite ou desabilite o retorno de chamada nesta posição
fonte de áudio AoqAudioFonte Sim AoqAudioSourceCapturado Posição de retorno de chamada
taxa de amostra número Não 48.000 Taxa de amostragem do áudio de retorno de chamada, em Hz. A reamostragem é realizada se as taxas não corresponderem.
canais número Não 1 Número de canais de áudio no retorno de chamada. 1 e 2 são suportados.

O modo de retorno de chamada é fixado como somente leitura. Electron não fornece modo de leitura e gravação.

AoqAudioVolumeIndicaçãoConfig

Campo Tipo Obrigatório Valor padrão Descrição
intervalo número Não 0 Intervalo de retorno de chamada, em milissegundos. Um valor menor ou igual a 0 desativa o retorno de chamada. Um valor maior que 0 e menor que 10 é tratado como 10.
suave número 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 número Volume instantâneo suavizado. Valores válidos: 0 a 255.

Tipos de vídeo

AoqVideoCaptureConfig

Campo Tipo Obrigatório Valor padrão Descrição
largura número Não 1280 Largura da captura, em pixels. Este parâmetro é ineficaz quando isExternal=true.
altura número Não 720 Altura da captura, em pixels. Este parâmetro é ineficaz quando isExternal=true.
FPS número Não 15 Taxa de quadros de captura. Este parâmetro é ineficaz quando isExternal=true (o ritmo é determinado pela entrega do quadro).
éExterno booleano Não falso Especifica se a captura externa deve ser usada. Se for verdade, a câmera não está aberta.

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

AoqVideoCodecConfig

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

Campo Tipo Obrigatório Valor padrão Descrição
éExterno booleano Não falso Quando esse parâmetro é verdadeiro, o SDK não realiza captura ou codificação e os quadros são enviados diretamente por pushExternalVideoEncodedFrame.
trackType AoqTrackType Não AoqTrackTypeVídeo Tipo de trilha
tipo de codec AoqEncoderType Não AoqEncoderTypeVideoH264 Formato de codec
largura número Não 540 Largura de codificação, em pixels
altura número Não 960 Altura de codificação, em pixels
FPS número Não 5 Taxa de quadros de codificação
taxa de bits número Não 500000 Taxa de bits inicial, em bit/s
minTaxa de bits número Não 128.000 Taxa de bits mínima, em bit/s
keyframeInterval número Não 2 Intervalo de quadro-chave, em segundos
modo espelho AoqMirrorMode Não AoqMirrorModeDesativado Modo espelho
modo de orientação AoqOrientationMode Não AoqOrientationModeAuto Modo de orientação de vídeo

AoqVideoPixelFormat

Formatos de pixel suportados no lado Electron (excluindo os formatos de textura/CVPixelBuffer em plataformas móveis).

Valor enum Valor Descrição
AoqVideoPixelFormatUnknown 0 Formato desconhecido
AoqVideoPixelFormatI420 1 I420 (formato plano YUV)
AoqVideoPixelFormatNV12 2 NV12 (formato semiplanar YUV)
AoqVideoPixelFormatNV21 3 NV21 (formato semiplanar YUV)
AoqVideoPixelFormatBGRA 4 BGRA (32 bits)
AoqVideoPixelFormatRGBA 5 RGBA (32 bits)

AoqExternalVideoFrameMeta

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

Campo Tipo Obrigatório Valor padrão Descrição
trackType AoqTrackType Não AoqTrackTypeVídeo Tipo de trilha; suporta roteamento de vídeo/tela
formato AoqVideoPixelFormat Sim - Formato de pixels
largura número Sim - Largura do vídeo, em pixels
altura número Sim - Altura do vídeo, em pixels
carimbo de data / hora número Não 0 Carimbo de data/hora, em milissegundos. Se for 0, o SDK o preenche com a hora local.

Quando format = I420, buffer deve utilizar um layout compacto (passada = largura), com os planos Y/U/V concatenados em ordem. Para outros formatos compactados, passe diretamente os bytes inteiros do quadro.

AoqVideoCodecType

Valor enum Valor Descrição
AoqVideoCodecTypeJPEG 0 Codificação JPEG

AoqExternalVideoEncodedFrameMeta

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

Campo Tipo Obrigatório Valor padrão Descrição
trackType AoqTrackType Não AoqTrackTypeVídeo Tipo de trilha; suporta roteamento de vídeo/tela
codec AoqVideoCodecType Não AoqVideoCodecTypeJPEG Formato de codec
largura número Sim - Largura, em pixels
altura número Sim - Altura, em pixels
carimbo de data / hora número Não 0 Carimbo de data/hora, em milissegundos. Se for 0, o SDK o preenche com a hora local.

AoqVideoDeviceStateCode

Valor enum Valor Descrição
AoqVideoDeviceNone 0 Nenhum estado
AoqVideoDeviceCaptureIniciando 1 Captura começando
AoqVideoDeviceCaptureiniciado 2 Captura iniciada
AoqVideoDeviceCaptureStopping 3 Parada de captura
AoqVideoDeviceCaptureParado 4 Captura interrompida
AoqVideoDeviceCaptureFail 5 Falha na captura (por exemplo, permissão negada ou dispositivo indisponível)

AoqVideoDeviceState

Campo Tipo Descrição
estado AoqVideoDeviceStateCode Status da operação de captura do dispositivo
motivo número Código de motivo do erro. Consulte AoqErrorCode.

Tipos de retorno de chamada de quadro de vídeo

AoqVideoFonte

Valor enum Valor Descrição
AoqVideoSourceCapturado 0 Dados de vídeo capturados antes do pré-processamento
AoqVideoSourcePreEncode 1 Dados de vídeo antes da codificação, após o pré-processamento
AoqVideoSourceRemoto 2 Dados de vídeo remotos após decodificação e antes da renderização

Alinhamento AoqVideoObserver

Valor enum Valor Descrição
AoqVideoObserverAlignmentDefault 0 Alinhamento padrão
AoqVideoObserverAlignmentEven 1 Alinhamento de números pares
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
habilitado booleano Sim falso Habilite ou desabilite o retorno de chamada nesta posição
fonte de vídeo AoqVideoSource Sim AoqVideoSourceCapturado Posição de retorno de chamada
formato AoqVideoPixelFormat Não AoqVideoPixelFormatI420 Formato de pixel esperado dos dados de retorno de chamada
alinhamento AoqVideoObserverAlinhamento Não AoqVideoObserverAlignmentDefault Política de alinhamento de largura
espelhoAplicado booleano Não falso Especifica se os dados de retorno de chamada devem ser espelhados
trackType AoqTrackType Não AoqTrackTypeVídeo Trilha de vídeo para observar. Suporta apenas vídeo e tela.

O modo de retorno de chamada é fixado como somente leitura. Electron não fornece modo de leitura e gravação. Selecione I420 ao usar o integrado YUVCanvasRenderer para renderização.

AoqVideoFrameEvent

Dados de evento do observador de quadro de vídeo.

Campo Tipo Descrição
trackType AoqTrackType Tipo de trilha
formato AoqVideoPixelFormat Formato de pixel
largura número Largura, em pixels
altura número Altura, em pixels
passoY número Passo do plano Y (efetivo apenas para I420)
passoU número Passo do plano U (efetivo apenas para I420)
passoV número Passo do plano V (efetivo apenas para I420)
carimbo de data / hora número Carimbo de data e hora, em milissegundos
buffer Uint8Array Dados do quadro. Para I420, são os planos Y/U/V concatenados com base na passada. Outros formatos compactados são transmitidos como dados originais.

Tipos de mensagens de dados

O elétron não usa o AoqDataMsg tipo de invólucro. As mensagens de dados são enviadas e recebidas diretamente como dados binários:

Direção Tipo Descrição
Enviar Uint8Array ou string sendDataMsg(data). As strings são codificadas em UTF-8.
Receber Uint8Array onDataMsg(data). Os dados já são copiados no lado nativo e podem ser mantidos de forma assíncrona.