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

SDK do Windows

Referência da API C++ do SDK do Windows AOQ

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

O SDK mantém a instância do mecanismo como um singleton global, fornece APIs por meio do AoqClientEngine classe e relata eventos assíncronos por meio do AoqEngineEventListener classe abstrata. Todas as definições de tipo residem no AoqClientSdk namespace, e o arquivo de cabeçalho é AoqClientEngine.h.

O chamador é responsável pelo ciclo de vida de todos const char* cordas. Eles devem permanecer válidos pelo menos até o retorno da chamada correspondente. O mecanismo os copia internamente conforme necessário.

índice API

Ciclo de vida do motor

API Descrição
createEngine Crie a instância do mecanismo (singleton)
destroy Destrua a instância do mecanismo
getVersion Obtenha a versão do SDK
connect Conecte-se ao servidor de retransmissão
disconnect Desconectar do servidor

Gerenciamento de dispositivos de áudio

API Descrição
startAudioCapture Abra o dispositivo de captura de áudio (microfone)
stopAudioCapture Feche o dispositivo de captura de áudio
muteAudioCapture Ativar ou ativar captura de áudio
startAudioPlayer Inicie a renderização de áudio para reproduzir áudio remoto
stopAudioPlayer Pare a renderização de áudio
pauseAudioPlayer Pausar renderização de áudio (fade-out suportado)
resumeAudioPlayer Retomar a renderização de áudio (com suporte para fade-in)
interruptAudioPlayer Interromper a sessão de áudio atual
enableLocalAudioVolumeIndication Habilitar ou desabilitar indicação de volume de captura local

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

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

Gerenciamento de dispositivos de vídeo

API Descrição
startVideoCapture Abra o dispositivo de captura de vídeo (câmera)
stopVideoCapture Feche o dispositivo de captura de vídeo
setLocalView Definir ou remover a janela de renderização de vídeo local
setRemoteView Definir ou remover a janela de renderização remota de vídeo
getScreenSourceList Enumerar telas e janelas
startScreenCapture Iniciar captura de tela
stopScreenCapture Pare a captura de tela

Codificação de vídeo e entrada externa

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

Controle de fluxo de mídia

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

Reprodução de arquivo de áudio

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

Fluxos de áudio externos

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

Mensagens em tempo real

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

Retornos de chamada de quadro de áudio

API Descrição
setAudioFrameObserver Definir o ouvinte de retorno de chamada de dados do quadro de áudio
enableAudioFrameObserver Ativar ou desativar o retorno de chamada do quadro de áudio em uma posição especificada

Retornos de chamada de quadro de vídeo

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

Retornos de chamada AoqEngineEventListener

Retorno de chamada Descrição
onError Retorno de chamada de erro do mecanismo
onWarning Retorno de chamada de aviso do motor
onConnectionStatusChange Retorno de chamada de alteração de status de conexão
onStats Retorno de chamada de estatísticas do mecanismo
onAudioDeviceStateChanged Retorno de chamada de mudança de status de operação do dispositivo de áudio
onAudioDeviceRouteChanged Retorno de chamada de mudança de rota de saída de áudio
onAudioFileState Retorno de chamada de status de reprodução de arquivo de áudio
onLocalAudioVolumeIndication Retorno de chamada de indicação de volume de captura local
onVideoDeviceStateChanged Retorno de chamada de mudança de status de operação do dispositivo de vídeo
onDataMsg Retorno de chamada para uma mensagem de dados recebida em tempo real

Detalhes da API

Captura de tela

virtual int startScreenCapture(const AoqScreenCaptureConfig& config);
virtual int stopScreenCapture();

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

Retorna 0 em caso de sucesso ou um valor diferente de zero em caso de falha. Esses métodos retornam de forma síncrona e não fornecem um onScreenCaptureStateChanged retorno de chamada.

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

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

getScreenSourceList

virtual AoqScreenSourceList getScreenSourceList();

Retorna uma lista de fontes de tela. Ligar AoqScreenSourceList::screenSourceListFree(list) após o uso para liberar sua memória.

Ciclo de vida do motor

####criarEngine

Cria a instância do mecanismo. O SDK mantém o mecanismo como um singleton global, portanto, chamar esse 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 mecanismo. Para obter mais informações, consulte AoqCreateConfig.
listener AoqEngineEventListener* Ouvinte de retorno de chamada de evento. Para obter mais informações, consulte AoqEngineEventListener.

Retorna: um ponteiro para a instância do mecanismo. nullptr é retornado em caso de falha.

destruir

Destrói a instância do mecanismo. Depois que o motor for destruído, você deve ligar createEngine novamente antes de continuar a usá-lo.

static int destroy();

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

getVersion

Obtém a versão do SDK.

static const char* getVersion();

Retorna: A string da versão.

conectar

Conecta-se ao servidor de retransmissão. O servidor de aplicação obtém parâmetros de conexão AOQ temporários com base no protocolo em uso e os envia ao cliente. Para obter mais informações, consulte Autenticação de token.

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 obter mais informações, consulte AoqConnectConfig.

Retorna: 0 indica que a chamada é despachada e executada de forma assíncrona; diferente de zero indica que a validação do parâmetro falhou.

desconectar

Desconecta do servidor.

virtual int disconnect();

Retorna: 0 indica que a chamada é despachada e executada de forma assíncrona; diferente de zero indica uma 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 obter mais informações, consulte AoqAudioCaptureConfig.

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

stopAudioCapture

Fecha o dispositivo de captura de áudio.

virtual int stopAudioCapture();

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

muteAudioCapture

Ativa ou desativa a captura de áudio.

virtual int muteAudioCapture(bool mute);

Parâmetros

Parâmetros Tipo Descrição
mute bool true mudo;false ativa o som

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

iniciarAudioPlayer

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 obter mais informações, consulte AoqAudioPlaybackConfig.

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

pararAudioPlayer

Interrompe a renderização de áudio.

virtual int stopAudioPlayer();

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

pausaAudioPlayer

Pausa a renderização de áudio, com suporte para 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.

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

retomarAudioPlayer

Retoma a renderização de áudio, com suporte para 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.

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

interromperAudioPlayer

Interrompe a sessão de áudio atual e interrompe o áudio que está sendo reproduzido no momento.

virtual int interruptAudioPlayer(AoqTrackType trackType, int fadeMs);

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Tipo de trilha. Para obter mais informações, consulte AoqTrackType.
fadeMs int Duração do fade-out, em milissegundos. 0 indica interrupção imediata.

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

enableLocalAudioVolumeIndication

Habilita ou desabilita a indicação do volume de captura local. Depois de habilitado, o onLocalAudioVolumeIndication o retorno de chamada é acionado no intervalo especificado por config.interval. Se config.interval<= 0, o retorno de chamada será desativado. Você deve chamar esse método depois 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 obter mais informações, consulte AoqAudioVolumeIndicationConfig.

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

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

####setAudioEncoderConfig

Define 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 do codec de áudio. Para obter mais informações, consulte AoqAudioCodecConfig.

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

####setAudioDecoderConfig

Define 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 do codec de áudio. Para obter mais informações, consulte AoqAudioCodecConfig.

Retorna: 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 está configurado, a câmera não é aberta e os quadros sã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 obter mais informações, consulte AoqVideoCaptureConfig.

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

pararVideoCapture

Fecha o dispositivo de captura de vídeo.

virtual int stopVideoCapture();

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

setLocalView

Define ou remove a janela de renderização de vídeo local. Se canvas.view == nullptr, a ligação será removida.

virtual int setLocalView(AoqTrackType trackType, const AoqVideoCanvas& canvas);

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Faixa de vídeo. Passe AoqTrackTypeVideo.
canvas const AoqVideoCanvas& Tela de renderização. Para obter mais informações, consulte AoqVideoCanvas. Se view é nullptr, a ligação será removida.

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

definirRemoteView

Define ou remove a janela de renderização de vídeo remota. Se canvas.view == nullptr, a ligação será removida.

virtual int setRemoteView(AoqTrackType trackType, const AoqVideoCanvas& canvas);

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Faixa de vídeo. Passe AoqTrackTypeVideo.
canvas const AoqVideoCanvas& Tela de renderização. Para obter mais informações, consulte AoqVideoCanvas. Se view é nullptr, a ligação será removida.

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

Codificação de vídeo e entrada externa

####setVideoEncoderConfig

Define parâmetros de codificação de vídeo e os encaminha 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 obter mais informações, consulte AoqVideoCodecConfig.

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

####setVideoDecoderConfig

Define parâmetros de decodificação de vídeo (uma proposta de codec do lado do assinante, que deve ser chamada antes 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 obter mais informações, consulte AoqVideoCodecConfig.

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

pushExternalVideoCapturedFrame

Envia um quadro de vídeo externo. Você deve primeiro ligar startVideoCapture e configurar isExternal=true. Se a captura de vídeo externa não for iniciada,AoqECVideoExternalCaptureNotEnabled (211) é retornado. Se o formato do quadro não for suportado,AoqECParamInvalid é retornado.

virtual int pushExternalVideoCapturedFrame(AoqTrackType trackType, const AoqVideoFrame& frame);

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Destino de roteamento. Passar AoqTrackTypeVideo; AoqTrackTypeScreen também é compatível.
frame const AoqVideoFrame& Dados de quadro de vídeo externo. Para obter mais informações, consulte AoqVideoFrame.

Retorna: 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á habilitada;AoqECParamInvalid indica um formato de quadro não suportado; outros valores diferentes de zero indicam outros erros.

pushExternalVideoEncodedFrame

Envia diretamente um quadro de vídeo codificado externamente, ignorando o codificador. Você deve primeiro ligar setVideoEncoderConfig e configurar isExternal=true. Atualmente, apenas JPEG é compatível.

virtual int pushExternalVideoEncodedFrame(AoqTrackType trackType, const AoqVideoEncodedFrame& frame);

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Destino de roteamento. Passar AoqTrackTypeVideo; AoqTrackTypeScreen também é compatível.
frame const AoqVideoEncodedFrame& Dados de quadro codificados externamente. Para obter mais informações, consulte AoqVideoEncodedFrame.

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

Controle de fluxo de mídia

ativarSendMediaStream

Ativa ou desativa o envio de um fluxo de mídia local. Recomendamos que você desative o envio após a inicialização e ative-o somente após o onConnectionStatusChange relatórios de retorno de chamada AoqConnectionStatusConnected.

virtual int enableSendMediaStream(AoqTrackType trackType, bool enable);

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Destino de roteamento. AoqTrackTypeAudio e AoqTrackTypeVideo são suportados; também suporta AoqTrackTypeScreen.
enable bool true permite o envio;false desativa o envio

Retorna: 0 indica que a chamada é despachada e executada de forma assíncrona; diferente de zero indica uma falha.

Reprodução de arquivo de áudio

startAudioFile

Inicia a reprodução de um arquivo de áudio local no fluxo 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 única.
config const AoqAudioFileMixConfig& Configuração de mixagem de arquivos de áudio. Para obter mais informações, consulte AoqAudioFileMixConfig.

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

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

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

currículoAudioFile

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

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

Retorna: Um valor maior ou igual a 0 indica a duração do arquivo de áudio, em milissegundos; um valor menor que 0 indica uma 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

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

setAudioFilePositionMillis

Define a posição de reprodução do arquivo de áudio (busca).

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

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

####setAudioFileVolume

Define 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 do fluxo de áudio. Para obter mais informações, consulte AoqAudioStreamDirection.
volume int Valor do volume. Valores válidos: 0 a 100.

Retorna: 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 do fluxo de áudio. Para obter mais informações, consulte AoqAudioStreamDirection.

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

Fluxos de áudio externos

addAudioExternalStream

Adiciona um fluxo de áudio externo.

virtual int addAudioExternalStream(const char* streamId, const AoqAudioExternalStreamConfig& config);

Parâmetros

Parâmetros Tipo Descrição
streamId const char* ID de fluxo de áudio externo. A camada de negócios deve garantir que seja única.
config const AoqAudioExternalStreamConfig& Configuração de fluxo de áudio externo. Para obter mais informações, consulte AoqAudioExternalStreamConfig.

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

pushAudioExternalStreamData

Alimenta dados PCM de áudio externo. Se AoqECAudioExternalBufferFull (110) for retornado, o buffer do SDK está cheio e recomendamos que você espere cerca de 20 ms e depois envie o quadro de dados atual novamente.

virtual int pushAudioExternalStreamData(const char* streamId, AoqAudioFrameData& data);

Parâmetros

Parâmetros Tipo Descrição
streamId const char* ID do fluxo de áudio externo
data AoqAudioFrameData& Dados de áudio externos brutos. Para obter mais informações, consulte AoqAudioFrameData.

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

Prática recomendada: em cenários de captura em tempo real, envie 10 ms de dados por vez e envie sempre que os dados estiverem disponíveis. Quando os dados vierem de um arquivo, envie 40 ms de dados por vez em intervalos de 30 ms e lide com o AoqECAudioExternalBufferFull valor de retorno.

setAudioExternalStreamVolume

Define o volume de um fluxo de áudio externo.

virtual int setAudioExternalStreamVolume(const char* streamId, AoqAudioStreamDirection type, int vol);

Parâmetros

Parâmetros Tipo Descrição
streamId const char* ID do fluxo de áudio externo
type AoqAudioStreamDirection Tipo de fluxo de áudio externo. Para obter mais informações, consulte AoqAudioStreamDirection.
vol int Valor do volume. Valores válidos: 0 a 100.

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

getAudioExternalStreamVolume

Obtém o volume de um fluxo de áudio externo.

virtual int getAudioExternalStreamVolume(const char* streamId, AoqAudioStreamDirection type);

Parâmetros

Parâmetros Tipo Descrição
streamId const char* ID do fluxo de áudio externo
type AoqAudioStreamDirection Tipo de fluxo de áudio externo. Para obter mais informações, consulte AoqAudioStreamDirection.

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

clearAudioExternalStreamBuffer

Limpa o buffer de um fluxo de áudio externo.

virtual void clearAudioExternalStreamBuffer(const char* streamId, int fadeoutMs);

Parâmetros

Parâmetros Tipo Descrição
streamId const char* ID do fluxo de áudio externo
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 do número especificado de milissegundos.

Retorna: Nenhum.

removeAudioExternalStream

Remove um fluxo de áudio externo.

virtual int removeAudioExternalStream(const char* streamId);

Parâmetros

Parâmetros Tipo Descrição
streamId const char* ID do fluxo de áudio externo

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

Mensagens em tempo real

enviarDataMsg

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 obter mais informações, consulte AoqDataMsg.

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

Retornos de chamada de quadro de áudio

####setAudioFrameObserver

Define o ouvinte de retorno de chamada de dados do quadro de áudio. Passe nullptr para interromper retornos de chamada. Depois de definir o ouvinte, ligue enableAudioFrameObserver para ativar o retorno de chamada para a fonte de dados correspondente.

virtual int setAudioFrameObserver(IAudioFrameObserver* observer) = 0;

Parâmetros

Parâmetros Tipo Descrição
observer IAudioFrameObserver* Ouvinte de retorno de chamada de quadro de áudio. Para obter mais informações, consulte IAudioFrameObserver. Passe nullptr para interromper retornos de chamada.

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

enableAudioFrameObserver

Habilita ou desabilita o retorno de chamada do quadro 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 serão permitidos retornos de chamada de dados
audioSource AoqAudioSource Tipo da fonte de dados de áudio bruto. Para obter mais informações, consulte AoqAudioSource.
config const AoqAudioObserverConfig& Configurações de parâmetros de retorno de chamada. Para obter mais informações, consulte AoqAudioObserverConfig.

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

Retornos de chamada de quadro de vídeo

####setVideoFrameObserver

Define o ouvinte de retorno de chamada de dados do quadro de vídeo. Passe nullptr para interromper retornos de chamada. Depois de definir o ouvinte, ligue enableVideoFrameObserver para ativar o retorno de chamada para a fonte de dados correspondente.

virtual int setVideoFrameObserver(IVideoFrameObserver* observer) = 0;

Parâmetros

Parâmetros Tipo Descrição
observer IVideoFrameObserver* Ouvinte de retorno de chamada de quadro de vídeo. Para obter mais informações, consulte IVideoFrameObserver. Passe nullptr para interromper retornos de chamada.

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

enableVideoFrameObserver

Ativa ou desativa o retorno de chamada do quadro 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 os retornos de chamada de dados devem ser ativados em uma posição
videoSource AoqVideoSource Fonte de dados do retorno de chamada do quadro de vídeo (posição no pipeline). Para obter mais informações, consulte AoqVideoSource.
config const AoqVideoObserverConfig& Configurações de parâmetros de retorno de chamada. Para obter mais informações, consulte AoqVideoObserverConfig.

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

Retornos de chamada

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, e então passa quando você chama createEngine. Todos os retornos de chamada podem ser acionados em threads internos, portanto, você mesmo deve cuidar da segurança do thread. Transições de estado:Disconnected → Connecting → Connected/Failed → Disconnected.

####onError

Retorno de chamada de erro do mecanismo.

virtual void onError(int code, const char* message) = 0;

Parâmetros

Parâmetros Tipo Descrição
code int Código de erro. Para obter mais informações, consulte AoqErrorCode.
message const char* Descrição do erro

emAviso

Retorno de chamada de aviso do motor.

virtual void onWarning(int code, const char* message) = 0;

Parâmetros

Parâmetros Tipo Descrição
code int Código de aviso. Para obter mais informações, consulte AoqWarningCode.
message const char* Descrição do aviso

onConnectionStatusChange

Retorno de chamada de alteração do status da conexão do mecanismo.

virtual void onConnectionStatusChange(AoqConnectionStatus status) = 0;

Parâmetros

Parâmetros Tipo Descrição
status AoqConnectionStatus Status da conexão. Para obter mais informações, consulte AoqConnectionStatus.

nas estatísticas

Retorno de chamada de estatísticas do mecanismo.

virtual void onStats(const AoqStats& stats) = 0;

Parâmetros

Parâmetros Tipo Descrição
stats const AoqStats& Dados estatísticos. Para obter mais informações, consulte AoqStats.

onAudioDeviceStateChanged

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

virtual void onAudioDeviceStateChanged(const AoqAudioDeviceState& state) = 0;

Parâmetros

Parâmetros Tipo Descrição
state const AoqAudioDeviceState& Estado do dispositivo de áudio. Para obter mais informações, consulte AoqAudioDeviceState.

onAudioDeviceRouteChanged

Retorno de chamada de alteração da 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 os valores válidos, consulte AoqAudioDeviceRouteType.

####onAudioFileState

Retorno de chamada 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 obter mais informações, consulte AoqAudioFileState.

onLocalAudioVolumeIndicação

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

virtual void onLocalAudioVolumeIndication(const AoqAudioVolume& volume) = 0;

Parâmetros

Parâmetros Tipo Descrição
volume const AoqAudioVolume& Informações de volume local. Para obter mais informações, consulte AoqAudioVolume.

onVideoDeviceStateChanged

Retorno de chamada para alterações no status da operação 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 obter mais informações, consulte AoqVideoDeviceState.

####onDataMsg

Retorno de chamada para uma 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 obter mais informações, consulte AoqDataMsg.

###IAudioFrameObserver

Interface para retornos de chamada de dados de quadros de áudio, que o chamador implementa por herança. Não execute nenhuma operação demorada nos retornos de chamada. Caso contrário, poderão ocorrer anomalias de áudio.

####onCapturedAudioFrame

Retorno de chamada para dados brutos capturados. Para habilitá-lo, ligue enableAudioFrameObserver e definir audioSource = AoqAudioSourceCaptured. Você pode definir a taxa de amostragem e o número de canais, e o modo leitura-gravação é suportado.

virtual void onCapturedAudioFrame(const AoqAudioFrameData& data) = 0;

Parâmetros

Parâmetros Tipo Descrição
data const AoqAudioFrameData& Dados de áudio capturados brutos. Para obter mais informações, consulte AoqAudioFrameData.

####onProcessCapturedAudioFrame

Retorno de chamada para dados após processamento 3A. Para habilitá-lo, ligue enableAudioFrameObserver e definir audioSource = AoqAudioSourceProcessCaptured. Você pode definir a taxa de amostragem e o número de canais, e o modo leitura-gravação é suportado.

virtual void onProcessCapturedAudioFrame(const AoqAudioFrameData& data) = 0;

Parâmetros

Parâmetros Tipo Descrição
data const AoqAudioFrameData& Dados de áudio brutos após processamento 3A. Para obter mais informações, consulte AoqAudioFrameData.

####onPublishAudioFrame

Retorno de chamada para publicação de dados. Para habilitá-lo, ligue enableAudioFrameObserver e definir audioSource = AoqAudioSourcePublish. Você pode definir a taxa de amostragem e o número de canais, e 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 obter mais informações, consulte AoqTrackType.
data const AoqAudioFrameData& Dados brutos de áudio a serem publicados. Para obter mais informações, consulte AoqAudioFrameData.

onPlaybackAudioFrame

Retorno de chamada para dados de reprodução. Para habilitá-lo, ligue enableAudioFrameObserver e definir audioSource = AoqAudioSourcePlayback. Você pode definir a taxa de amostragem e o número de canais, e o modo leitura-gravação é suportado.

virtual void onPlaybackAudioFrame(const AoqAudioFrameData& data) = 0;

Parâmetros

Parâmetros Tipo Descrição
data const AoqAudioFrameData& Dados de áudio brutos para reprodução. Para obter mais informações, consulte AoqAudioFrameData.

IVideoFrameObserver

Interface para retornos de chamada de dados de quadros de vídeo, que o chamador implementa por herança. Não execute nenhuma operação demorada nos retornos de chamada. Caso contrário, poderão ocorrer interrupções no vídeo. Um valor de retorno de true indica que os dados foram modificados e devem ser gravados novamente no SDK. A reescrita entra em vigor apenas para I420. Um valor de retorno de false indica somente leitura. Os dados em frame é válido apenas durante o retorno de chamada. Para usá-lo de forma assíncrona, copie você mesmo.

onCapturedVideoFrame

Retorno de chamada para dados brutos locais após a captura, antes do pré-processamento. Para habilitá-lo, ligue enableVideoFrameObserver e definir videoSource = AoqVideoSourceCaptured.

virtual bool onCapturedVideoFrame(AoqTrackType trackType, AoqVideoFrame& frame) = 0;

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Tipo de trilha de vídeo: Vídeo ou Tela.
frame AoqVideoFrame& Dados de quadro de vídeo capturados. Para obter mais informações, consulte AoqVideoFrame.

Retorna:true indica que os dados foram modificados e devem ser gravados novamente no SDK;false indica somente leitura.

####onPreEncodeVideoFrame

Retorno de chamada para dados brutos locais antes da codificação, após o pré-processamento. Para habilitá-lo, ligue enableVideoFrameObserver e definir videoSource = AoqVideoSourcePreEncode.

virtual bool onPreEncodeVideoFrame(AoqTrackType trackType, AoqVideoFrame& frame) = 0;

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Tipo de faixa de vídeo. Para obter mais informações, consulte AoqTrackType.
frame AoqVideoFrame& Dados do quadro de vídeo antes da codificação. Para obter mais informações, consulte AoqVideoFrame.

Retorna:true indica que os dados foram modificados e devem ser gravados novamente no SDK;false indica somente leitura.

onRemoteVideoFrame

Retorno de chamada para dados brutos remotos após a decodificação e antes da renderização. Para habilitá-lo, ligue enableVideoFrameObserver e definir videoSource = AoqVideoSourceRemote.

virtual bool onRemoteVideoFrame(AoqTrackType trackType, AoqVideoFrame& frame) = 0;

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Tipo de faixa de vídeo. Para obter mais informações, consulte AoqTrackType.
frame AoqVideoFrame& Dados de quadro de vídeo remoto. Para obter mais informações, consulte AoqVideoFrame.

Retorna:true indica que os dados foram modificados e devem ser gravados novamente no SDK;false indica somente leitura.

Tipos de dados e enumerações

AoqScreenCaptureStateCode

Enumeração do estado de captura de tela. O tipo está definido, mas o SDK atual não fornece um retorno de chamada de estado correspondente.

Valor enum Valor Descrição
AoqScreenCaptureNone 0 Nenhum
AoqScreenCaptureStarting 1 Iniciando
AoqScreenCaptureStarted 2 Iniciado
AoqScreenCaptureStopping 3 Parando
AoqScreenCaptureStopped 4 Parado
AoqScreenCaptureFail 5 Falha

AoqScreenCaptureState

Campo Tipo Descrição
state AoqScreenCaptureStateCode Código de estado de captura de tela.
reason int Código de erro de AoqErrorCode. 0 indica um estado normal.

AoqScreenSourceList

Campo/Método Tipo Descrição
sourceCount int Número de fontes
sourceList const AoqScreenSourceInfo* Matriz de origem. Libere com screenSourceListFree(list) após o uso.
screenSourceListFree(list) static void Libera a memória da lista. O chamador deve chamar esse método para evitar vazamento de memória.

AoqScreenSourceInfo

Campo Tipo Valor padrão Descrição
sourceType AoqScreenShareSourceType Desktop Tipo de fonte
sourceId int64_t 0 ID da fonte
sourceName const char* nullptr Nome da fonte
sourceIsSelf bool false Se a janela pertence ao processo atual

AoqScreenShareSourceType

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

AoqScreenCaptureConfig

Campo Tipo Valor padrão Descrição
isExternal bool false Se o aplicativo fornece quadros de tela brutos.
sourceId int64_t 0 ID de origem da tela.
sourceType AoqScreenShareSourceType AoqScreenShareSourceTypeDesktop Tipo de origem da tela.
appGroup const char* nullptr Apenas para iOS. Não usado nesta plataforma.

Tipos gerais

AoqCreateConfig

Configuração de criação do mecanismo.

Campo Tipo Valor padrão Descrição
workDir const char* nullptr Diretório de trabalho do SDK
enableDumpAudio bool false Especifica se os dados de áudio devem ser salvos (para depuração)
extras const char* nullptr Parâmetros estendidos (uma string JSON)
maxEncodedVideoFrameBytes int 190 × 1024 Tamanho máximo do quadro codificado em bytes. Aplica-se apenas ao codificador JPEG interno do SDK. Um valor 0 desativa o limite.
enableDropOversizedVideoFrame bool false Para o codificador JPEG interno do SDK, é necessário descartar um quadro que permanece superdimensionado com a qualidade mais baixa.

AoqConnectConfig

Configuração para conexão ao servidor de retransmissão. relayEndpoints/publishTracks/subscribeTracks são matrizes de estilo C com um comprimento. A memória do array é mantida pelo chamador e precisa permanecer válida somente durante o connect ligue.

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 de hash do espaço de trabalho
relayEndpoints const AoqRelayEndpoint* Conjunto de pontos de acesso de retransmissão
relayEndpointsCount size_t Número de pontos de acesso de retransmissão
publishTracks const AoqTrackParam* Matriz de atributos de faixa de publicação local
publishTracksCount size_t Número de faixas de publicação
subscribeTracks const AoqTrackParam* Matriz de atributos de faixa de assinatura local
subscribeTracksCount size_t Número de faixas inscritas

AoqRelayEndpoint

Um ponto de acesso de retransmissão.

Campo Tipo Valor padrão Descrição
route_index int -1 Índice de caminho
endpoint const char* nullptr Endereço do servidor (nome de domínio ou endereço IP)
port int 0 Porta do servidor
tcp_port int 0 Porta de reserva TCP. Um valor 0 usa a porta padrão do SDK, 443.

AoqTrackParam

O atributo de trilha.

Campo Tipo Valor padrão Descrição
trackType AoqTrackType Audio Tipo de trilha
trackMode AoqTrackMode Segment Modo de streaming ou não streaming. Efetivo apenas para downlink de áudio.

AoqDataMsg

A estrutura de dados da mensagem. Quando usado em um retorno de chamada, é garantido que será válido apenas durante o retorno de chamada. Se precisar usá-lo de forma assíncrona, copie você mesmo.

Campo Tipo Descrição
data const uint8_t* Conteúdo da mensagem. Aponta para a memória mantida pelo chamador.
dataSize size_t Número de bytes

Tipos de estatísticas

####AoqStats

Estatísticas do motor. Cada array de estatísticas é fornecido como um ponteiro e uma contagem.

Campo Tipo Descrição
audioPublishStats/audioPublishStatsCount const AoqAudioPublishStats*/unsigned int Conjunto de estatísticas de publicação de áudio e número de entradas
videoPublishStats/videoPublishStatsCount const AoqVideoPublishStats*/unsigned int Matriz de estatísticas de publicação de vídeo e número de entradas
dataMsgPublishStats/dataMsgPublishStatsCount const AoqDataMsgPublishStats*/unsigned int Conjunto de estatísticas de publicação para mensagens de dados e número de entradas
audioSubscribeStats/audioSubscribeStatsCount const AoqAudioSubscribeStats*/unsigned int Matriz de estatísticas de assinatura de áudio e número de entradas
videoSubscribeStats/videoSubscribeStatsCount const AoqVideoSubscribeStats*/unsigned int Matriz de estatísticas de inscrição para vídeo e número de entradas
dataMsgSubscribeStats/dataMsgSubscribeStatsCount const AoqDataMsgSubscribeStats*/unsigned int Matriz de estatísticas de assinatura para mensagens de dados e número de entradas
networkStats const AoqNetworkStats* Estatísticas da rede

####AoqNetworkStats

Estatísticas da rede.

Campo Tipo Descrição
sendBitrate unsigned int Taxa de bits de envio, em bit/s
sendBytes uint64_t Bytes cumulativos enviados
recvBitrate unsigned int Taxa de bits de recepção, em bit/s
recvBytes uint64_t Bytes acumulados recebidos
loss unsigned int Taxa de perda de pacotes, de 0 a 100
rtt unsigned int Latência de ida e volta, em ms

AoqAudioPublishStats

Publicação de estatísticas para áudio.

Campo Tipo Descrição
trackType AoqTrackType Tipo de trilha
bitrate unsigned int Taxa de bits, em bits/s
bytes uint64_t Bytes cumulativos
encodeVolume unsigned int Volume de codificação do fluxo de publicação

####AoqVideoPublishStats

Publicação de estatísticas para vídeo.

Campo Tipo Descrição
trackType AoqTrackType Tipo de trilha
bitrate unsigned int Taxa de bits, em bits/s
bytes uint64_t Bytes cumulativos
encodeFps unsigned int Taxa de quadros de codificação

AoqDataMsgPublishStats

Publicação de estatísticas para mensagens de dados.

Campo Tipo Descrição
trackType AoqTrackType Tipo de trilha
bitrate unsigned int Taxa de bits, em bits/s
bytes uint64_t Bytes cumulativos

AoqAudioSubscribeStats

Assinando estatísticas para áudio.

Campo Tipo Descrição
trackType AoqTrackType Tipo de trilha
bitrate unsigned int Taxa de bits, em bits/s
bytes uint64_t Bytes cumulativos
playVolume unsigned int Volume de reprodução

AoqVideoSubscribeStats

Inscrever estatísticas para vídeo.

Campo Tipo Descrição
trackType AoqTrackType Tipo de trilha
bitrate unsigned int Taxa de bits, em bits/s
bytes uint64_t Bytes cumulativos
decodeFps unsigned int Taxa de quadros de decodificação
renderFps unsigned int Taxa de quadros de renderização

AoqDataMsgSubscribeStats

Inscrever estatísticas para mensagens de dados.

Campo Tipo Descrição
trackType AoqTrackType Tipo de trilha
bitrate unsigned int Taxa de bits, em bits/s
bytes uint64_t Bytes cumulativos

Enumerações

AoqErrorCode

Enumeração de código de erro.

Valor enum Valor Descrição
AoqECOK 0 Sucesso
AoqECParamInvalid 1 Parâmetro inválido
AoqECStateInvalid 2 Estado inválido
AoqECUnSupport 3 A API é chamada, mas não está implementada na plataforma atual ou no modo atual
AoqECAudio 100 Erro genérico de áudio
AoqECAudioExternalBufferFull 110 O buffer de áudio externo está cheio
AoqECAudioDevice 120 Erro genérico do dispositivo de áudio
AoqECAudioDeviceRecordingAuthFailed 121 Permissão de gravação não concedida
AoqECAudioDeviceRecordingOccupied 122 O dispositivo de gravação está em uso
AoqECAudioDeviceRecordingBackgroundStart 123 Comece a gravar em segundo plano
AoqECAudioDeviceRecordingStartFail 124 Falha ao iniciar a gravação
AoqECAudioDevicePlayoutOccupied 125 O dispositivo de reprodução está em uso
AoqECAudioDevicePlayoutBackgroundStart 126 Iniciar a reprodução em segundo plano
AoqECAudioDevicePlayoutStartFail 127 Falha ao iniciar a reprodução
AoqECAudioDeviceEarpieceRequiresVoipMode 128 O modo receptor requer que o VoIP esteja habilitado
AoqECVideo 200 Erro genérico de vídeo
AoqECVideoExternalBufferFull 210 O buffer de vídeo externo está cheio
AoqECVideoExternalCaptureNotEnabled 211 A captura de vídeo externa não está habilitada
AoqECVideoExternalEncoderNotEnabled 212 A codificação de vídeo externa não está habilitada
AoqECVideoDevice 220 Erro genérico do dispositivo de vídeo
AoqECVideoDeviceCameraOpenFail 221 Falha ao abrir a câmera
AoqECVideoDeviceCameraAuthFailed 222 Permissão de câmera não concedida
AoqECVideoDeviceCameraOccupied 223 A câmera está em uso
AoqECVideoDeviceCameraRunningError 224 Erro de tempo 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 criar a visualização de renderização
AoqECVideoRenderDrawError 242 Erro de desenho de renderização
AoqECScreen 300 Erro geral de compartilhamento de tela
AoqECScreenAuthFailed 310 Permissão de compartilhamento de tela negada
AoqECScreenStartFailed 311 Falha ao iniciar o compartilhamento de tela

AoqWarningCode

Enumeração de código de aviso.

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

AoqTrackType

Tipo de trilha.

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

AoqEncoderType

Tipo de codificador.

Valor enum Valor Descrição
AoqEncoderTypeUnknown 0 Formato desconhecido
AoqEncoderTypeAudioPCM 1 Áudio PCM
AoqEncoderTypeAudioOpus 2 Audio Opus (baseado em plug-in; entre em contato com a equipe do SDK para integrá-lo ou baixá-lo dinamicamente no aplicativo)
AoqEncoderTypeVideoH264 3 Vídeo H.264
AoqEncoderTypeVideoJpeg 4 Vídeo JPEG
AoqEncoderTypeDataText 5 Texto da mensagem

Modo AoqTrack

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

Valor enum 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 motor.

Valor enum 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 deve ser usada 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 deve ser usada reprodução externa
channel int 1 Número de canais de reprodução de áudio. 1 e 2 são suportados.

AoqAudioCodecConfig

Configuração do codec de áudio.

Campo Tipo Valor padrão Descrição
trackType AoqTrackType Audio Tipo de trilha
codecType AoqEncoderType AudioOpus Formato de codec
sampleRate int 48000 Taxa de amostragem, em Hz. Para codificação, são suportados Opus 8/16/48K e PCM 8/16/32/48K. Para decodificação, 24K também é suportado, mas 24K é limitado ao modo Segmento. O modo Stream não oferece suporte a 24K e uma combinação inválida aciona o retorno de chamada 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 bits/s

AoqAudioDeviceState

Estado do dispositivo de áudio.

Campo Tipo Descrição
state AoqAudioDeviceStateCode Código de estado
reason int Código de erro (AoqErrorCode)

AoqAudioDeviceStateCode

Código de estado do dispositivo de áudio.

Valor enum Valor Descrição
AoqAudioDeviceNone 0 Nenhum estado
AoqAudioDeviceRecordStarting 1 Captura começando
AoqAudioDeviceRecordStarted 2 Captura iniciada
AoqAudioDeviceRecordStopping 3 Parada de captura
AoqAudioDeviceRecordStopped 4 Captura interrompida
AoqAudioDeviceRecordFail 5 Falha na captura
AoqAudioDevicePlayStarting 6 Início da reprodução
AoqAudioDevicePlayStarted 7 A reprodução começou
AoqAudioDevicePlayStopping 8 Parada de reprodução
AoqAudioDevicePlayStopped 9 A reprodução parou
AoqAudioDevicePlayFail 10 Falha na reprodução

AoqAudioDeviceRouteType

Tipo de rota do dispositivo de áudio.

Valor enum Valor Descrição
AoqAudioDeviceRouteDefault 0 Padrão
AoqAudioDeviceRouteHeadset 1 Fones de ouvido
AoqAudioDeviceRouteEarpiece 2 Receptor
AoqAudioDeviceRouteHeadsetNoMic 3 Fones de ouvido sem microfone
AoqAudioDeviceRouteSpeakerPhone 4 Alto-falante embutido
AoqAudioDeviceRouteUsb 5 USB
AoqAudioDeviceRouteBluetooth 6 Bluetooth
AoqAudioDeviceRouteBluetoothA2dp 7 Bluetooth A2DP

AoqAudioFileMixConfig

Configuração para reproduzir um arquivo de áudio no fluxo 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 estado
errorCode AoqAudioFileErrorCode Código de erro

AoqAudioFileStateCode

Código de estado do arquivo de áudio.

Valor enum Valor Descrição
AoqAudioFileNone 0 Nenhum estado
AoqAudioFileStarted 1 Iniciado
AoqAudioFileStopped 2 Parado
AoqAudioFilePaused 3 Pausado
AoqAudioFileResumed 4 Retomada
AoqAudioFileEnded 5 Reprodução concluída
AoqAudioFileBuffering 6 Buffer
AoqAudioFileBufferingEnd 7 O buffer terminou
AoqAudioFileFailed 8 Falha na reprodução

AoqAudioFileErrorCode

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

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

AoqAudioExternalStreamConfig

Configuração de fluxo de áudio externo.

Campo Tipo Valor padrão Descrição
trackType AoqTrackType Audio Tipo de trilha de áudio
codecType AoqEncoderType AudioPCM Formato de fluxo de áudio. PCM é suportado.
channels int 1 Número de canais. É limitado pelo codec de áudio do fluxo 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 e acima. Se a duração do buffer no SDK exceder esse valor, o Push falhará.
enable3A bool false Especifica se o processamento 3A deve ser aplicado 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 (utilizada para notificação de conclusão de consumo de pushAudioExternalStreamData)
timeStamp int64_t Carimbo de data/hora
dataSize int Comprimento dos dados
autoGenMute bool Válido em retornos de chamada de dados. true indica dados silenciosos gerados pelo SDK.

AoqAudioStreamDirection

Direção do fluxo de áudio.

Valor enum Valor Descrição
AoqAudioStreamPublish 0 Publicação de áudio
AoqAudioStreamPlayout 1 Áudio de reprodução

AoqAudioExternalStreamToggle

Controle de fluxo de áudio externo.

Valor enum Valor Descrição
AoqAudioExternalStreamToggleNormal 0 Recuperado
AoqAudioExternalStreamTogglePause 1 Pausado

AoqAudioSource

Tipo da fonte de dados de áudio.

Valor enum 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 um Connect bem-sucedido)
AoqAudioSourcePlayback 3 Dados de áudio a serem reproduzidos

AoqAudioObserverMode

Modo de retorno de chamada de quadro de áudio.

Valor enum Valor Descrição
AoqAudioObserverModeReadOnly 0 Somente leitura
AoqAudioObserverModeReadWrite 1 Ler-escrever

AoqAudioObserverConfig

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

Campo Tipo Valor padrão Descrição
sampleRate int 48000 Taxa de amostragem do áudio de retorno de chamada. É limitado pela fonte. A reamostragem é realizada se as taxas não corresponderem. 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 retorno de chamada. 1 e 2 são suportados. Este parâmetro é limitado pelos parâmetros do codec do fluxo de assinatura.
mode AoqAudioObserverMode ReadOnly Modo de retorno de chamada

AoqAudioVolumeIndicaçãoConfig

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

Campo Tipo Valor padrão Descrição
reportSpeech bool false Seja para detectar fala.
interval int 0 Intervalo de retorno de chamada em milissegundos. Valores de 0 ou menos desabilitam retornos de chamada; valores entre 0 e 10 usam 10.
smooth int 3 Fator de suavização, de 0 a 10. Valores mais altos produzem resultados mais suaves.

AoqAudioVolume

Informações de volume local.

Campo Tipo Valor padrão Descrição
isSpeech bool false Se a fala foi detectada.
volume int 0 Volume instantâneo suavizado, de 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 da captura, em pixels. Este parâmetro é ineficaz quando isExternal=true.
height int 720 Altura da 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 do quadro).
isExternal bool false Especifica se a captura externa deve ser usada. Se for true, a câmera não é aberta e os quadros são alimentados por pushExternalVideoCapturedFrame.

####AoqVideoCanvas

Estrutura de dados para renderização de vídeo. view é um ponteiro opaco para o identificador de visualização nativo da plataforma. No Windows, passe o identificador da janela HWND. O chamador deve garantir que o ciclo de vida do view dura mais do que o período durante o qual é definido pelo setLocalView/setRemoteView.

Campo Tipo Valor padrão Descrição
view void* nullptr Identificador da visualização de exibição (HWND). Passe nullptr para remover a ligação de renderização.
renderMode AoqRenderMode Auto Modo de renderização

AoqRenderMode

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

Valor enum Valor Descrição
AoqRenderModeAuto 0 Modo automático
AoqRenderModeStretch 1 Modo esticar para preencher. Quando as proporções não correspondem, a imagem é esticada até a proporção desejada e fica distorcida.
AoqRenderModeFill 2 Modo caixa de correio. Quando as proporções não correspondem, barras pretas são adicionadas na parte superior e inferior ou à esquerda e à direita.
AoqRenderModeCrop 3 Modo de corte. Quando as proporções não correspondem, a largura ou a altura são cortadas e parte da imagem é perdida.

####AoqVideoPixelFormat

Formato de pixel de vídeo.

Valor enum 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 pixels
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 aviões I420
strideY/strideU/strideV int Passo dos três aviões I420
timeStamp int64_t Carimbo de data e hora, em ms. Se for 0, o SDK o preenche com o relógio local.
nativePixelBuffer void* Campo multiplataforma. Não usado no Windows.
textureId int Campo multiplataforma. Não usado no Windows.
transformMatrix float[16] Campo multiplataforma. Não usado no Windows.

AoqVideoEncodedFrame

Um quadro de vídeo codificado externamente. O chamador executa a codificação e o SDK empacota e envia o quadro diretamente, sem recodificação.

Campo Tipo Descrição
codec AoqVideoCodecType Formato de 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 Carimbo de data e hora, em ms. Se for 0, o SDK o preenche com o relógio local.

AoqVideoCodecType

O tipo de codec do quadro codificado externamente.

Valor enum Valor Descrição
AoqVideoCodecTypeJPEG 0 JPEG

AoqVideoDeviceState

Estado do dispositivo de vídeo.

Campo Tipo Descrição
state AoqVideoDeviceStateCode Código de estado
reason int Código de erro (AoqErrorCode)

AoqVideoDeviceStateCode

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

Valor enum Valor Descrição
AoqVideoDeviceNone 0 Nenhum estado
AoqVideoDeviceCaptureStarting 1 Iniciando a câmera
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 enum Valor Descrição
AoqMirrorModeDisabled 0 Desativar espelhamento
AoqMirrorModeEnabled 1 Habilitar espelhamento

AoqOrientationMode

Modo de orientação.

Valor enum Valor Descrição
AoqOrientationModeAuto 0 Automóvel
AoqOrientationModePortrait 1 Retrato
AoqOrientationModeLandscape 2 Paisagem

AoqVideoCodecConfig

Parâmetros do codec de vídeo, que são compartilhados por codificação e decodificação. Para decodificação, apenas trackType/codecType/width/height/fps/bitrate entrar em vigor e participar da negociação como proposta de subscrição, 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 quadros codificados e o SDK não executa captura ou codificação.
trackType AoqTrackType Video Tipo de trilha
codecType AoqEncoderType VideoH264 Formato de 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 quadro-chave, em segundos
mirrorMode AoqMirrorMode Disabled Modo espelho
orientationMode AoqOrientationMode Auto Modo de orientação

AoqVideoSource

Fonte de dados do retorno de chamada do quadro de vídeo (posição no pipeline).

Valor enum 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 remotos após decodificação e antes da renderização

AoqVideoObserverMode

Modo de retorno de chamada de quadro de vídeo.

Valor enum Valor Descrição
AoqVideoObserverModeReadOnly 0 Somente leitura
AoqVideoObserverModeReadWrite 1 Ler-escrever

AoqVideoObserverAlignment

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

Valor enum Valor Descrição
AoqVideoObserverAlignmentDefault 0 Padrão
AoqVideoObserverAlignmentEven 1 Alinhamento de números pares
AoqVideoObserverAlignment4 2 Alinhamento de 4 bytes
AoqVideoObserverAlignment8 3 Alinhamento de 8 bytes
AoqVideoObserverAlignment16 4 Alinhamento de 16 bytes

AoqVideoObserverConfig

Configurações de parâmetros para retornos de chamada de dados de vídeo.

Campo Tipo Valor padrão Descrição
format AoqVideoPixelFormat I420 Formato de pixel esperado dos dados de retorno de chamada
alignment AoqVideoObserverAlignment Default Política de alinhamento de largura
mode AoqVideoObserverMode ReadOnly Modo de retorno de chamada. ReadWrite é compatível apenas com I420.
mirrorApplied bool false Especifica se os dados de retorno de chamada devem ser espelhados
trackType AoqTrackType AoqTrackTypeVideo Trilha de vídeo para observar. Suporta apenas vídeo e tela.