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

índice API

#SDK Android

Referência da API AOQ Android SDK

Referência completa da API Java para o SDK do cliente AOQ no Android, abrangendo o ciclo de vida do mecanismo, captura e reprodução de áudio/vídeo, configuração de codec, mensagens em tempo real e retornos de chamada de quadro.

índice API

Ciclo de vida do motor

API Descrição
criarEngine Crie a instância do mecanismo (singleton)
destruir Destrua a instância do mecanismo
getVersão Obtenha a string da versão do SDK
conectar Conecte-se ao servidor de retransmissão
desconectar Desconectar do servidor

Gerenciamento de dispositivos de áudio

API Descrição
iniciarAudioCapture Abra o dispositivo de captura de áudio (microfone)
pararAudioCaptura Feche o dispositivo de captura de áudio
muteAudioCapture Ativar ou ativar captura de áudio
iniciarAudioPlayer Iniciar a reprodução de áudio (reproduzir áudio remoto)
pararAudioPlayer Pare a reprodução de áudio
pausaAudioPlayer Pause a reprodução de áudio com fade-out opcional
retomarAudioPlayer Retomar a reprodução de áudio com fade-in opcional
interromperAudioPlayer Interromper a chamada de áudio atual
ativar viva-voz Alternar a saída de áudio entre alto-falante e fone de ouvido
está viva-voz habilitado Consultar se o alto-falante está atualmente ativo
enableLocalAudioVolumeIndicação Configurar indicação de volume de captura local

Configuração do codec de áudio

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

Gerenciamento de dispositivos de vídeo

API Descrição
iniciarVideoCapture Abra o dispositivo de captura de vídeo (câmera)
pararVideoCapture Feche o dispositivo de captura de vídeo
mudarCâmera Alternar entre câmeras frontal e traseira
definirLocalView Definir ou remover a visualização de renderização de vídeo local
definirRemoteView Definir ou remover a visualização de renderização remota de vídeo
iniciarScreenCapture Iniciar captura de tela
pararScreenCapture 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
pushExternalVideoCapturedFrame Enviar um quadro de vídeo bruto capturado externamente
pushExternalVideoEncodedFrame Enviar um quadro de vídeo codificado externamente
setVideoDecoderConfig Definir parâmetros de decodificação de vídeo

Controle de fluxo de mídia/mensagens em tempo real

API Descrição
ativarSendMediaStream Habilitar ou desabilitar envio de fluxo de mídia local
enviarDataMsg Envie uma mensagem de dados em tempo real

Reprodução de arquivo de áudio

API Descrição
startAudioFile Comece a transmitir um arquivo de áudio local
pararAudioFile Pare a reprodução do arquivo de áudio
pausaAudioFile Pausar a reprodução do arquivo de áudio
retomarÁudioArquivo Retomar a reprodução do arquivo de áudio
getAudioFileDuration Obtenha a duração total do arquivo de áudio
getAudioFileCurrentPosition Obtenha a posição de reprodução atual
setAudioFilePositionMillis Busque uma posição no arquivo de áudio
setAudioFileVolume Defina o volume do arquivo de áudio
getAudioFileVolume Obtenha o volume atual do arquivo de áudio

Fluxos de áudio externos

API Descrição
addAudioExternalStream Adicione um fluxo de áudio externo
removerAudioExternalStream Remover um fluxo de áudio externo
pushAudioExternalStreamData Enviar dados de áudio PCM externos
setAudioExternalStreamVolume Definir o volume para um fluxo de áudio externo
getAudioExternalStreamVolume Obtenha o volume de um fluxo de áudio externo
clearAudioExternalStreamBuffer Limpe o buffer para um fluxo de áudio externo

Retornos de chamada de quadro de áudio/vídeo

API Descrição
setAudioFrameObserver Definir o ouvinte de retorno de chamada de dados do quadro de áudio
ativarAudioFrameObserver Habilitar ou desabilitar retornos de chamada de quadro de áudio em um ponto especificado
setVideoFrameObserver Definir o ouvinte de retorno de chamada de dados do quadro de vídeo
ativarVideoFrameObserver Ativar ou desativar retornos de chamada de quadro de vídeo em um ponto especificado

Retornos de chamada AoqClientListener

Retorno de chamada Descrição
onError Retorno de chamada de erro do mecanismo
emAviso Retorno de chamada de aviso do motor
onConnectionStatusAlterar Retorno de chamada de mudança de estado de conexão
onStats Retorno de chamada de estatísticas do mecanismo
onAudioDeviceStateChanged Retorno de chamada de mudança de estado do dispositivo de áudio
onAudioDeviceRouteChanged Retorno de chamada de mudança de rota de saída de áudio
onAudioDeviceInterrompido Retorno de chamada de interrupção de dispositivo de áudio
onVideoDeviceStateChanged Retorno de chamada de mudança de estado do dispositivo de vídeo
onAudioDeviceFocusAlterado Retorno de chamada de mudança de foco de áudio
onAudioFileState Retorno de chamada do estado de reprodução do arquivo de áudio
onDataMsg Mensagem de dados em tempo real recebeu retorno de chamada
onLocalAudioVolumeIndicação Retorno de chamada de volume de captura local
onScreenCaptureStateChanged Retorno de chamada do estado de captura de tela

Detalhes da API

Requisitos de entrada de vídeo externa

pushExternalVideoCapturedFrame suporta vídeo e tela. Habilite primeiro a captura externa na trilha correspondente; caso contrário, ele retorna AoqECVideoExternalCaptureNotEnabled (211).

Captura de tela

public abstract int startScreenCapture(@NonNull AoqScreenCaptureConfig config)
public abstract int stopScreenCapture()

trackType suporta AoqTrackTypeAudio, AoqTrackTypeVideoe AoqTrackTypeScreen.

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

Para começar, 0 significa que a solicitação foi aceita; onScreenCaptureStateChanged relata o resultado de forma assíncrona. Um retorno diferente de zero rejeita a solicitação de forma síncrona. Stop retorna 0 em caso de sucesso ou um valor diferente de zero em caso de falha e relata o estado interrompido por meio desse retorno de chamada.

Com isExternal=false, o SDK captura por meio do MediaProjection. Iniciar a captura novamente enquanto ela está ativa retorna AoqECStateInvalid; parar é idempotente.

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; startScreenCapture não é obrigatório.

onScreenCaptureStateChanged

public void onScreenCaptureStateChanged(@NonNull AoqScreenCaptureState state) {}

state contém o estado da captura de tela. Iniciado significa que a captura ou entrada externa está pronta, e não que a mídia foi enviada. Falhas de captura de tela também não são relatadas por meio de onError. Fail e Stopped são estados terminais emitidos após a limpeza.

###setVideoDecoderConfig

public abstract int setVideoDecoderConfig(@NonNull AoqVideoCodecConfig config)

config especifica configurações de decodificação de vídeo. Somente os seguintes campos terão efeito: trackType, codecType, width, height, fps, bitrate. Outros campos aplicam-se apenas à codificação.

A tela não suporta decodificação downstream. Se config.trackType é Tela, o método retorna AoqECUnSupport sem aplicar a configuração.

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

enableLocalAudioVolumeIndication

public abstract int enableLocalAudioVolumeIndication(@NonNull AoqAudioVolumeIndicationConfig config)

config especifica configurações de indicação de volume. Os retornos de chamada são emitidos em config.interval. Chame esse método depois startAudioCapture.

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

public void onLocalAudioVolumeIndication(@NonNull AoqAudioVolume volume) {}

O volume argumento de retorno de chamada contém o volume de captura local.

Ciclo de vida do motor

criarEngine

Crie a instância do mecanismo. O SDK mantém o mecanismo como um singleton global; chamar esse método novamente retorna a instância existente.

@NonNull
public static AoqClientEngine createEngine(
    @NonNull Context context,
    @NonNull AoqCreateConfig config,
    @NonNull AoqClientListener listener)
Parâmetro Tipo Descrição
contexto Contexto Contexto do aplicativo Android
configuração AoqCreateConfig Configuração de criação do motor
ouvinte AoqClientListener Ouvinte de retorno de chamada de evento do mecanismo

Retorna: instância AoqClientEngine; nunca nulo.

destruir

Destrua a instância do mecanismo e libere todos os recursos.

public static int destroy()

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

obter versão

@NonNull
public static String getVersion()

Retorna: String de versão, por exemplo "1.0.0".

conectar

Conecte-se ao servidor de retransmissão. Os parâmetros de conexão são alocados pelo servidor de aplicação via /api/v1/allocate e entregue ao cliente.

public abstract int connect(@NonNull AoqConnectConfig config)

Retorna: 0 se a chamada foi despachada (assíncrona); diferente de zero se a validação do parâmetro falhou.

desconectar

public abstract int disconnect()

Retorna: 0 se a chamada foi despachada (assíncrona); diferente de zero em caso de falha.

Gerenciamento de dispositivos de áudio

public abstract int startAudioCapture(@NonNull AoqAudioCaptureConfig config)
public abstract int stopAudioCapture()
public abstract int muteAudioCapture(boolean mute)
public abstract int startAudioPlayer(@NonNull AoqAudioPlaybackConfig config)
public abstract int stopAudioPlayer()
public abstract int pauseAudioPlayer(int fadeMs)
public abstract int resumeAudioPlayer(int fadeMs)
public abstract int interruptAudioPlayer(@NonNull AoqTrackType trackType, int fadeMs)
public abstract int enableSpeakerphone(boolean enable)
public abstract boolean isSpeakerphoneEnabled()

fadeMs: duração do fade-out/fade-in em milissegundos; 0 significa imediato.

Configuração do codec de áudio

public abstract int setAudioEncoderConfig(@NonNull AoqAudioCodecConfig config)
public abstract int setAudioDecoderConfig(@NonNull AoqAudioCodecConfig config)

Gerenciamento de dispositivos de vídeo

public abstract int startVideoCapture(@NonNull AoqVideoCaptureConfig config)
public abstract int stopVideoCapture()
public abstract int switchCamera(@NonNull AoqCameraDirection direction)
public abstract int setLocalView(@NonNull AoqTrackType trackType, @Nullable AoqVideoCanvas canvas)
public abstract int setRemoteView(@NonNull AoqTrackType trackType, @Nullable AoqVideoCanvas canvas)

Passe AoqTrackTypeVideo como o trackType parâmetro para setLocalView e setRemoteView.

Codificação de vídeo e entrada externa

public abstract int setVideoEncoderConfig(@NonNull AoqVideoCodecConfig config)
public abstract int pushExternalVideoCapturedFrame(@NonNull AoqTrackType trackType, @NonNull AoqVideoFrame frame)
public abstract int pushExternalVideoEncodedFrame(@NonNull AoqTrackType trackType, @NonNull AoqVideoEncodedFrame frame)

pushExternalVideoCapturedFrame consome quadros de vídeo depois startVideoCapture(isExternal=true) e quadros de tela depois startScreenCapture(isExternal=true). Se o buffer interno estiver cheio, o método retornará AoqECVideoExternalBufferFull (210).

Controle de fluxo de mídia

public abstract int enableSendMediaStream(@NonNull AoqTrackType trackType, boolean enable)

Padrão recomendado: chamada enableSendMediaStream(false) após a inicialização, ative uma vez onConnectionStatusChange relatórios Connected.

Reprodução de arquivo de áudio

public abstract int startAudioFile(@NonNull String fileId, @NonNull AoqAudioFileMixConfig config)
public abstract int stopAudioFile(@NonNull String fileId)
public abstract int pauseAudioFile(@NonNull String fileId)
public abstract int resumeAudioFile(@NonNull String fileId)
public abstract long getAudioFileDuration(@NonNull String fileId)
public abstract long getAudioFileCurrentPosition(@NonNull String fileId)
public abstract int setAudioFilePositionMillis(@NonNull String fileId, long positionMillis)
public abstract int setAudioFileVolume(@NonNull String fileId, @NonNull AoqAudioStreamDirection type, int volume)
public abstract int getAudioFileVolume(@NonNull String fileId, @NonNull AoqAudioStreamDirection type)

Fluxos de áudio externos

public abstract int addAudioExternalStream(@NonNull String streamId, @NonNull AoqAudioExternalStreamConfig config)
public abstract int removeAudioExternalStream(@NonNull String streamId)
public abstract int pushAudioExternalStreamData(@NonNull String streamId, @NonNull AoqAudioFrameData data)
public abstract int setAudioExternalStreamVolume(@NonNull String streamId, @NonNull AoqAudioStreamDirection type, int volume)
public abstract int getAudioExternalStreamVolume(@NonNull String streamId, @NonNull AoqAudioStreamDirection type)
public abstract void clearAudioExternalStreamBuffer(@NonNull String streamId, int fadeoutMs)

Quando pushAudioExternalStreamData retorna AoqErrorCodeAudioExternalBufferFull (110), o buffer interno está cheio. Aguarde 30 ms e tente novamente.

Mensagens em tempo real

public abstract int sendDataMsg(@NonNull AoqDataMsg msg)

Retornos de chamada de quadro de áudio

public abstract int setAudioFrameObserver(@Nullable AoqClientListener.AoqAudioFrameListener listener)
public abstract int enableAudioFrameObserver(boolean enabled, @NonNull AoqAudioSource audioSource, @NonNull AoqAudioObserverConfig config)

Retornos de chamada de quadro de vídeo

public abstract int setVideoFrameObserver(@Nullable AoqClientListener.AoqVideoFrameListener listener)
public abstract int enableVideoFrameObserver(boolean enabled, @NonNull AoqVideoSource videoSource, @NonNull AoqVideoObserverConfig config)

Retornos de chamada AoqClientListener

AoqClientListener é o ponto de entrega unificado para todos os eventos assíncronos do SDK. Todos os métodos de retorno de chamada têm uma implementação vazia padrão, portanto, você só precisa substituir aqueles de seu interesse.

public void onError(int code, String message)
public void onWarning(int code, String message)
public void onConnectionStatusChange(@NonNull AoqConnectionStatus status)
public void onStats(@NonNull AoqStats stats)
public void onAudioDeviceStateChanged(@NonNull AoqAudioDeviceState state)
public void onAudioDeviceRouteChanged(int routeType)
public void onAudioDeviceInterrupted(boolean interrupt)
public void onVideoDeviceStateChanged(@NonNull AoqVideoDeviceState state)
public void onAudioDeviceFocusChanged(int audioFocus)
public void onAudioFileState(@NonNull AoqAudioFileState state)
public void onDataMsg(@NonNull AoqDataMsg msg)

Transições de estado de conexão: Desconectado → Conectando → Conectado/Falha → Desconectado.

AoqAudioFrameListener

public interface AoqAudioFrameListener {
    default void onCapturedAudioFrame(@NonNull AoqAudioFrameData frame) {}
    default void onProcessCapturedAudioFrame(@NonNull AoqAudioFrameData frame) {}
    default void onPublishAudioFrame(@NonNull AoqTrackType trackType, @NonNull AoqAudioFrameData frame) {}
    default void onPlaybackAudioFrame(@NonNull AoqAudioFrameData frame) {}
}

AoqVideoFrameListener

public interface AoqVideoFrameListener {
    default boolean onCapturedVideoFrame(@NonNull AoqTrackType trackType, @NonNull AoqVideoFrameData frame) { return false; }
    default boolean onPreEncodeVideoFrame(@NonNull AoqTrackType trackType, @NonNull AoqVideoFrameData frame) { return false; }
    default boolean onRemoteVideoFrame(@NonNull AoqTrackType trackType, @NonNull AoqVideoFrameData frame) { return false; }
}

Retorno true para indicar que você modificou os dados do quadro e want o SDK para lê-lo (o write-back só entra em vigor no formato I420). O ByteBuffer e textureId em frame são válidos apenas durante o retorno de chamada; copie-os antes de qualquer uso assíncrono.

Tipos de dados e enumerações

AoqScreenCaptureState

Campo Tipo Padrão Descrição
estado AoqScreenCaptureStateCode AoqScreenCaptureNone Estado de captura de tela.
motivo interno 0 0 para estados normais; um AoqErrorCode em caso de falha.

AoqScreenCaptureStateCode

Valor Número Descrição
AoqScreenCaptureNone 0 Nenhum
AoqScreenCaptureIniciando 1 Iniciando
AoqScreenCaptureiniciado 2 Entrada pronta; não indica transmissão
AoqScreenCaptureStopping 3 Parando
AoqScreenCaptureStopped 4 Parado
AoqScreenCaptureFail 5 Falha no início ou no tempo de execução

AoqScreenShareNotificationFactory

public interface AoqScreenShareNotificationFactory {
    @Nullable Notification createNotification(@NonNull Context serviceContext);
}

Retorne null para usar a notificação padrão. Crie o NotificationChannel com createNotificationChannel antes de retornar uma notificação personalizada; caso contrário, o serviço em primeiro plano não será iniciado.

AoqScreenCaptureConfig

Campo Tipo Padrão Descrição
éExterno booleano falso Se o aplicativo fornece quadros de tela brutos.
mediaProjectionIntent Intenção nulo Passe uma intenção de permissão MediaProjection existente ou nulo para permitir que o SDK solicite permissão. Ignorado para captura externa.
notificaçãoFábrica AoqScreenShareNotificationFactory nulo Fábrica de notificação de serviço em primeiro plano. Nulo usa a notificação padrão. Ignorado para captura externa.

AoqAudioVolume

Campo Tipo Padrão Descrição
éFala booleano falso Se a fala foi detectada.
volume interno 0 Volume instantâneo suavizado, de 0 a 255.

AoqAudioVolumeIndicaçãoConfig

Campo Tipo Padrão Descrição
relatórioDiscurso booleano falso Seja para detectar fala.
intervalo interno 0 Intervalo de retorno de chamada em milissegundos. Valores de 0 ou menos desabilitam retornos de chamada; valores entre 0 e 10 usam 10.
suave interno 3 Fator de suavização, de 0 a 10. Valores mais altos produzem resultados mais suaves.

AoqTrackParam.trackMode

Campo Tipo Padrão Descrição
modo de trilha Modo AoqTrack AoqTrackModeSegmento Aplica-se apenas ao áudio downstream.

Modo AoqTrack

Valor Número Descrição
AoqTrackModeSegmento 0 Modo segmento: entrega dados em segmentos semânticos, como frases. Aplica-se apenas ao áudio downstream.
AoqTrackModeStream 1 Modo Stream: fornece dados continuamente. Aplica-se apenas ao áudio downstream.

Tipos gerais

AoqCreateConfig

Campo Tipo Padrão Descrição
trabalhoDir Corda "" Diretório de trabalho do SDK
isBTScoMode booleano falso verdadeiro: modo Bluetooth SCO; falso: modo A2DP
habilitarDumpÁudio booleano falso Habilitar despejo de áudio (para depuração)
extras Corda "" String de parâmetros extras
maxEncodedVideoFrameBytes interno 190×1024 Tamanho máximo do quadro codificado em bytes. Aplica-se apenas ao codificador JPEG interno do SDK.
enableDropOversizedVideoFrame booleano falso Para o codificador JPEG interno do SDK, é necessário descartar um quadro que permanece superdimensionado com a qualidade mais baixa.

AoqConnectConfig

subscribeTracks não deve incluir AoqTrackTypeScreen; caso contrário, connect retorna AoqECUnSupport sem iniciar uma conexão. setRemoteView também retorna AoqECUnSupport para tela.

Campo Tipo Padrão Descrição
ficha Corda "" Token de autenticação
sid Corda "" ID da sessão
certificadoImpressão digital Corda "" Impressão digital do certificado do servidor
pontos finais de retransmissão Lista\
vazio Lista de terminais de retransmissão
espaço de trabalhoIdHash Corda "" Hash de ID do espaço de trabalho
publicar Trilhas Lista\
| vazio | Faixas locais para publicar |

| inscrever-seFaixas | Lista
| vazio | Faixas remotas para assinar |

Tipos de estatísticas

AoqNetworkStats

Campo Tipo Descrição
enviarTaxa de bits interno Enviar taxa de bits (bps)
enviarBytes longo Bytes cumulativos enviados
taxa de bits recebida interno Receber taxa de bits (bps)
recvBytes longo Bytes acumulados recebidos
perda interno Taxa de perda de pacotes (0-100)
rt interno Tempo de ida e volta (ms)

Enumerações

AoqErrorCode

Valor enum Valor Descrição
AoqErrorCodeOK 0 Sucesso
AoqErrorCodeParamInválido 1 Parâmetro inválido
AoqErrorCodeStateInválido 2 Estado inválido
AoqErrorCodeUnSupport 3 Não suportado
AoqErrorCodeÁudio 100 Erro genérico de áudio
AoqErrorCodeAudioExternalBufferFull 110 Buffer de áudio externo cheio
AoqErrorCodeAudioDevice 120 Erro genérico do dispositivo de áudio
AoqErrorCodeAudioDeviceRecordingAuthFailed 121 Permissão de gravação não concedida
AoqErrorCodeAudioDeviceRecordingOccupied 122 Dispositivo de gravação em uso
AoqErrorCodeAudioDeviceRecordingBackgroundStart 123 Falha ao iniciar a gravação em segundo plano
AoqErrorCodeAudioDeviceRecordingStartFail 124 Falha no início da gravação
AoqErrorCodeAudioDevicePlayoutOccupied 125 Dispositivo de reprodução em uso
AoqErrorCodeAudioDevicePlayoutBackgroundStart 126 Falha ao iniciar a reprodução em segundo plano
AoqErrorCodeAudioDevicePlayoutStartFail 127 Falha no início da reprodução
AoqErrorCodeAudioDeviceEarpieceRequiresVoipMode 128 Fone de ouvido requer modo VoIP
AoqErrorCodeVídeo 200 Erro genérico de vídeo
AoqErrorCodeVideoExternalBufferFull 210 Buffer de vídeo externo cheio
AoqErrorCodeVideoExternalCaptureNotEnabled 211 Captura de vídeo externa não habilitada
AoqErrorCodeVideoExternalEncoderNotEnabled 212 Codificador de vídeo externo não ativado
AoqErrorCodeVideoDispositivo 220 Erro genérico do dispositivo de vídeo
AoqErrorCodeVideoDeviceCameraOpenFail 221 Falha ao abrir a câmera
AoqErrorCodeVideoDeviceCameraAuthFailed 222 Permissão de câmera não concedida
AoqErrorCodeVideoDeviceCameraOccupied 223 Câmera em uso
AoqErrorCodeVideoDeviceCameraRunningError 224 Erro de tempo de execução da câmera
AoqErrorCodeVideoCodec 230 Erro genérico do codec de vídeo
AoqErrorCodeVideoCodecEncoderInitFail 231 Falha na inicialização do codificador de vídeo
AoqErrorCodeVideoRender 240 Erro genérico de renderização de vídeo
AoqErrorCodeVideoRenderCreateFail 241 Falha na criação do renderizador de vídeo
AoqErrorCodeVideoRenderDrawError 242 Erro de renderização de vídeo
AoqECScreen 300 Erro geral de compartilhamento de tela
AoqECScreenAuthFailed 310 Permissão de compartilhamento de tela negada
AoqECScreenStartFailed 311 Falha ao iniciar o compartilhamento de tela

Código de aviso Aoq

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

AoqTrackType

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

AoqEncoderType

Valor enum Valor Descrição
AoqEncoderTypeUnknown 0 Formato desconhecido
AoqEncoderTypeAudioPCM 1 Áudio PCM
AoqEncoderTypeAudioOpus 2 Opus de áudio
AoqEncoderTypeVideoH264 3 Vídeo H.264
AoqEncoderTypeVideoJpeg 4 Vídeo JPEG
AoqEncoderTypeDataText 5 Texto de dados

AoqConnectionStatus

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

Tipos de áudio

AoqAudioCaptureConfig

Campo Tipo Padrão Descrição
éExterno booleano falso Se deve usar o modo de captura externa
isVoipMode booleano falso Se deve ativar o modo VoIP (afeta o roteamento do dispositivo, por exemplo, fone de ouvido)
canal interno 1 Contagem de canais (padrão: mono)

AoqAudioPlaybackConfig

Campo Tipo Padrão Descrição
isVoipMode booleano falso Se deve ativar o modo VoIP (hardware AEC); aplica-se a dispositivos móveis
isDefaultSpeaker booleano verdade Se o padrão é o alto-falante; aplica-se a dispositivos móveis
éExterno booleano falso Se deve usar o modo de reprodução externa
canal interno 1 Contagem de canais (padrão: mono)

AoqAudioCodecConfig

Campo Tipo Padrão Descrição
trackType AoqTrackType Áudio Tipo de trilha
tipo de codec AoqEncoderType ÁudioOpus Formato de codec
taxa de amostra interno 48.000 Taxa de amostragem (Hz)
canal interno 1 Contagem de canais
taxa de bits interno 32.000 Taxa de bits (bps)

Tipos de vídeo

AoqVideoCaptureConfig

Campo Tipo Padrão Descrição
largura interno 1280 Largura de captura (pixels); ignorado quando isExternal=true
altura interno 720 Altura de captura (pixels); ignorado quando isExternal=true
FPS interno 15 Taxa de quadros de captura; ignorado quando isExternal=true
éExterno booleano falso Modo de captura externa; quando verdadeiro, a câmera não está aberta
direção da câmera AoqCameraDireção Frente Direção da câmera; ignorado quando isExternal=true

AoqVideoCodecConfig

Campo Tipo Padrão Descrição
trackType AoqTrackType Vídeo Tipo de trilha
tipo de codec AoqEncoderType VídeoH264 Formato de codec
largura interno 540 Largura de codificação (pixels)
altura interno 960 Altura de codificação (pixels)
FPS interno 5 Taxa de quadros de codificação
taxa de bits interno 500000 Taxa de bits alvo (bps)
minTaxa de bits interno 128.000 Taxa de bits mínima (bps)
keyframeInterval interno 2 Intervalo de quadro-chave (segundos)
modo espelho AoqMirrorMode Desativado Modo espelho
modo de orientação AoqOrientationMode Automóvel Modo de orientação de vídeo
éExterno booleano falso Quando verdadeiro, o SDK ignora a recodificação; usar pushExternalVideoEncodedFrame entregar dados pré-codificados

AoqVideoPixelFormat

Valor enum Valor Descrição
AoqVideoPixelFormatUnknown 0 Formato desconhecido
AoqVideoPixelFormatI420 1 I420 (YUV plano)
AoqVideoPixelFormatNV12 2 NV12 (YUV semiplanar)
AoqVideoPixelFormatNV21 3 NV21 (YUV semiplanar)
AoqVideoPixelFormatBGRA 4 BGRA 32 bits
AoqVideoPixelFormatRGBA 5 RGBA de 32 bits
AoqVideoPixelFormatTextureOES 7 Textura OES externa
AoqVideoPixelFormatTexture2D 8 Textura 2D padrão

Tipos de fluxo de áudio externo

AoqAudioExternalStreamConfig

Campo Tipo Padrão Descrição
trackType AoqTrackType Áudio Tipo de faixa de áudio
tipo de codec AoqEncoderType ÁudioPCM Formato de fluxo de áudio
canais interno 1 Contagem de canais
taxa de amostra interno 48.000 Taxa de amostragem (Hz)
volume de reprodução interno 100 Volume de reprodução [0-100]
publicarVolume interno 100 Volume de publicação [0-100]
maxBufferDuration interno 1000 Duração máxima do buffer (milissegundos)
habilitar3A booleano falso Se deve aplicar o processamento 3A ao PCM de entrada

AoqAudioStreamDirection

Valor enum Valor Descrição
AoqAudioStreamPublicar 0 Publicar stream (enviar)
AoqAudioStreamPlayout 1 Fluxo de reprodução (receber)

Tipos de mensagens de dados

AoqDataMsg

Campo Tipo Padrão Descrição
dados byte[] novo byte[0] Dados da mensagem (matriz de bytes)