Skip to main content
AOQ SDK overview

Referência da API Windows do SDK Cliente AOQ

Este tópico descreve as APIs C++, callbacks e tipos de dados do SDK Cliente AOQ para Windows.

O SDK mantém a instância do engine como um singleton global, fornece APIs por meio da classe 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.
O chamador é responsável pelo ciclo de vida de todas as strings 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

createEngine

Crie a instância do engine (singleton)

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 (suporta fade-out)

resumeAudioPlayer

Retoma a renderização de áudio (suporta fade-in)

interruptAudioPlayer

Interrompe a sessão de áudio atual

enableLocalAudioVolumeIndication

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

Configuração de codificação 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

setLocalView

Defina ou remova a janela de renderização de vídeo local

setRemoteView

Defina ou remova a janela de renderização de vídeo remoto

Codificação 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

pushAudioExternalStreamData

Alimenta 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

removeAudioExternalStream

Remove 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 o listener de callback de dados de frame de áudio

enableAudioFrameObserver

Ative ou desative o callback de frame de áudio em uma posição especificada

Callbacks de frames de vídeo

API

Descrição

setVideoFrameObserver

Defina o listener de callback de dados de frame de vídeo

enableVideoFrameObserver

Ative ou desative o callback de frame de vídeo em uma posição especificada

Callbacks do AoqEngineEventListener

Callback

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

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.
static AoqClientEngine* createEngine(const AoqCreateConfig& config,
                                     AoqEngineEventListener* listener);
Parâmetros

Parâmetros

Tipo

Descrição

config

const AoqCreateConfig&

Configuração de criação do engine. Para mais informações, consulte AoqCreateConfig.

listener

AoqEngineEventListener*

Listener de callback de eventos. Para mais informações, consulte AoqEngineEventListener.

Retorno: Um ponteiro para a instância do engine. Em caso de falha, retorna nullptr.

destroy

Destrói a instância do engine. Após destruir o engine, chame createEngine novamente antes de continuar a usá-lo.
static int destroy();
Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

getVersion

Obtém a versão do SDK.
static const char* getVersion();
Retorno: A string de versão.

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.
virtual int connect(const AoqConnectConfig& config);
Parâmetros

Parâmetros

Tipo

Descrição

config

const AoqConnectConfig&

Configuração de autenticação de conexão. Para mais informações, consulte AoqConnectConfig.

Retorno: 0 indica que a chamada foi despachada e executa de forma assíncrona; diferente de zero indica falha na validação de parâmetros.

disconnect

Desconecta do servidor.
virtual int disconnect();
Retorno: 0 indica que a chamada foi despachada e executa de forma assíncrona; diferente de zero indica falha.

Gerenciamento de dispositivos de áudio

startAudioCapture

Abre o dispositivo de captura de áudio (microfone).
virtual int startAudioCapture(const AoqAudioCaptureConfig& config);
Parâmetros

Parâmetros

Tipo

Descrição

config

const AoqAudioCaptureConfig&

Configuração de captura de áudio. Para mais informações, consulte AoqAudioCaptureConfig.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

stopAudioCapture

Fecha o dispositivo de captura de áudio.
virtual int stopAudioCapture();
Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

muteAudioCapture

Silencia ou reativa a captura de áudio.
virtual int muteAudioCapture(bool mute);
Parâmetros

Parâmetros

Tipo

Descrição

mute

bool

true silencia; false reativa o áudio

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

startAudioPlayer

Inicia a renderização de áudio para reproduzir áudio remoto.
virtual int startAudioPlayer(const AoqAudioPlaybackConfig& config);
Parâmetros

Parâmetros

Tipo

Descrição

config

const AoqAudioPlaybackConfig&

Configuração de reprodução de áudio. Para mais informações, consulte AoqAudioPlaybackConfig.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

stopAudioPlayer

Interrompe a renderização de áudio.
virtual int stopAudioPlayer();
Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

pauseAudioPlayer

Pausa a renderização de áudio, com suporte a fade-out.
virtual int pauseAudioPlayer(int fadeMs);
Parâmetros

Parâmetros

Tipo

Descrição

fadeMs

int

Duração do fade-out, em milissegundos. 0 indica pausa imediata.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

resumeAudioPlayer

Retoma a renderização de áudio, com suporte a fade-in.
virtual int resumeAudioPlayer(int fadeMs);
Parâmetros

Parâmetros

Tipo

Descrição

fadeMs

int

Duração do fade-in, em milissegundos. 0 indica retomada imediata.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

interruptAudioPlayer

Interrompe a sessão de áudio atual e para a reprodução em andamento.
virtual int interruptAudioPlayer(AoqTrackType trackType, int fadeMs);
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

Tipo de trilha. Para mais informações, consulte AoqTrackType.

fadeMs

int

Duração do fade-out, em milissegundos. 0 indica interrupção imediata.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

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.
virtual int enableLocalAudioVolumeIndication(const AoqAudioVolumeIndicationConfig& config);
Parâmetros

Parâmetros

Tipo

Descrição

config

const AoqAudioVolumeIndicationConfig&

Configuração de indicação de volume. Para mais informações, consulte AoqAudioVolumeIndicationConfig.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

Configuração de codificação de áudio

setAudioEncoderConfig

Defina os parâmetros de codificação de áudio.
virtual int setAudioEncoderConfig(const AoqAudioCodecConfig& config);
Parâmetros

Parâmetros

Tipo

Descrição

config

const AoqAudioCodecConfig&

Configuração de codec de áudio. Para mais informações, consulte AoqAudioCodecConfig.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

setAudioDecoderConfig

Defina os parâmetros de decodificação de áudio.
virtual int setAudioDecoderConfig(const AoqAudioCodecConfig& config);
Parâmetros

Parâmetros

Tipo

Descrição

config

const AoqAudioCodecConfig&

Configuração de codec de áudio. Para mais informações, consulte AoqAudioCodecConfig.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

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.
virtual int startVideoCapture(const AoqVideoCaptureConfig& config);
Parâmetros

Parâmetros

Tipo

Descrição

config

const AoqVideoCaptureConfig&

Configuração de captura de vídeo. Para mais informações, consulte AoqVideoCaptureConfig.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

stopVideoCapture

Fecha o dispositivo de captura de vídeo.
virtual int stopVideoCapture();
Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

setLocalView

Defina ou remova a janela de renderização de vídeo local. Se canvas.view == nullptr, a vinculação é removida.
virtual int setLocalView(AoqTrackType trackType, const AoqVideoCanvas& canvas);
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

Trilha de vídeo. Passe AoqTrackTypeVideo.

canvas

const AoqVideoCanvas&

Canvas de renderização. Para mais informações, consulte AoqVideoCanvas. Se view for nullptr, a vinculação é removida.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

setRemoteView

Defina ou remova a janela de renderização de vídeo remoto. Se canvas.view == nullptr, a vinculação é removida.
virtual int setRemoteView(AoqTrackType trackType, const AoqVideoCanvas& canvas);
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

Trilha de vídeo. Passe AoqTrackTypeVideo.

canvas

const AoqVideoCanvas&

Canvas de renderização. Para mais informações, consulte AoqVideoCanvas. Se view for nullptr, a vinculação é removida.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

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.
virtual int setVideoEncoderConfig(const AoqVideoCodecConfig& config);
Parâmetros

Parâmetros

Tipo

Descrição

config

const AoqVideoCodecConfig&

Configuração de codec de vídeo. Para mais informações, consulte AoqVideoCodecConfig.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

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.
virtual int setVideoDecoderConfig(const AoqVideoCodecConfig& config);
Parâmetros

Parâmetros

Tipo

Descrição

config

const AoqVideoCodecConfig&

Configuração de codec de vídeo. Para mais informações, consulte AoqVideoCodecConfig.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

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.
virtual int pushExternalVideoCapturedFrame(AoqTrackType trackType, const AoqVideoFrame& frame);
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

Destino do roteamento. Passe AoqTrackTypeVideo.

frame

const AoqVideoFrame&

Dados do frame de vídeo externo. Para mais informações, consulte AoqVideoFrame.

Retorno: 0 em caso de sucesso; 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.
virtual int pushExternalVideoEncodedFrame(AoqTrackType trackType, const AoqVideoEncodedFrame& frame);
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

Destino do roteamento. Passe AoqTrackTypeVideo.

frame

const AoqVideoEncodedFrame&

Dados do frame codificado externamente. Para mais informações, consulte AoqVideoEncodedFrame.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

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.
virtual int enableSendMediaStream(AoqTrackType trackType, bool enable);
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

Destino do roteamento. AoqTrackTypeAudio e AoqTrackTypeVideo são suportados.

enable

bool

true ativa o envio; false desativa o envio

Retorno: 0 indica que a chamada foi despachada e executa de forma assíncrona; diferente de zero indica falha.

Reprodução de arquivos de áudio

startAudioFile

Inicia a reprodução de um arquivo de áudio local na stream de publicação.
virtual int startAudioFile(const char* fileId, const AoqAudioFileMixConfig& config);
Parâmetros

Parâmetros

Tipo

Descrição

fileId

const char*

ID do arquivo de áudio. A camada de negócios deve garantir que seja único.

config

const AoqAudioFileMixConfig&

Configuração de mixagem do arquivo de áudio. Para mais informações, consulte AoqAudioFileMixConfig.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

stopAudioFile

Interrompe a reprodução do arquivo de áudio.
virtual int stopAudioFile(const char* fileId);
Parâmetros

Parâmetros

Tipo

Descrição

fileId

const char*

ID do arquivo de áudio

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

pauseAudioFile

Pausa a reprodução do arquivo de áudio.
virtual int pauseAudioFile(const char* fileId);
Parâmetros

Parâmetros

Tipo

Descrição

fileId

const char*

ID do arquivo de áudio

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

resumeAudioFile

Retoma a reprodução do arquivo de áudio.
virtual int resumeAudioFile(const char* fileId);
Parâmetros

Parâmetros

Tipo

Descrição

fileId

const char*

ID do arquivo de áudio

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

getAudioFileDuration

Obtém a duração total do arquivo de áudio.
virtual int64_t getAudioFileDuration(const char* fileId);
Parâmetros

Parâmetros

Tipo

Descrição

fileId

const char*

ID do arquivo de áudio

Retorno: Um valor maior ou igual a 0 indica a duração do arquivo de áudio, em milissegundos; um valor menor que 0 indica falha (-AoqErrorCode).

getAudioFileCurrentPosition

Obtém a posição atual de reprodução do arquivo de áudio.
virtual int64_t getAudioFileCurrentPosition(const char* fileId);
Parâmetros

Parâmetros

Tipo

Descrição

fileId

const char*

ID do arquivo de áudio

Retorno: Um valor maior ou igual a 0 indica a posição atual de reprodução, em milissegundos; um valor menor que 0 indica falha (-AoqErrorCode).

setAudioFilePositionMillis

Defina a posição de reprodução do arquivo de áudio (seek).
virtual int setAudioFilePositionMillis(const char* fileId, int64_t positionMillis);
Parâmetros

Parâmetros

Tipo

Descrição

fileId

const char*

ID do arquivo de áudio

positionMillis

int64_t

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

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

setAudioFileVolume

Defina o volume do arquivo de áudio.
virtual int setAudioFileVolume(const char* fileId, AoqAudioStreamDirection type, int volume);
Parâmetros

Parâmetros

Tipo

Descrição

fileId

const char*

ID do arquivo de áudio

type

AoqAudioStreamDirection

Direção da stream de áudio. Para mais informações, consulte AoqAudioStreamDirection.

volume

int

Valor do volume. Valores válidos: 0 a 100.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

getAudioFileVolume

Obtém o volume atual do arquivo de áudio.
virtual int getAudioFileVolume(const char* fileId, AoqAudioStreamDirection type);
Parâmetros

Parâmetros

Tipo

Descrição

fileId

const char*

ID do arquivo de áudio

type

AoqAudioStreamDirection

Direção da stream de áudio. Para mais informações, consulte AoqAudioStreamDirection.

Retorno: Um valor de 0 a 100 indica o volume; um valor menor que 0 indica falha (-AoqErrorCode).

Streams de áudio externas

addAudioExternalStream

Adiciona uma stream de áudio externa.
virtual int addAudioExternalStream(const char* streamId, const AoqAudioExternalStreamConfig& config);
Parâmetros

Parâmetros

Tipo

Descrição

streamId

const char*

ID da stream de áudio externa. A camada de negócios deve garantir que seja único.

config

const AoqAudioExternalStreamConfig&

Configuração da stream de áudio externa. Para mais informações, consulte AoqAudioExternalStreamConfig.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

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.
virtual int pushAudioExternalStreamData(const char* streamId, AoqAudioFrameData& data);
Parâmetros

Parâmetros

Tipo

Descrição

streamId

const char*

ID da stream de áudio externa

data

AoqAudioFrameData&

Dados brutos de áudio externo. Para mais informações, consulte AoqAudioFrameData.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.
Melhor prática: Em cenários de captura em tempo real, envie 10 ms de dados por vez sempre que houver dados disponíveis. Quando os dados vierem de um arquivo, envie 40 ms de dados por vez em intervalos de 30 ms e trate o valor de retorno AoqECAudioExternalBufferFull.

setAudioExternalStreamVolume

Defina o volume de uma stream de áudio externa.
virtual int setAudioExternalStreamVolume(const char* streamId, AoqAudioStreamDirection type, int vol);
Parâmetros

Parâmetros

Tipo

Descrição

streamId

const char*

ID da stream de áudio externa

type

AoqAudioStreamDirection

Tipo da stream de áudio externa. Para mais informações, consulte AoqAudioStreamDirection.

vol

int

Valor do volume. Valores válidos: 0 a 100.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

getAudioExternalStreamVolume

Obtém o volume de uma stream de áudio externa.
virtual int getAudioExternalStreamVolume(const char* streamId, AoqAudioStreamDirection type);
Parâmetros

Parâmetros

Tipo

Descrição

streamId

const char*

ID da stream de áudio externa

type

AoqAudioStreamDirection

Tipo da stream de áudio externa. Para mais informações, consulte AoqAudioStreamDirection.

Retorno: Um valor de 0 a 100 indica o volume; um valor menor que 0 indica falha (-AoqErrorCode).

clearAudioExternalStreamBuffer

Limpa o buffer de uma stream de áudio externa.
virtual void clearAudioExternalStreamBuffer(const char* streamId, int fadeoutMs);
Parâmetros

Parâmetros

Tipo

Descrição

streamId

const char*

ID da stream de áudio externa

fadeoutMs

int

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.

Retorno: Nenhum.

removeAudioExternalStream

Remove uma stream de áudio externa.
virtual int removeAudioExternalStream(const char* streamId);
Parâmetros

Parâmetros

Tipo

Descrição

streamId

const char*

ID da stream de áudio externa

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

Mensagens em tempo real

sendDataMsg

Envia uma mensagem de dados em tempo real.
virtual int sendDataMsg(const AoqDataMsg& msg);
Parâmetros

Parâmetros

Tipo

Descrição

msg

const AoqDataMsg&

Conteúdo da mensagem. Para mais informações, consulte AoqDataMsg.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

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.
virtual int setAudioFrameObserver(IAudioFrameObserver* observer) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

observer

IAudioFrameObserver*

Listener de callback de frame de áudio. Para mais informações, consulte IAudioFrameObserver. Passe nullptr para interromper os callbacks.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

enableAudioFrameObserver

Ative ou desative o callback de frame de áudio em uma posição especificada.
virtual int enableAudioFrameObserver(bool enabled, AoqAudioSource audioSource,
                                     const AoqAudioObserverConfig& config) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

enabled

bool

Especifica se permite callbacks de dados

audioSource

AoqAudioSource

Tipo da source de dados de áudio bruto. Para mais informações, consulte AoqAudioSource.

config

const AoqAudioObserverConfig&

Configurações de parâmetros de callback. Para mais informações, consulte AoqAudioObserverConfig.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

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.
virtual int setVideoFrameObserver(IVideoFrameObserver* observer) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

observer

IVideoFrameObserver*

Listener de callback de frame de vídeo. Para mais informações, consulte IVideoFrameObserver. Passe nullptr para interromper os callbacks.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

enableVideoFrameObserver

Ative ou desative o callback de frame de vídeo em uma posição especificada.
virtual int enableVideoFrameObserver(bool enabled, AoqVideoSource videoSource,
                                     const AoqVideoObserverConfig& config) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

enabled

bool

Especifica se ativa callbacks de dados em uma posição

videoSource

AoqVideoSource

Source de dados do callback de frame de vídeo (posição no pipeline). Para mais informações, consulte AoqVideoSource.

config

const AoqVideoObserverConfig&

Configurações de parâmetros de callback. Para mais informações, consulte AoqVideoObserverConfig.

Retorno: 0 em caso de sucesso; diferente de zero em caso de falha.

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.
virtual void onError(int code, const char* message) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

code

int

Código de erro. Para mais informações, consulte AoqErrorCode.

message

const char*

Descrição do erro

onWarning

Callback de aviso do engine.
virtual void onWarning(int code, const char* message) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

code

int

Código de aviso. Para mais informações, consulte AoqWarningCode.

message

const char*

Descrição do aviso

onConnectionStatusChange

Callback de alteração de status de conexão do engine.
virtual void onConnectionStatusChange(AoqConnectionStatus status) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

status

AoqConnectionStatus

Status da conexão. Para mais informações, consulte AoqConnectionStatus.

onStats

Callback de estatísticas do engine.
virtual void onStats(const AoqStats& stats) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

stats

const AoqStats&

Dados estatísticos. Para mais informações, consulte AoqStats.

onAudioDeviceStateChanged

Callback para alterações no status operacional de captura e reprodução do dispositivo de áudio.
virtual void onAudioDeviceStateChanged(const AoqAudioDeviceState& state) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

state

const AoqAudioDeviceState&

Estado do dispositivo de áudio. Para mais informações, consulte AoqAudioDeviceState.

onAudioDeviceRouteChanged

Callback de alteração de rota de saída de áudio.
virtual void onAudioDeviceRouteChanged(int routeType) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

routeType

int

Tipo de rota. Para valores válidos, consulte AoqAudioDeviceRouteType.

onAudioFileState

Callback para status de reprodução de arquivo de áudio.
virtual void onAudioFileState(const AoqAudioFileState& state) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

state

const AoqAudioFileState&

Estado de reprodução do arquivo. Para mais informações, consulte AoqAudioFileState.

onLocalAudioVolumeIndication

Callback de indicação de volume de captura local. Para ativá-lo, chame enableLocalAudioVolumeIndication.
virtual void onLocalAudioVolumeIndication(const AoqAudioVolume& volume) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

volume

const AoqAudioVolume&

Informações de volume local. Para mais informações, consulte AoqAudioVolume.

onVideoDeviceStateChanged

Callback para alterações no status operacional de captura do dispositivo de vídeo.
virtual void onVideoDeviceStateChanged(const AoqVideoDeviceState& state) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

state

const AoqVideoDeviceState&

Estado do dispositivo de vídeo. Para mais informações, consulte AoqVideoDeviceState.

onDataMsg

Callback para mensagem de dados em tempo real recebida.
virtual void onDataMsg(const AoqDataMsg& msg) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

msg

const AoqDataMsg&

Mensagem de dados. Para mais informações, consulte AoqDataMsg.

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.
virtual void onCapturedAudioFrame(const AoqAudioFrameData& data) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

data

const AoqAudioFrameData&

Dados brutos de áudio capturado. Para mais informações, consulte AoqAudioFrameData.

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.
virtual void onProcessCapturedAudioFrame(const AoqAudioFrameData& data) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

data

const AoqAudioFrameData&

Dados brutos de áudio após processamento 3A. Para mais informações, consulte AoqAudioFrameData.

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.
virtual void onPublishAudioFrame(AoqTrackType trackType, const AoqAudioFrameData& data) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

Tipo de trilha. Para mais informações, consulte AoqTrackType.

data

const AoqAudioFrameData&

Dados brutos de áudio a serem publicados. Para mais informações, consulte AoqAudioFrameData.

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.
virtual void onPlaybackAudioFrame(const AoqAudioFrameData& data) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

data

const AoqAudioFrameData&

Dados brutos de áudio para reprodução. Para mais informações, consulte AoqAudioFrameData.

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.
virtual bool onCapturedVideoFrame(AoqVideoFrame& frame) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

frame

AoqVideoFrame&

Dados do frame de vídeo capturado. Para mais informações, consulte AoqVideoFrame.

Retorno: 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.
virtual bool onPreEncodeVideoFrame(AoqTrackType trackType, AoqVideoFrame& frame) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

Tipo de trilha de vídeo. Para mais informações, consulte AoqTrackType.

frame

AoqVideoFrame&

Dados do frame de vídeo antes da codificação. Para mais informações, consulte AoqVideoFrame.

Retorno: 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.
virtual bool onRemoteVideoFrame(AoqTrackType trackType, AoqVideoFrame& frame) = 0;
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

Tipo de trilha de vídeo. Para mais informações, consulte AoqTrackType.

frame

AoqVideoFrame&

Dados do frame de vídeo remoto. Para mais informações, consulte AoqVideoFrame.

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

workDir

const char*

nullptr

Diretório de trabalho do SDK

enableDumpAudio

bool

false

Especifica se salve dados de áudio (para depuração)

extras

const char*

nullptr

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

const char*

Token de autenticação de conexão

sid

const char*

ID da sessão

certFingerprint

const char*

Impressão digital do certificado do servidor

workspaceIdHash

const char*

ID hash do workspace

relayEndpoints

const AoqRelayEndpoint*

Array de pontos de acesso relay

relayEndpointsCount

size_t

Número de pontos de acesso relay

publishTracks

const AoqTrackParam*

Array de atributos de trilhas de publicação local

publishTracksCount

size_t

Número de trilhas de publicação

subscribeTracks

const AoqTrackParam*

Array de atributos de trilhas de assinatura local

subscribeTracksCount

size_t

Número de trilhas de assinatura

AoqRelayEndpoint

Um ponto de acesso relay.

Campo

Tipo

Valor padrão

Descrição

route_index

int

-1

Índice do caminho

endpoint

const char*

nullptr

Endereço do servidor (nome de domínio ou endereço IP)

port

int

0

Porta do servidor

AoqTrackParam

O atributo da trilha.

Campo

Tipo

Valor padrão

Descrição

trackType

AoqTrackType

Audio

Tipo de trilha

trackMode

AoqTrackMode

Segment

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

data

const uint8_t*

Conteúdo da mensagem. Aponta para memória mantida pelo chamador.

dataSize

size_t

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

audioPublishStats / audioPublishStatsCount

const AoqAudioPublishStats* / unsigned int

Array de estatísticas de publicação de áudio e número de entradas

videoPublishStats / videoPublishStatsCount

const AoqVideoPublishStats* / unsigned int

Array de estatísticas de publicação de vídeo e número de entradas

dataMsgPublishStats / dataMsgPublishStatsCount

const AoqDataMsgPublishStats* / unsigned int

Array de estatísticas de publicação de mensagens de dados e número de entradas

audioSubscribeStats / audioSubscribeStatsCount

const AoqAudioSubscribeStats* / unsigned int

Array de estatísticas de assinatura de áudio e número de entradas

videoSubscribeStats / videoSubscribeStatsCount

const AoqVideoSubscribeStats* / unsigned int

Array de estatísticas de assinatura de vídeo e número de entradas

dataMsgSubscribeStats / dataMsgSubscribeStatsCount

const AoqDataMsgSubscribeStats* / unsigned int

Array de estatísticas de assinatura de mensagens de dados e número de entradas

networkStats

const AoqNetworkStats*

Estatísticas de rede

AoqNetworkStats

Estatísticas de rede.

Campo

Tipo

Descrição

sendBitrate

unsigned int

Taxa de bits de envio, em bit/s

sendBytes

uint64_t

Bytes enviados acumulados

recvBitrate

unsigned int

Taxa de bits de recebimento, em bit/s

recvBytes

uint64_t

Bytes recebidos acumulados

loss

unsigned int

Taxa de perda de pacotes, de 0 a 100

rtt

unsigned int

Latência de ida e volta, em ms

AoqAudioPublishStats

Estatísticas de publicação de áudio.

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de trilha

bitrate

unsigned int

Taxa de bits, em bit/s

bytes

uint64_t

Bytes acumulados

encodeVolume

unsigned int

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

AoqVideoPublishStats

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

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de trilha

bitrate

unsigned int

Taxa de bits, em bit/s

bytes

uint64_t

Bytes acumulados

encodeFps

unsigned int

Taxa de quadros de codificação

AoqDataMsgPublishStats

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

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de trilha

bitrate

unsigned int

Taxa de bits, em bit/s

bytes

uint64_t

Bytes acumulados

AoqAudioSubscribeStats

Estatísticas de assinatura de áudio.

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de trilha

bitrate

unsigned int

Taxa de bits, em bit/s

bytes

uint64_t

Bytes acumulados

playVolume

unsigned int

Volume de reprodução

AoqVideoSubscribeStats

Estatísticas de assinatura de vídeo.

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de trilha

bitrate

unsigned int

Taxa de bits, em bit/s

bytes

uint64_t

Bytes acumulados

decodeFps

unsigned int

Taxa de quadros de decodificação

renderFps

unsigned int

Taxa de quadros de renderização

AoqDataMsgSubscribeStats

Estatísticas de assinatura de mensagens de dados.

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de trilha

bitrate

unsigned int

Taxa de bits, em bit/s

bytes

uint64_t

Bytes acumulados

Enumerações

AoqErrorCode

Enumeração de códigos de erro.

Valor da enumeração

Valor

Descrição

AoqECOK

0

Sucesso

AoqECParamInvalid

1

Parâmetro inválido

AoqECStateInvalid

2

Estado inválido

AoqECUnSupport

3

A API foi chamada, mas não está implementada na plataforma ou modo atual

AoqECAudio

100

Erro genérico de áudio

AoqECAudioExternalBufferFull

110

Buffer de áudio externo cheio

AoqECAudioDevice

120

Erro genérico de dispositivo de áudio

AoqECAudioDeviceRecordingAuthFailed

121

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

AoqECAudioDeviceRecordingOccupied

122

Dispositivo de gravação em uso

AoqECAudioDeviceRecordingBackgroundStart

123

Iniciar gravação em segundo plano

AoqECAudioDeviceRecordingStartFail

124

Falha ao iniciar gravação

AoqECAudioDevicePlayoutOccupied

125

Dispositivo de reprodução em uso

AoqECAudioDevicePlayoutBackgroundStart

126

Iniciar reprodução em segundo plano

AoqECAudioDevicePlayoutStartFail

127

Falha ao iniciar reprodução

AoqECAudioDeviceEarpieceRequiresVoipMode

128

O modo auricular requer VoIP ativado

AoqECVideo

200

Erro genérico de vídeo

AoqECVideoExternalBufferFull

210

Buffer de vídeo externo cheio

AoqECVideoExternalCaptureNotEnabled

211

Captura de vídeo externa não ativada

AoqECVideoExternalEncoderNotEnabled

212

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

AoqECVideoDevice

220

Erro genérico de dispositivo de vídeo

AoqECVideoDeviceCameraOpenFail

221

Falha ao abrir a câmera

AoqECVideoDeviceCameraAuthFailed

222

Permissão da câmera não concedida

AoqECVideoDeviceCameraOccupied

223

Câmera em uso

AoqECVideoDeviceCameraRunningError

224

Erro de execução da câmera

AoqECVideoCodec

230

Erro genérico de codec de vídeo

AoqECVideoCodecEncoderInitFail

231

Falha ao inicializar o codificador

AoqECVideoRender

240

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

AoqECVideoRenderCreateFail

241

Falha ao crie a visualização de renderização

AoqECVideoRenderDrawError

242

Erro de desenho na renderização

AoqWarningCode

Enumeração de códigos de aviso.

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 na enumeração do microfone

AoqWCAudioDeviceMicStartTimeout

122

Tempo limite de inicialização do microfone

AoqWCAudioDeviceRecordingError

123

Erro de gravação

AoqWCAudioDeviceSpeakerEnumerateError

124

Erro na enumeração do alto-falante

AoqWCAudioDeviceSpeakerStartTimeout

125

Tempo limite de inicialização do alto-falante

AoqWCAudioDevicePlayoutError

126

Erro de reprodução

AoqWCVideo

200

Aviso genérico de vídeo

AoqWCVideoCameraEnumerateError

201

Erro na enumeração da câmera

AoqWCVideoEncoderSwitched

202

Codificador de vídeo alternado

AoqWCVideoRenderDowngrade

203

Renderização de vídeo rebaixada

AoqTrackType

Tipo de trilha.

Valor da enumeração

Valor

Descrição

AoqTrackTypeAudio

0

Trilha de áudio

AoqTrackTypeVideo

1

Trilha de vídeo

AoqTrackTypeData

2

Trilha de mensagem de dados

AoqEncoderType

Tipo de codificador.

Valor da enumeração

Valor

Descrição

AoqEncoderTypeUnknown

0

Formato desconhecido

AoqEncoderTypeAudioPCM

1

Áudio PCM

AoqEncoderTypeAudioOpus

2

Áudio Opus (baseado em plug-in; entre em contato com a equipe do SDK para integrá-lo ou baixá-lo dinamicamente no app)

AoqEncoderTypeVideoH264

3

Vídeo H.264

AoqEncoderTypeVideoJpeg

4

Vídeo JPEG

AoqEncoderTypeDataText

5

Texto da mensagem

AoqTrackMode

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

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.

AoqConnectionStatus

Status de conexão do engine.

Valor da enumeração

Valor

Descrição

AoqConnectionStatusDisconnected

0

Desconectado

AoqConnectionStatusConnecting

1

Conectando

AoqConnectionStatusConnected

2

Conectado

AoqConnectionStatusFailed

3

Falha na conexão

Tipos de áudio

AoqAudioCaptureConfig

Configuração de captura de áudio.

Campo

Tipo

Valor padrão

Descrição

isExternal

bool

false

Especifica se usa captura externa

channel

int

1

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

isExternal

bool

false

Especifica se usa reprodução externa

channel

int

1

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

trackType

AoqTrackType

Audio

Tipo de trilha

codecType

AoqEncoderType

AudioPCM

Formato do codec

sampleRate

int

48000

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.

channel

int

1

Número de canais. 1 e 2 são suportados.

bitrate

int

32000

Taxa de bits, em bit/s

AoqAudioDeviceState

Estado do dispositivo de áudio.

Campo

Tipo

Descrição

state

AoqAudioDeviceStateCode

Código de status

reason

int

Código de erro (AoqErrorCode)

AoqAudioDeviceStateCode

Código de estado do dispositivo de áudio.

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

AoqAudioDeviceRouteType

Tipo de rota do dispositivo de áudio.

Valor da enumeração

Valor

Descrição

AoqAudioDeviceRouteDefault

0

Padrão

AoqAudioDeviceRouteHeadset

1

Fones de ouvido

AoqAudioDeviceRouteEarpiece

2

Auricular

AoqAudioDeviceRouteHeadsetNoMic

3

Fones de ouvido sem microfone

AoqAudioDeviceRouteSpeakerPhone

4

Alto-falante integrado

AoqAudioDeviceRouteUsb

5

USB

AoqAudioDeviceRouteBluetooth

6

Bluetooth

AoqAudioDeviceRouteBluetoothA2dp

7

Bluetooth A2DP

AoqAudioFileMixConfig

Configuração para reproduzir um arquivo de áudio na stream de publicação.

Campo

Tipo

Valor padrão

Descrição

fileName

const char*

nullptr

Nome do arquivo (incluindo o caminho). Obrigatório.

cycles

int

-1

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

startPosMs

long

0

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

publishVolume

int

100

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

playoutVolume

int

100

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

AoqAudioFileState

Estado do arquivo de áudio.

Campo

Tipo

Descrição

fileId

const char*

ID do arquivo

stateCode

AoqAudioFileStateCode

Código de status

errorCode

AoqAudioFileErrorCode

Código de erro

AoqAudioFileStateCode

Código de estado do arquivo de áudio.

Valor da enumeração

Valor

Descrição

AoqAudioFileNone

0

Sem estado

AoqAudioFileStarted

1

Iniciado

AoqAudioFileStopped

2

Parado

AoqAudioFilePaused

3

Pausado

AoqAudioFileResumed

4

Retomado

AoqAudioFileEnded

5

Reprodução concluída

AoqAudioFileBuffering

6

Buffering

AoqAudioFileBufferingEnd

7

Buffering encerrado

AoqAudioFileFailed

8

Falha na reprodução

AoqAudioFileErrorCode

Código de erro de reprodução de arquivo de áudio.

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

AoqAudioExternalStreamConfig

Configuração de stream de áudio externa.

Campo

Tipo

Valor padrão

Descrição

trackType

AoqTrackType

Audio

Tipo de trilha de áudio

codecType

AoqEncoderType

AudioPCM

Formato da stream de áudio. PCM é suportado.

channels

int

1

Número de canais. Limitado pelo codec de áudio da stream de publicação, que suporta 1 e 2. Canais adicionais são ignorados.

sampleRate

int

48000

Taxa de amostragem, em Hz. 8, 12, 16, 24, 32, 44.1, 48, 64, 88.2, 96, 176.4 e 192K são suportados.

playoutVolume

int

100

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

publishVolume

int

100

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

maxBufferDuration

int

600000

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

enable3A

bool

false

Especifica se aplica processamento 3A ao PCM de entrada

AoqAudioFrameData

Dados de áudio.

Campo

Tipo

Descrição

dataPtr

void*

Ponteiro para os dados de áudio

numOfSamples

int

Número de amostras (por canal)

bytesPerSample

int

Bytes por amostra

numOfChannels

int

Número de canais

samplesPerSec

int

Número de amostras por segundo

pushSequence

int

Rodada de entrada PCM (usada para notificação de conclusão de consumo de pushAudioExternalStreamData)

timeStamp

int64_t

Timestamp

dataSize

int

Comprimento dos dados

autoGenMute

bool

Válido em callbacks de dados. true indica dados silenciosos gerados pelo SDK.

AoqAudioStreamDirection

Direção da stream de áudio.

Valor da enumeração

Valor

Descrição

AoqAudioStreamPublish

0

Publicação de áudio

AoqAudioStreamPlayout

1

Reprodução de áudio

AoqAudioExternalStreamToggle

Controle de stream de áudio externa.

Valor da enumeração

Valor

Descrição

AoqAudioExternalStreamToggleNormal

0

Recuperado

AoqAudioExternalStreamTogglePause

1

Pausado

AoqAudioSource

Tipo da source de dados de áudio.

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

AoqAudioObserverMode

Modo de callback de frame de áudio.

Valor da enumeração

Valor

Descrição

AoqAudioObserverModeReadOnly

0

Somente leitura

AoqAudioObserverModeReadWrite

1

Leitura e escrita

AoqAudioObserverConfig

Configurações de parâmetros para callbacks de dados de áudio.

Campo

Tipo

Valor padrão

Descrição

sampleRate

int

48000

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.

channels

int

1

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.

mode

AoqAudioObserverMode

ReadOnly

Modo de callback

AoqAudioVolumeIndicationConfig

Configuração de indicação de volume local.

Campo

Tipo

Valor padrão

Descrição

interval

int

0

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.

smooth

int

3

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

int

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

width

int

1280

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

height

int

720

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

fps

int

15

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

isExternal

bool

false

Especifica se usa captura externa. Se for true, a câmera não será aberta e os frames serão alimentados por pushExternalVideoCapturedFrame.

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

view

void*

nullptr

Handle da visualização de exibição (HWND). Passe nullptr para remover a vinculação de renderização.

renderMode

AoqRenderMode

Auto

Modo de renderização

AoqRenderMode

Modo de exibição de renderização.

Valor da enumeração

Valor

Descrição

AoqRenderModeAuto

0

Modo automático

AoqRenderModeStretch

1

Modo esticar para preencher. Quando as proporções não coincidem, a imagem é esticada para a proporção alvo e fica distorcida.

AoqRenderModeFill

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.

AoqRenderModeCrop

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

AoqVideoPixelFormatUnknown

0

Formato desconhecido

AoqVideoPixelFormatI420

1

I420

AoqVideoPixelFormatNV12

2

NV12

AoqVideoPixelFormatNV21

3

NV21

AoqVideoPixelFormatBGRA

4

BGRA

AoqVideoPixelFormatRGBA

5

RGBA

AoqVideoFrame

Dados de vídeo externos.

Campo

Tipo

Descrição

format

AoqVideoPixelFormat

Formato de pixel

width

int

Largura, em pixels

height

int

Altura, em pixels

dataPtr

void*

Ponteiro para dados em formato compactado (NV12/NV21/BGRA/RGBA)

dataSize

int

Número de bytes de dados compactados

dataY / dataU / dataV

void*

Ponteiros para os dados dos três planos I420

strideY / strideU / strideV

int

Stride dos três planos I420

timeStamp

int64_t

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

codec

AoqVideoCodecType

Formato do codec

data

void*

Ponteiro para os dados codificados

dataSize

int

Número de bytes dos dados codificados

width

int

Largura, em pixels

height

int

Altura, em pixels

timeStamp

int64_t

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

AoqVideoCodecTypeJPEG

0

JPEG

AoqVideoDeviceState

Estado do dispositivo de vídeo.

Campo

Tipo

Descrição

state

AoqVideoDeviceStateCode

Código de status

reason

int

Código de erro (AoqErrorCode)

AoqVideoDeviceStateCode

Código de estado do dispositivo de vídeo.

Valor da enumeração

Valor

Descrição

AoqVideoDeviceNone

0

Sem estado

AoqVideoDeviceCaptureStarting

1

Câmera iniciando

AoqVideoDeviceCaptureStarted

2

Câmera iniciada

AoqVideoDeviceCaptureStopping

3

Câmera parando

AoqVideoDeviceCaptureStopped

4

Câmera parada

AoqVideoDeviceCaptureFail

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

AoqMirrorModeDisabled

0

Desativar espelhamento

AoqMirrorModeEnabled

1

Ativar espelhamento

AoqOrientationMode

Modo de orientação.

Valor da enumeração

Valor

Descrição

AoqOrientationModeAuto

0

Automático

AoqOrientationModePortrait

1

Retrato

AoqOrientationModeLandscape

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

isExternal

bool

false

Modo de codificação externa. Quando é true, você envia frames codificados e o SDK não realiza captura ou codificação.

trackType

AoqTrackType

Video

Tipo de trilha

codecType

AoqEncoderType

VideoH264

Formato do codec

width

int

540

Largura da resolução

height

int

960

Altura da resolução

fps

int

5

Taxa de quadros

bitrate

int

500000

Taxa de bits inicial, em bit/s

minBitrate

int

128000

Taxa de bits mínima, em bit/s

keyframeInterval

int

2

Intervalo de keyframes, em segundos

mirrorMode

AoqMirrorMode

Disabled

Modo espelho

orientationMode

AoqOrientationMode

Auto

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

AoqVideoSourceCaptured

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

AoqVideoSourceRemote

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

AoqVideoObserverModeReadOnly

0

Somente leitura

AoqVideoObserverModeReadWrite

1

Leitura e escrita

AoqVideoObserverAlignment

Método de alinhamento de largura para saída de vídeo.

Valor da enumeração

Valor

Descrição

AoqVideoObserverAlignmentDefault

0

Padrão

AoqVideoObserverAlignmentEven

1

Alinhamento par

AoqVideoObserverAlignment4

2

Alinhamento de 4 bytes

AoqVideoObserverAlignment8

3

Alinhamento de 8 bytes

AoqVideoObserverAlignment16

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

format

AoqVideoPixelFormat

I420

Formato de pixel esperado dos dados de callback

alignment

AoqVideoObserverAlignment

Default

Política de alinhamento de largura

mode

AoqVideoObserverMode

ReadOnly

Modo de callback. ReadWrite é suportado apenas para I420.

mirrorApplied

bool

false

Especifica se espelha os dados de callback

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