Este tópico descreve as APIs C++, callbacks e tipos de dados do SDK Cliente AOQ para Windows.
AoqClientEngine e reporta eventos assíncronos pela classe abstrata AoqEngineEventListener. Todas as definições de tipos residem no namespace AoqClientSdk, e o arquivo de cabeçalho é AoqClientEngine.h.
const char*. Elas devem permanecer válidas pelo menos até o retorno da chamada correspondente. O engine as copia internamente conforme necessário.Índice de APIs
Ciclo de vida do engine
API | Descrição |
|---|---|
| Crie a instância do engine (singleton) |
| Destrói a instância do engine |
| Obtém a versão do SDK |
| Conecta ao servidor relay |
| Desconecta do servidor |
Gerenciamento de dispositivos de áudio
API | Descrição |
|---|---|
| Abre o dispositivo de captura de áudio (microfone) |
| Fecha o dispositivo de captura de áudio |
| Silencia ou reativa a captura de áudio |
| Inicia a renderização de áudio para reproduzir áudio remoto |
| Interrompe a renderização de áudio |
| Pausa a renderização de áudio (suporta fade-out) |
| Retoma a renderização de áudio (suporta fade-in) |
| Interrompe a sessão de áudio atual |
| Ative ou desative a indicação de volume de captura local |
Configuração de codificação de áudio
API | Descrição |
|---|---|
| Defina os parâmetros de codificação de áudio |
| Defina os parâmetros de decodificação de áudio |
Gerenciamento de dispositivos de vídeo
API | Descrição |
|---|---|
| Abre o dispositivo de captura de vídeo (câmera) |
| Fecha o dispositivo de captura de vídeo |
| Defina ou remova a janela de renderização de vídeo local |
| Defina ou remova a janela de renderização de vídeo remoto |
Codificação de vídeo e entrada externa
API | Descrição |
|---|---|
| Defina os parâmetros de codificação de vídeo |
| Defina os parâmetros de decodificação de vídeo |
| Envia um frame de vídeo capturado externamente |
| Envia um frame de vídeo codificado externamente |
Controle de stream de mídia
API | Descrição |
|---|---|
| Ative ou desative o envio de uma stream de mídia local |
Reprodução de arquivos de áudio
API | Descrição |
|---|---|
| Inicia a reprodução de um arquivo de áudio local na stream de publicação |
| Interrompe a reprodução do arquivo de áudio |
| Pausa a reprodução do arquivo de áudio |
| Retoma a reprodução do arquivo de áudio |
| Consulta a duração total do arquivo de áudio |
| Consulta a posição atual de reprodução do arquivo de áudio |
| Defina a posição de reprodução do arquivo de áudio (seek) |
| Defina o volume do arquivo de áudio |
| Consulta o volume atual do arquivo de áudio |
Streams de áudio externas
API | Descrição |
|---|---|
| Adiciona uma stream de áudio externa |
| Alimenta dados PCM de áudio externo |
| Defina o volume de uma stream de áudio externa |
| Consulta o volume de uma stream de áudio externa |
| Limpa o buffer de uma stream de áudio externa |
| Remove uma stream de áudio externa |
Mensagens em tempo real
API | Descrição |
|---|---|
| Envia uma mensagem de dados em tempo real |
Callbacks de frames de áudio
API | Descrição |
|---|---|
| Defina o listener de callback de dados de frame de áudio |
| Ative ou desative o callback de frame de áudio em uma posição especificada |
Callbacks de frames de vídeo
API | Descrição |
|---|---|
| Defina o listener de callback de dados de frame de vídeo |
| Ative ou desative o callback de frame de vídeo em uma posição especificada |
Callbacks do AoqEngineEventListener
Callback | Descrição |
|---|---|
| Callback de erro do engine |
| Callback de aviso do engine |
| Callback de alteração de status de conexão |
| Callback de estatísticas do engine |
| Callback de alteração de status operacional do dispositivo de áudio |
| Callback de alteração de rota de saída de áudio |
| Callback de status de reprodução de arquivo de áudio |
| Callback de indicação de volume de captura local |
| Callback de alteração de status operacional do dispositivo de vídeo |
| Callback para mensagem de dados em tempo real recebida |
Detalhes das APIs
Ciclo de vida do engine
createEngine
Crie a instância do engine. O SDK mantém o engine como um singleton global; portanto, chamar este método novamente retorna a instância existente.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de criação do engine. Para mais informações, consulte |
|
| Listener de callback de eventos. Para mais informações, consulte |
nullptr.
destroy
Destrói a instância do engine. Após destruir o engine, chame createEngine novamente antes de continuar a usá-lo.
getVersion
Obtém a versão do SDK.
connect
Conecta ao servidor relay. O servidor de 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.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de autenticação de conexão. Para mais informações, consulte |
disconnect
Desconecta do servidor.
Gerenciamento de dispositivos de áudio
startAudioCapture
Abre o dispositivo de captura de áudio (microfone).
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de captura de áudio. Para mais informações, consulte |
stopAudioCapture
Fecha o dispositivo de captura de áudio.
muteAudioCapture
Silencia ou reativa a captura de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
|
|
startAudioPlayer
Inicia a renderização de áudio para reproduzir áudio remoto.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de reprodução de áudio. Para mais informações, consulte |
stopAudioPlayer
Interrompe a renderização de áudio.
pauseAudioPlayer
Pausa a renderização de áudio, com suporte a fade-out.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Duração do fade-out, em milissegundos. 0 indica pausa imediata. |
resumeAudioPlayer
Retoma a renderização de áudio, com suporte a fade-in.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Duração do fade-in, em milissegundos. 0 indica retomada imediata. |
interruptAudioPlayer
Interrompe a sessão de áudio atual e para a reprodução em andamento.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Tipo de trilha. Para mais informações, consulte |
|
| Duração do fade-out, em milissegundos. 0 indica interrupção imediata. |
enableLocalAudioVolumeIndication
Ative ou desative a indicação de volume de captura local. Quando ativado, o callback onLocalAudioVolumeIndication é acionado no intervalo especificado por config.interval. Se config.interval <= 0, o callback é desativado. Chame este método após startAudioCapture para obter dados de volume.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de indicação de volume. Para mais informações, consulte |
Configuração de codificação de áudio
setAudioEncoderConfig
Defina os parâmetros de codificação de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de codec de áudio. Para mais informações, consulte |
setAudioDecoderConfig
Defina os parâmetros de decodificação de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de codec de áudio. Para mais informações, consulte |
Gerenciamento de dispositivos de vídeo
startVideoCapture
Abre o dispositivo de captura de vídeo (câmera). Quando isExternal=true estiver configurado, a câmera não será aberta e os frames serão alimentados por pushExternalVideoCapturedFrame.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de captura de vídeo. Para mais informações, consulte |
stopVideoCapture
Fecha o dispositivo de captura de vídeo.
setLocalView
Defina ou remova a janela de renderização de vídeo local. Se canvas.view == nullptr, a vinculação é removida.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Trilha de vídeo. Passe |
|
| Canvas de renderização. Para mais informações, consulte |
setRemoteView
Defina ou remova a janela de renderização de vídeo remoto. Se canvas.view == nullptr, a vinculação é removida.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Trilha de vídeo. Passe |
|
| Canvas de renderização. Para mais informações, consulte |
Codificação de vídeo e entrada externa
setVideoEncoderConfig
Defina os parâmetros de codificação de vídeo e os roteia com base em config.trackType.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de codec de vídeo. Para mais informações, consulte |
setVideoDecoderConfig
Defina os parâmetros de decodificação de vídeo (uma proposta de codec no lado da assinatura, que deve ser chamada antes de connect). A chamada é roteada com base em config.trackType.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de codec de vídeo. Para mais informações, consulte |
pushExternalVideoCapturedFrame
Envia um frame de vídeo externo. Chame primeiro startVideoCapture e configure isExternal=true. Se a captura de vídeo externa não tiver sido iniciada, retorna AoqECVideoExternalCaptureNotEnabled (211). Se o formato do frame não for suportado, retorna AoqECParamInvalid.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Destino do roteamento. Passe |
|
| Dados do frame de vídeo externo. Para mais informações, consulte |
AoqECVideoExternalBufferFull (210) indica que o buffer está cheio; AoqECVideoExternalCaptureNotEnabled (211) indica que a captura de vídeo externa não está ativada; AoqECParamInvalid indica um formato de frame não suportado; outros valores diferentes de zero indicam outros erros.
pushExternalVideoEncodedFrame
Envia diretamente um frame de vídeo codificado externamente, ignorando o codificador. Chame primeiro setVideoEncoderConfig e configure isExternal=true. Atualmente, apenas JPEG é suportado.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Destino do roteamento. Passe |
|
| Dados do frame codificado externamente. Para mais informações, consulte |
Controle de stream de mídia
enableSendMediaStream
Ative ou desative o envio de uma stream de mídia local. Recomendamos desativar o envio após a inicialização e ativá-lo somente depois que o callback onConnectionStatusChange reportar AoqConnectionStatusConnected.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Destino do roteamento. |
|
|
|
Reprodução de arquivos de áudio
startAudioFile
Inicia a reprodução de um arquivo de áudio local na stream de publicação.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio. A camada de negócios deve garantir que seja único. |
|
| Configuração de mixagem do arquivo de áudio. Para mais informações, consulte |
stopAudioFile
Interrompe a reprodução do arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
pauseAudioFile
Pausa a reprodução do arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
resumeAudioFile
Retoma a reprodução do arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
getAudioFileDuration
Obtém a duração total do arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
-AoqErrorCode).
getAudioFileCurrentPosition
Obtém a posição atual de reprodução do arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
-AoqErrorCode).
setAudioFilePositionMillis
Defina a posição de reprodução do arquivo de áudio (seek).
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
|
| Posição de reprodução, em milissegundos |
setAudioFileVolume
Defina o volume do arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
|
| Direção da stream de áudio. Para mais informações, consulte |
|
| Valor do volume. Valores válidos: 0 a 100. |
getAudioFileVolume
Obtém o volume atual do arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
|
| Direção da stream de áudio. Para mais informações, consulte |
-AoqErrorCode).
Streams de áudio externas
addAudioExternalStream
Adiciona uma stream de áudio externa.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID da stream de áudio externa. A camada de negócios deve garantir que seja único. |
|
| Configuração da stream de áudio externa. Para mais informações, consulte |
pushAudioExternalStreamData
Alimenta dados PCM de áudio externo. Se retornar AoqECAudioExternalBufferFull (110), o buffer do SDK está cheio. Recomendamos aguardar cerca de 20 ms e enviar o frame de dados atual novamente.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID da stream de áudio externa |
|
| Dados brutos de áudio externo. Para mais informações, consulte |
AoqECAudioExternalBufferFull.setAudioExternalStreamVolume
Defina o volume de uma stream de áudio externa.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID da stream de áudio externa |
|
| Tipo da stream de áudio externa. Para mais informações, consulte |
|
| Valor do volume. Valores válidos: 0 a 100. |
getAudioExternalStreamVolume
Obtém o volume de uma stream de áudio externa.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID da stream de áudio externa |
|
| Tipo da stream de áudio externa. Para mais informações, consulte |
-AoqErrorCode).
clearAudioExternalStreamBuffer
Limpa o buffer de uma stream de áudio externa.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID da stream de áudio externa |
|
| Duração do fade-out. -1 usa o fade-out padrão do SDK, 0 limpa tudo sem fade-out, e um valor maior que 0 mantém um fade-out com o número especificado de milissegundos. |
removeAudioExternalStream
Remove uma stream de áudio externa.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID da stream de áudio externa |
Mensagens em tempo real
sendDataMsg
Envia uma mensagem de dados em tempo real.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Conteúdo da mensagem. Para mais informações, consulte |
Callbacks de frames de áudio
setAudioFrameObserver
Defina o listener de callback de dados de frame de áudio. Passe nullptr para interromper os callbacks. Após definir o listener, chame enableAudioFrameObserver para ativar o callback da source de dados correspondente.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Listener de callback de frame de áudio. Para mais informações, consulte |
enableAudioFrameObserver
Ative ou desative o callback de frame de áudio em uma posição especificada.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Especifica se permite callbacks de dados |
|
| Tipo da source de dados de áudio bruto. Para mais informações, consulte |
|
| Configurações de parâmetros de callback. Para mais informações, consulte |
Callbacks de frames de vídeo
setVideoFrameObserver
Defina o listener de callback de dados de frame de vídeo. Passe nullptr para interromper os callbacks. Após definir o listener, chame enableVideoFrameObserver para ativar o callback da source de dados correspondente.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Listener de callback de frame de vídeo. Para mais informações, consulte |
enableVideoFrameObserver
Ative ou desative o callback de frame de vídeo em uma posição especificada.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Especifica se ativa callbacks de dados em uma posição |
|
| Source de dados do callback de frame de vídeo (posição no pipeline). Para mais informações, consulte |
|
| Configurações de parâmetros de callback. Para mais informações, consulte |
Callbacks
AoqEngineEventListener
AoqEngineEventListener é o ponto de entrada unificado para todas as notificações de eventos assíncronos do SDK. É uma classe abstrata que você herda e implementa, passando-a ao chamar createEngine. Todos os callbacks podem ser acionados em threads internas, portanto, gerencie a segurança de threads por conta própria. Transições de estado: Disconnected → Connecting → Connected/Failed → Disconnected.
onError
Callback de erro do engine.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Código de erro. Para mais informações, consulte |
|
| Descrição do erro |
onWarning
Callback de aviso do engine.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Código de aviso. Para mais informações, consulte |
|
| Descrição do aviso |
onConnectionStatusChange
Callback de alteração de status de conexão do engine.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Status da conexão. Para mais informações, consulte |
onStats
Callback de estatísticas do engine.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Dados estatísticos. Para mais informações, consulte |
onAudioDeviceStateChanged
Callback para alterações no status operacional de captura e reprodução do dispositivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Estado do dispositivo de áudio. Para mais informações, consulte |
onAudioDeviceRouteChanged
Callback de alteração de rota de saída de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Tipo de rota. Para valores válidos, consulte |
onAudioFileState
Callback para status de reprodução de arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Estado de reprodução do arquivo. Para mais informações, consulte |
onLocalAudioVolumeIndication
Callback de indicação de volume de captura local. Para ativá-lo, chame enableLocalAudioVolumeIndication.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Informações de volume local. Para mais informações, consulte |
onVideoDeviceStateChanged
Callback para alterações no status operacional de captura do dispositivo de vídeo.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Estado do dispositivo de vídeo. Para mais informações, consulte |
onDataMsg
Callback para mensagem de dados em tempo real recebida.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Mensagem de dados. Para mais informações, consulte |
IAudioFrameObserver
Interface para callbacks de dados de frame de áudio, implementada pelo chamador via herança. Não execute operações demoradas nos callbacks, pois isso pode causar anomalias no áudio.
onCapturedAudioFrame
Callback para dados brutos capturados. Para ativá-lo, chame enableAudioFrameObserver e defina audioSource = AoqAudioSourceCaptured. É possível definir a taxa de amostragem e o número de canais, com suporte ao modo leitura-escrita.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Dados brutos de áudio capturado. Para mais informações, consulte |
onProcessCapturedAudioFrame
Callback para dados após processamento 3A. Para ativá-lo, chame enableAudioFrameObserver e defina audioSource = AoqAudioSourceProcessCaptured. É possível definir a taxa de amostragem e o número de canais, com suporte ao modo leitura-escrita.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Dados brutos de áudio após processamento 3A. Para mais informações, consulte |
onPublishAudioFrame
Callback para dados de publicação. Para ativá-lo, chame enableAudioFrameObserver e defina audioSource = AoqAudioSourcePublish. É possível definir a taxa de amostragem e o número de canais, mas apenas o modo somente leitura é suportado.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Tipo de trilha. Para mais informações, consulte |
|
| Dados brutos de áudio a serem publicados. Para mais informações, consulte |
onPlaybackAudioFrame
Callback para dados de reprodução. Para ativá-lo, chame enableAudioFrameObserver e defina audioSource = AoqAudioSourcePlayback. É possível definir a taxa de amostragem e o número de canais, com suporte ao modo leitura-escrita.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Dados brutos de áudio para reprodução. Para mais informações, consulte |
IVideoFrameObserver
Interface para callbacks de dados de frame de vídeo, implementada pelo chamador via herança. Não execute operações demoradas nos callbacks, pois isso pode causar travamentos no vídeo. Um valor de retorno true indica que os dados foram modificados e devem ser gravados de volta no SDK. A gravação de volta tem efeito apenas para I420. Um valor de retorno false indica somente leitura. Os dados em frame são válidos apenas durante o callback. Para uso assíncrono, faça uma cópia manualmente.
onCapturedVideoFrame
Callback para dados brutos locais após captura, antes do pré-processamento. Para ativá-lo, chame enableVideoFrameObserver e defina videoSource = AoqVideoSourceCaptured.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Dados do frame de vídeo capturado. Para mais informações, consulte |
true indica que os dados foram modificados e devem ser gravados de volta no SDK; false indica somente leitura.
onPreEncodeVideoFrame
Callback para dados brutos locais antes da codificação, após o pré-processamento. Para ativá-lo, chame enableVideoFrameObserver e defina videoSource = AoqVideoSourcePreEncode.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Tipo de trilha de vídeo. Para mais informações, consulte |
|
| Dados do frame de vídeo antes da codificação. Para mais informações, consulte |
true indica que os dados foram modificados e devem ser gravados de volta no SDK; false indica somente leitura.
onRemoteVideoFrame
Callback para dados brutos remotos após decodificação e antes da renderização. Para ativá-lo, chame enableVideoFrameObserver e defina videoSource = AoqVideoSourceRemote.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Tipo de trilha de vídeo. Para mais informações, consulte |
|
| Dados do frame de vídeo remoto. Para mais informações, consulte |
true indica que os dados foram modificados e devem ser gravados de volta no SDK; false indica somente leitura.
Tipos de dados e enumerações
Tipos gerais
AoqCreateConfig
Configuração de criação do engine.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Diretório de trabalho do SDK |
|
|
| Especifica se salve dados de áudio (para depuração) |
|
|
| Parâmetros estendidos (uma string JSON) |
AoqConnectConfig
Configuração para conexão ao servidor relay. relayEndpoints / publishTracks / subscribeTracks são arrays estilo C com comprimento. A memória do array é mantida pelo chamador e precisa permanecer válida apenas durante a chamada connect.
Campo | Tipo | Descrição |
|---|---|---|
|
| Token de autenticação de conexão |
|
| ID da sessão |
|
| Impressão digital do certificado do servidor |
|
| ID hash do workspace |
|
| Array de pontos de acesso relay |
|
| Número de pontos de acesso relay |
|
| Array de atributos de trilhas de publicação local |
|
| Número de trilhas de publicação |
|
| Array de atributos de trilhas de assinatura local |
|
| Número de trilhas de assinatura |
AoqRelayEndpoint
Um ponto de acesso relay.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Índice do caminho |
|
|
| Endereço do servidor (nome de domínio ou endereço IP) |
|
|
| Porta do servidor |
AoqTrackParam
O atributo da trilha.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Tipo de trilha |
|
|
| Modo streaming ou não-streaming. Efetivo apenas para downlink de áudio. |
AoqDataMsg
A estrutura de dados da mensagem. Quando usada em um callback, sua validade é garantida apenas durante a execução do mesmo. Se precisar usá-la de forma assíncrona, faça uma cópia manualmente.
Campo | Tipo | Descrição |
|---|---|---|
|
| Conteúdo da mensagem. Aponta para memória mantida pelo chamador. |
|
| Número de bytes |
Tipos de estatísticas
AoqStats
Estatísticas do engine. Cada array de estatísticas é fornecido como um ponteiro e uma contagem.
Campo | Tipo | Descrição |
|---|---|---|
|
| Array de estatísticas de publicação de áudio e número de entradas |
|
| Array de estatísticas de publicação de vídeo e número de entradas |
|
| Array de estatísticas de publicação de mensagens de dados e número de entradas |
|
| Array de estatísticas de assinatura de áudio e número de entradas |
|
| Array de estatísticas de assinatura de vídeo e número de entradas |
|
| Array de estatísticas de assinatura de mensagens de dados e número de entradas |
|
| Estatísticas de rede |
AoqNetworkStats
Estatísticas de rede.
Campo | Tipo | Descrição |
|---|---|---|
|
| Taxa de bits de envio, em bit/s |
|
| Bytes enviados acumulados |
|
| Taxa de bits de recebimento, em bit/s |
|
| Bytes recebidos acumulados |
|
| Taxa de perda de pacotes, de 0 a 100 |
|
| Latência de ida e volta, em ms |
AoqAudioPublishStats
Estatísticas de publicação de áudio.
Campo | Tipo | Descrição |
|---|---|---|
|
| Tipo de trilha |
|
| Taxa de bits, em bit/s |
|
| Bytes acumulados |
|
| Volume de codificação da stream de publicação |
AoqVideoPublishStats
Estatísticas de publicação de vídeo.
Campo | Tipo | Descrição |
|---|---|---|
|
| Tipo de trilha |
|
| Taxa de bits, em bit/s |
|
| Bytes acumulados |
|
| Taxa de quadros de codificação |
AoqDataMsgPublishStats
Estatísticas de publicação de mensagens de dados.
Campo | Tipo | Descrição |
|---|---|---|
|
| Tipo de trilha |
|
| Taxa de bits, em bit/s |
|
| Bytes acumulados |
AoqAudioSubscribeStats
Estatísticas de assinatura de áudio.
Campo | Tipo | Descrição |
|---|---|---|
|
| Tipo de trilha |
|
| Taxa de bits, em bit/s |
|
| Bytes acumulados |
|
| Volume de reprodução |
AoqVideoSubscribeStats
Estatísticas de assinatura de vídeo.
Campo | Tipo | Descrição |
|---|---|---|
|
| Tipo de trilha |
|
| Taxa de bits, em bit/s |
|
| Bytes acumulados |
|
| Taxa de quadros de decodificação |
|
| Taxa de quadros de renderização |
AoqDataMsgSubscribeStats
Estatísticas de assinatura de mensagens de dados.
Campo | Tipo | Descrição |
|---|---|---|
|
| Tipo de trilha |
|
| Taxa de bits, em bit/s |
|
| Bytes acumulados |
Enumerações
AoqErrorCode
Enumeração de códigos de erro.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Sucesso |
| 1 | Parâmetro inválido |
| 2 | Estado inválido |
| 3 | A API foi chamada, mas não está implementada na plataforma ou modo atual |
| 100 | Erro genérico de áudio |
| 110 | Buffer de áudio externo cheio |
| 120 | Erro genérico de dispositivo de áudio |
| 121 | Permissão de gravação não concedida |
| 122 | Dispositivo de gravação em uso |
| 123 | Iniciar gravação em segundo plano |
| 124 | Falha ao iniciar gravação |
| 125 | Dispositivo de reprodução em uso |
| 126 | Iniciar reprodução em segundo plano |
| 127 | Falha ao iniciar reprodução |
| 128 | O modo auricular requer VoIP ativado |
| 200 | Erro genérico de vídeo |
| 210 | Buffer de vídeo externo cheio |
| 211 | Captura de vídeo externa não ativada |
| 212 | Codificação de vídeo externa não ativada |
| 220 | Erro genérico de dispositivo de vídeo |
| 221 | Falha ao abrir a câmera |
| 222 | Permissão da câmera não concedida |
| 223 | Câmera em uso |
| 224 | Erro de execução da câmera |
| 230 | Erro genérico de codec de vídeo |
| 231 | Falha ao inicializar o codificador |
| 240 | Erro genérico de renderização de vídeo |
| 241 | Falha ao crie a visualização de renderização |
| 242 | Erro de desenho na renderização |
AoqWarningCode
Enumeração de códigos de aviso.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Sem avisos |
| 100 | Aviso genérico de áudio |
| 101 | Microfonia detectada |
| 120 | Aviso genérico de dispositivo de áudio |
| 121 | Erro na enumeração do microfone |
| 122 | Tempo limite de inicialização do microfone |
| 123 | Erro de gravação |
| 124 | Erro na enumeração do alto-falante |
| 125 | Tempo limite de inicialização do alto-falante |
| 126 | Erro de reprodução |
| 200 | Aviso genérico de vídeo |
| 201 | Erro na enumeração da câmera |
| 202 | Codificador de vídeo alternado |
| 203 | Renderização de vídeo rebaixada |
AoqTrackType
Tipo de trilha.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Trilha de áudio |
| 1 | Trilha de vídeo |
| 2 | Trilha de mensagem de dados |
AoqEncoderType
Tipo de codificador.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Formato desconhecido |
| 1 | Áudio PCM |
| 2 | Áudio Opus (baseado em plug-in; entre em contato com a equipe do SDK para integrá-lo ou baixá-lo dinamicamente no app) |
| 3 | Vídeo H.264 |
| 4 | Vídeo JPEG |
| 5 | Texto da mensagem |
AoqTrackMode
Modo streaming ou não-streaming. Efetivo apenas para downlink de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Segmentado: os dados são empacotados e entregues em segmentos semânticos, como uma frase. |
| 1 | Streaming: os dados são entregues continuamente. |
AoqConnectionStatus
Status de conexão do engine.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Desconectado |
| 1 | Conectando |
| 2 | Conectado |
| 3 | Falha na conexão |
Tipos de áudio
AoqAudioCaptureConfig
Configuração de captura de áudio.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Especifica se usa captura externa |
|
|
| Número de canais de captura de áudio. 1 e 2 são suportados. |
AoqAudioPlaybackConfig
Configuração de reprodução de áudio.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Especifica se usa reprodução externa |
|
|
| Número de canais de reprodução de áudio. 1 e 2 são suportados. |
AoqAudioCodecConfig
Configuração de codec de áudio.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Tipo de trilha |
|
|
| Formato do codec |
|
|
| Taxa de amostragem, em Hz. Para codificação, Opus 8/16/48K e PCM 8/16/32/48K são suportados. Para decodificação, 24K também é suportado, mas limitado ao modo Segment. O modo Stream não suporta 24K, e uma combinação inválida aciona o callback onError com AoqECParamInvalid durante a conexão. |
|
|
| Número de canais. 1 e 2 são suportados. |
|
|
| Taxa de bits, em bit/s |
AoqAudioDeviceState
Estado do dispositivo de áudio.
Campo | Tipo | Descrição |
|---|---|---|
|
| Código de status |
|
| Código de erro ( |
AoqAudioDeviceStateCode
Código de estado do dispositivo de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Sem estado |
| 1 | Captura iniciando |
| 2 | Captura iniciada |
| 3 | Captura parando |
| 4 | Captura parada |
| 5 | Falha na captura |
| 6 | Reprodução iniciando |
| 7 | Reprodução iniciada |
| 8 | Reprodução parando |
| 9 | Reprodução parada |
| 10 | Falha na reprodução |
AoqAudioDeviceRouteType
Tipo de rota do dispositivo de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Padrão |
| 1 | Fones de ouvido |
| 2 | Auricular |
| 3 | Fones de ouvido sem microfone |
| 4 | Alto-falante integrado |
| 5 | USB |
| 6 | Bluetooth |
| 7 | Bluetooth A2DP |
AoqAudioFileMixConfig
Configuração para reproduzir um arquivo de áudio na stream de publicação.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Nome do arquivo (incluindo o caminho). Obrigatório. |
|
|
| Número de loops. -1 indica loop ilimitado. |
|
|
| Posição inicial de reprodução, em ms |
|
|
| Volume de publicação. Valores válidos: 0 a 100. |
|
|
| Volume de reprodução. Valores válidos: 0 a 100. |
AoqAudioFileState
Estado do arquivo de áudio.
Campo | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo |
|
| Código de status |
|
| Código de erro |
AoqAudioFileStateCode
Código de estado do arquivo de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Sem estado |
| 1 | Iniciado |
| 2 | Parado |
| 3 | Pausado |
| 4 | Retomado |
| 5 | Reprodução concluída |
| 6 | Buffering |
| 7 | Buffering encerrado |
| 8 | Falha na reprodução |
AoqAudioFileErrorCode
Código de erro de reprodução de arquivo de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Sem erro |
| 1 | Falha ao abrir o arquivo |
| 2 | Falha ao decodificar o arquivo |
AoqAudioExternalStreamConfig
Configuração de stream de áudio externa.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Tipo de trilha de áudio |
|
|
| Formato da stream de áudio. PCM é suportado. |
|
|
| Número de canais. Limitado pelo codec de áudio da stream de publicação, que suporta 1 e 2. Canais adicionais são ignorados. |
|
|
| 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. Valores válidos: 0 a 100. |
|
|
| Volume de publicação. Valores válidos: 0 a 100. |
|
|
| Duração máxima do buffer, em ms. Valores válidos: 100 ou superior. Se a duração armazenada no buffer do SDK exceder este valor, o Push falhará. |
|
|
| Especifica se aplica processamento 3A ao PCM de entrada |
AoqAudioFrameData
Dados de áudio.
Campo | Tipo | Descrição |
|---|---|---|
|
| Ponteiro para os dados de áudio |
|
| Número de amostras (por canal) |
|
| Bytes por amostra |
|
| Número de canais |
|
| Número de amostras por segundo |
|
| Rodada de entrada PCM (usada para notificação de conclusão de consumo de |
|
| Timestamp |
|
| Comprimento dos dados |
|
| Válido em callbacks de dados. |
AoqAudioStreamDirection
Direção da stream de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Publicação de áudio |
| 1 | Reprodução de áudio |
AoqAudioExternalStreamToggle
Controle de stream de áudio externa.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Recuperado |
| 1 | Pausado |
AoqAudioSource
Tipo da source de dados de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Dados de áudio capturados |
| 1 | Dados de áudio após processamento 3A |
| 2 | Dados de áudio a serem publicados (requer conexão bem-sucedida) |
| 3 | Dados de áudio a serem reproduzidos |
AoqAudioObserverMode
Modo de callback de frame de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Somente leitura |
| 1 | Leitura e escrita |
AoqAudioObserverConfig
Configurações de parâmetros para callbacks de dados de áudio.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Taxa de amostragem do áudio de callback. Limitada pela source. Ressamostragem é realizada se as taxas não coincidirem. 8, 12, 16, 24, 32, 44.1, 48, 64, 88.2, 96, 176.4 e 192K são suportados. |
|
|
| Número de canais de áudio no callback. 1 e 2 são suportados. Este parâmetro é limitado pelos parâmetros de codec da stream de assinatura. |
|
|
| Modo de callback |
AoqAudioVolumeIndicationConfig
Configuração de indicação de volume local.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Intervalo de callback, em ms. Um valor menor ou igual a 0 desativa o callback. Um valor maior que 0 e menor que 10 é tratado como 10. |
|
|
| Coeficiente de suavização de volume. Valores válidos: 0 a 10. Um valor maior resulta em uma saída mais suave. |
AoqAudioVolume
Informações de volume local.
Campo | Tipo | Descrição |
|---|---|---|
|
| Volume instantâneo suavizado. Valores válidos: 0 a 255. |
Tipos de vídeo
AoqVideoCaptureConfig
Configuração de captura de vídeo.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Largura de captura, em pixels. Este parâmetro é ineficaz quando |
|
|
| Altura de captura, em pixels. Este parâmetro é ineficaz quando |
|
|
| Taxa de quadros de captura. Este parâmetro é ineficaz quando |
|
|
| Especifica se usa captura externa. Se for |
AoqVideoCanvas
Estrutura de dados para renderização de vídeo. view é um ponteiro opaco para o handle de visualização nativo da plataforma. No Windows, passe o handle da janela HWND. O chamador deve garantir que o ciclo de vida de view ultrapasse o período em que é definido por setLocalView / setRemoteView.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Handle da visualização de exibição ( |
|
|
| Modo de renderização |
AoqRenderMode
Modo de exibição de renderização.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Modo automático |
| 1 | Modo esticar para preencher. Quando as proporções não coincidem, a imagem é esticada para a proporção alvo e fica distorcida. |
| 2 | Modo letterbox. Quando as proporções não coincidem, barras pretas são adicionadas na parte superior e inferior ou nas laterais esquerda e direita. |
| 3 | Modo recorte. Quando as proporções não coincidem, a largura ou altura é recortada e parte da imagem é perdida. |
AoqVideoPixelFormat
Formato de pixel de vídeo.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Formato desconhecido |
| 1 | I420 |
| 2 | NV12 |
| 3 | NV21 |
| 4 | BGRA |
| 5 | RGBA |
AoqVideoFrame
Dados de vídeo externos.
Campo | Tipo | Descrição |
|---|---|---|
|
| Formato de pixel |
|
| Largura, em pixels |
|
| Altura, em pixels |
|
| Ponteiro para dados em formato compactado (NV12/NV21/BGRA/RGBA) |
|
| Número de bytes de dados compactados |
|
| Ponteiros para os dados dos três planos I420 |
|
| Stride dos três planos I420 |
|
| Timestamp, em ms. Se for 0, o SDK o preenche com o relógio local. |
AoqVideoEncodedFrame
Um frame de vídeo codificado externamente. O chamador realiza a codificação, e o SDK empacota e envia o frame diretamente sem recodificação.
Campo | Tipo | Descrição |
|---|---|---|
|
| Formato do codec |
|
| Ponteiro para os dados codificados |
|
| Número de bytes dos dados codificados |
|
| Largura, em pixels |
|
| Altura, em pixels |
|
| Timestamp, em ms. Se for 0, o SDK o preenche com o relógio local. |
AoqVideoCodecType
O tipo de codec do frame codificado externamente.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | JPEG |
AoqVideoDeviceState
Estado do dispositivo de vídeo.
Campo | Tipo | Descrição |
|---|---|---|
|
| Código de status |
|
| Código de erro ( |
AoqVideoDeviceStateCode
Código de estado do dispositivo de vídeo.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Sem estado |
| 1 | Câmera iniciando |
| 2 | Câmera iniciada |
| 3 | Câmera parando |
| 4 | Câmera parada |
| 5 | Falha ao iniciar a câmera (por exemplo, permissão negada ou dispositivo indisponível) |
AoqMirrorMode
Modo espelho.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Desativar espelhamento |
| 1 | Ativar espelhamento |
AoqOrientationMode
Modo de orientação.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Automático |
| 1 | Retrato |
| 2 | Paisagem |
AoqVideoCodecConfig
Parâmetros de codec de vídeo, compartilhados por codificação e decodificação. Para decodificação, apenas trackType / codecType / width / height / fps / bitrate têm efeito e participam da negociação como uma proposta de assinatura, enquanto minBitrate / keyframeInterval / mirrorMode / orientationMode / isExternal são usados apenas para codificação.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Modo de codificação externa. Quando é |
|
|
| Tipo de trilha |
|
|
| Formato do codec |
|
|
| Largura da resolução |
|
|
| Altura da resolução |
|
|
| Taxa de quadros |
|
|
| Taxa de bits inicial, em bit/s |
|
|
| Taxa de bits mínima, em bit/s |
|
|
| Intervalo de keyframes, em segundos |
|
|
| Modo espelho |
|
|
| Modo de orientação |
AoqVideoSource
Source de dados do callback de frame de vídeo (posição no pipeline).
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Dados de vídeo capturados antes do pré-processamento |
| 1 | Dados de vídeo antes da codificação, após o pré-processamento |
| 2 | Dados de vídeo remoto após decodificação e antes da renderização |
AoqVideoObserverMode
Modo de callback de frame de vídeo.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Somente leitura |
| 1 | Leitura e escrita |
AoqVideoObserverAlignment
Método de alinhamento de largura para saída de vídeo.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Padrão |
| 1 | Alinhamento par |
| 2 | Alinhamento de 4 bytes |
| 3 | Alinhamento de 8 bytes |
| 4 | Alinhamento de 16 bytes |
AoqVideoObserverConfig
Configurações de parâmetros para callbacks de dados de vídeo.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Formato de pixel esperado dos dados de callback |
|
|
| Política de alinhamento de largura |
|
|
| Modo de callback. ReadWrite é suportado apenas para I420. |
|
|
| Especifica se espelha os dados de callback |