Este tópico descreve as APIs Objective-C, os callbacks e os tipos de dados do AOQ Client SDK para macOS.
AoqClientEngine e reporta eventos assíncronos pelo protocolo AoqEngineDelegate.
Índice de APIs
Ciclo de vida do engine
API | Descrição |
|---|---|
| Crie a instância do engine (singleton) |
| Destrói a instância do engine |
| Obtém a versão do SDK |
| Conecta ao servidor relay |
| Desconecta do servidor |
Gerenciamento de dispositivos de áudio
API | Descrição |
|---|---|
| Abre o dispositivo de captura de áudio (microfone) |
| Fecha o dispositivo de captura de áudio |
| Silencia ou reativa a captura de áudio |
| Inicia a renderização de áudio para reproduzir áudio remoto |
| Interrompe a renderização de áudio |
| Pausa a renderização de áudio (com suporte a fade-out) |
| Retoma a renderização de áudio (com suporte a fade-in) |
| Interrompe a sessão de áudio atual |
| Ative ou desative a indicação de volume de captura local |
Configuração de codificação de áudio
API | Descrição |
|---|---|
| Defina os parâmetros de codificação de áudio |
| Defina os parâmetros de decodificação de áudio |
Gerenciamento de dispositivos de vídeo
API | Descrição |
|---|---|
| Abre o dispositivo de captura de vídeo (câmera) |
| Fecha o dispositivo de captura de vídeo |
| Defina ou remova a janela de renderização de vídeo local |
| Defina ou remova a janela de renderização de vídeo remoto |
Codificação de vídeo e entrada externa
API | Descrição |
|---|---|
| Defina os parâmetros de codificação de vídeo |
| Defina os parâmetros de decodificação de vídeo |
| Envia um frame de vídeo capturado externamente |
| Envia um frame de vídeo codificado externamente |
Controle de stream de mídia
API | Descrição |
|---|---|
| Ative ou desative o envio de uma stream de mídia local |
Reprodução de arquivos de áudio
API | Descrição |
|---|---|
| Inicia a reprodução de um arquivo de áudio local na stream de publicação |
| Interrompe a reprodução do arquivo de áudio |
| Pausa a reprodução do arquivo de áudio |
| Retoma a reprodução do arquivo de áudio |
| Consulta a duração total do arquivo de áudio |
| Consulta a posição atual de reprodução do arquivo de áudio |
| Defina a posição de reprodução do arquivo de áudio (seek) |
| Defina o volume do arquivo de áudio |
| Consulta o volume atual do arquivo de áudio |
Streams de áudio externas
API | Descrição |
|---|---|
| Adiciona uma stream de áudio externa |
| Fornece dados PCM de áudio externo |
| Defina o volume de uma stream de áudio externa |
| Consulta o volume de uma stream de áudio externa |
| Limpa o buffer de uma stream de áudio externa |
| Remove uma stream de áudio externa |
Mensagens em tempo real
API | Descrição |
|---|---|
| Envia uma mensagem de dados em tempo real |
Callbacks de frames de áudio
API | Descrição |
|---|---|
| Defina o listener de callback de dados de frame de áudio |
| Ative ou desative o callback de frame de áudio em uma posição específica |
Callbacks de frames de vídeo
API | Descrição |
|---|---|
| Defina o listener de callback de dados de frame de vídeo |
| Ative ou desative o callback de frame de vídeo em uma posição específica |
Callbacks do AoqEngineDelegate
Callback | Descrição |
|---|---|
| Callback de erro do engine |
| Callback de aviso do engine |
| Callback de alteração de status de conexão |
| Callback de estatísticas do engine |
| Callback de alteração de status operacional do dispositivo de áudio |
| Callback de alteração de rota de saída de áudio |
| Callback de status de reprodução de arquivo de áudio |
| Callback de indicação de volume de captura local |
| Callback de alteração de status operacional do dispositivo de vídeo |
| Callback para mensagem de dados em tempo real recebida |
Detalhes das APIs
Ciclo de vida do engine
createEngine:delegate:
Crie a instância do engine. O SDK mantém o engine como um singleton global; portanto, chamar este método novamente retorna a instância existente.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de criação do engine. Para mais informações, consulte |
|
| Delegate de callback de eventos do engine. Para mais informações, consulte |
destroy
Destrói a instância do engine. Após destruir o engine, chame createEngine:delegate: novamente antes de continuar a usá-lo.
getVersion
Obtém a versão do SDK.
connect:
Conecta ao servidor relay. O servidor de aplicação obtém parâmetros temporários de conexão AOQ com base no protocolo em uso e os envia ao cliente. Para mais informações, consulte Token authentication.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de autenticação de conexão. Para mais informações, consulte |
disconnect
Desconecta do servidor.
Gerenciamento de dispositivos de áudio
startAudioCapture:
Abre o dispositivo de captura de áudio (microfone).
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de captura de áudio. Para mais informações, consulte |
stopAudioCapture
Fecha o dispositivo de captura de áudio.
muteAudioCapture:
Silencia ou reativa a captura de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
|
|
startAudioPlayer:
Inicia a renderização de áudio para reproduzir áudio remoto.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de reprodução de áudio. Para mais informações, consulte |
stopAudioPlayer
Interrompe a renderização de áudio.
pauseAudioPlayer:
Pausa a renderização de áudio, com suporte a fade-out.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Duração do fade-out, em milissegundos. 0 indica pausa imediata. |
resumeAudioPlayer:
Retoma a renderização de áudio, com suporte a fade-in.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Duração do fade-in, em milissegundos. 0 indica retomada imediata. |
interruptAudioPlayer:fadeMs:
Interrompe a sessão de áudio atual e para o áudio em reprodução.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Tipo de track. Para mais informações, consulte |
|
| Duração do fade-out, em milissegundos. 0 indica interrupção imediata. |
enableLocalAudioVolumeIndication:
Ative ou desative a indicação de volume de captura local. Quando ativado, o callback onLocalAudioVolumeIndication: é acionado no intervalo especificado por config.interval. Se config.interval <= 0, o callback é desativado. Chame este método após startAudioCapture: para obter dados de volume.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de indicação de volume. Para mais informações, consulte |
Configuração de codificação de áudio
setAudioEncoderConfig:
Defina os parâmetros de codificação de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de codec de áudio. Para mais informações, consulte |
setAudioDecoderConfig:
Defina os parâmetros de decodificação de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de codec de áudio. Para mais informações, consulte |
Gerenciamento de dispositivos de vídeo
startVideoCapture:
Abre o dispositivo de captura de vídeo (câmera). Quando isExternal=YES estiver configurado, a câmera não será aberta e os frames serão fornecidos por pushExternalVideoCapturedFrame:frame:.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de captura de vídeo. Para mais informações, consulte |
stopVideoCapture
Fecha o dispositivo de captura de vídeo.
setLocalView:canvas:
Defina ou remova a janela de renderização de vídeo local. Se você passar nil para canvas ou se canvas.view for nil, a vinculação será removida.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Track de vídeo. Passe |
|
| Canvas de renderização. Para mais informações, consulte |
setRemoteView:canvas:
Defina ou remova a janela de renderização de vídeo remoto. Se você passar nil para canvas ou se canvas.view for nil, a vinculação será removida.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Track de vídeo. Passe |
|
| Canvas de renderização. Para mais informações, consulte |
Codificação de vídeo e entrada externa
setVideoEncoderConfig:
Defina os parâmetros de codificação de vídeo e os roteia com base em config.trackType.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de codec de vídeo. Para mais informações, consulte |
setVideoDecoderConfig:
Defina os parâmetros de decodificação de vídeo (uma proposta de codec no lado da assinatura, que deve ser chamada antes de connect:). A chamada é roteada com base em config.trackType.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Configuração de codec de vídeo. Para mais informações, consulte |
pushExternalVideoCapturedFrame:frame:
Envia um frame de vídeo externo. Chame primeiro startVideoCapture: e configure isExternal=YES. Se a captura de vídeo externa não tiver sido iniciada ou o formato não for suportado, AoqECParamInvalid será retornado.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Destino do roteamento. Passe |
|
| Dados do frame de vídeo externo. Para mais informações, consulte |
AoqECVideoExternalBufferFull (210) indica que o buffer está cheio; um valor menor que 0 indica outro erro.
pushExternalVideoEncodedFrame:frame:
Envia diretamente um frame de vídeo codificado externamente, ignorando o codificador. Chame primeiro setVideoEncoderConfig: e configure isExternal=YES. Atualmente, apenas JPEG é suportado.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Destino do roteamento. Passe |
|
| Dados do frame codificado externamente. Para mais informações, consulte |
Controle de stream de mídia
enableSendMediaStream:enable:
Ative ou desative o envio de uma stream de mídia local. Recomendamos desativar o envio após a inicialização e ativá-lo somente depois que o callback onConnectionStatusChange: reportar AoqConnectionStatusConnected.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Destino do roteamento. |
|
|
|
Reprodução de arquivos de áudio
startAudioFile:config:
Inicia a reprodução de um arquivo de áudio local na stream de publicação.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio. A camada de negócios deve garantir que seja único. |
|
| Configuração de mixagem de arquivo de áudio. Para mais informações, consulte |
stopAudioFile:
Interrompe a reprodução do arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
pauseAudioFile:
Pausa a reprodução do arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
resumeAudioFile:
Retoma a reprodução do arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
getAudioFileDuration:
Obtém a duração total do arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
getAudioFileCurrentPosition:
Obtém a posição atual de reprodução do arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
setAudioFilePositionMillis:positionMillis:
Defina a posição de reprodução do arquivo de áudio (seek).
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
|
| Posição de reprodução, em milissegundos |
setAudioFileVolume:type:volume:
Defina o volume do arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
|
| Direção da stream de áudio. Para mais informações, consulte |
|
| Valor do volume. Valores válidos: 0 a 100. |
getAudioFileVolume:type:
Obtém o volume atual do arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo de áudio |
|
| Direção da stream de áudio. Para mais informações, consulte |
Streams de áudio externas
addAudioExternalStream:config:
Adiciona uma stream de áudio externa.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID da stream de áudio externa. A camada de negócios deve garantir que seja único. |
|
| Configuração da stream de áudio externa. Para mais informações, consulte |
pushAudioExternalStreamData:data:
Fornece dados PCM de áudio externo. Se AoqECAudioExternalBufferFull (110) for retornado, o buffer do SDK está cheio. Recomendamos aguardar cerca de 20 ms e enviar o frame de dados atual novamente.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID da stream de áudio externa |
|
| Dados brutos de áudio externo. Para mais informações, consulte |
AoqECAudioExternalBufferFull.setAudioExternalStreamVolume:type:volume:
Defina o volume de uma stream de áudio externa.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID da stream de áudio externa |
|
| Tipo da stream de áudio externa. Para mais informações, consulte |
|
| Valor do volume. Valores válidos: 0 a 100. |
getAudioExternalStreamVolume:type:
Obtém o volume de uma stream de áudio externa.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID da stream de áudio externa |
|
| Tipo da stream de áudio externa. Para mais informações, consulte |
clearAudioExternalStreamBuffer:fadeoutMs:
Limpa o buffer de uma stream de áudio externa.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID da stream de áudio externa |
|
| Duração do fade-out. -1 usa o fade-out padrão do SDK, 0 limpa tudo sem fade-out e um valor maior que 0 mantém um fade-out com o número especificado de milissegundos. |
removeAudioExternalStream:
Remove uma stream de áudio externa.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| ID da stream de áudio externa |
Mensagens em tempo real
sendDataMsg:
Envia uma mensagem de dados em tempo real.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Conteúdo da mensagem. Para mais informações, consulte |
Callbacks de frames de áudio
setAudioFrameObserver:
Defina o delegate de callback de dados de frame de áudio. Passe nil para interromper os callbacks. Após definir o delegate, chame enableAudioFrameObserver:audioSource:config: para ativar o callback da source de dados correspondente.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Delegate de callback de frame de áudio. Para mais informações, consulte |
enableAudioFrameObserver:audioSource:config:
Ative ou desative o callback de frame de áudio em uma posição específica.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Especifica se permite callbacks de dados |
|
| Tipo da source de dados de áudio bruto. Para mais informações, consulte |
|
| Configurações de parâmetros de callback. Para mais informações, consulte |
Callbacks de frames de vídeo
setVideoFrameObserver:
Defina o delegate de callback de dados de frame de vídeo. Passe nil para interromper os callbacks. Após definir o delegate, chame enableVideoFrameObserver:videoSource:config: para ativar o callback da source de dados correspondente.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Delegate de callback de frame de vídeo. Para mais informações, consulte |
enableVideoFrameObserver:videoSource:config:
Ative ou desative o callback de frame de vídeo em uma posição específica.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Especifica se ativa callbacks de dados em uma posição |
|
| Source de dados do callback de frame de vídeo (posição no pipeline). Para mais informações, consulte |
|
| Configurações de parâmetros de callback. Para mais informações, consulte |
Callbacks
AoqEngineDelegate
AoqEngineDelegate é o ponto de entrada unificado para todas as notificações de eventos assíncronos do SDK. Ele é passado quando você chama createEngine:delegate:. Todos os métodos de callback são @required. Transições de estado: Disconnected → Connecting → Connected/Failed → Disconnected.
onError:message:
Callback de erro do engine.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Código de erro. Para mais informações, consulte |
|
| Descrição do erro |
onWarning:message:
Callback de aviso do engine.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Código de aviso. Para mais informações, consulte |
|
| Descrição do aviso |
onConnectionStatusChange:
Callback de alteração de status de conexão do engine.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Status da conexão. Para mais informações, consulte |
onStats:
Callback de estatísticas do engine.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Dados estatísticos. Para mais informações, consulte |
onAudioDeviceStateChanged:
Callback para alterações no status operacional de captura e reprodução do dispositivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Estado do dispositivo de áudio. Para mais informações, consulte |
onAudioDeviceRouteChanged:
Callback de alteração de rota de saída de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Tipo de rota. Para valores válidos, consulte |
onAudioFileState:
Callback para status de reprodução de arquivo de áudio.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Estado de reprodução do arquivo. Para mais informações, consulte |
onLocalAudioVolumeIndication:
Callback de indicação de volume de captura local. Para ativá-lo, chame enableLocalAudioVolumeIndication:.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Informações de volume local. Para mais informações, consulte |
onVideoDeviceStateChanged:
Callback para alterações no status operacional de captura do dispositivo de vídeo.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Estado do dispositivo de vídeo. Para mais informações, consulte |
onDataMsg:
Callback para mensagem de dados em tempo real recebida.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Mensagem de dados. Para mais informações, consulte |
AoqAudioFrameDelegate
Protocolo para callbacks de dados de frame de áudio. Todos os métodos são @optional. Não execute operações demoradas nos callbacks. Caso contrário, podem ocorrer 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, e o modo leitura-escrita é suportado.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Dados brutos de áudio capturado. Para mais informações, consulte |
onProcessCapturedAudioFrame:
Callback para dados após processamento 3A. Para ativá-lo, chame enableAudioFrameObserver: e defina audioSource = AoqAudioSourceProcessCaptured. É possível definir a taxa de amostragem e o número de canais, e o modo leitura-escrita é suportado.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Dados brutos de áudio após processamento 3A. Para mais informações, consulte |
onPublishAudioFrame:frame:
Callback para dados de publicação. Para ativá-lo, chame enableAudioFrameObserver: e defina audioSource = AoqAudioSourcePublish. É possível definir a taxa de amostragem e o número de canais, mas apenas o modo somente leitura é suportado.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Tipo de track. Para mais informações, consulte |
|
| Dados brutos de áudio a serem publicados. Para mais informações, consulte |
onPlaybackAudioFrame:
Callback para dados de reprodução. Para ativá-lo, chame enableAudioFrameObserver: e defina audioSource = AoqAudioSourcePlayback. É possível definir a taxa de amostragem e o número de canais, e o modo leitura-escrita é suportado.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Dados brutos de áudio para reprodução. Para mais informações, consulte |
AoqVideoFrameDelegate
Protocolo para callbacks de dados de frame de vídeo. Todos os métodos são @optional. Não execute operações demoradas nos callbacks. Caso contrário, podem ocorrer travamentos no vídeo. Um valor de retorno YES indica que os dados foram modificados e devem ser gravados de volta no SDK. A gravação de volta só tem efeito para I420 e CVPixelBuffer. Um valor de retorno NO indica somente leitura. Os dados em frame são válidos apenas durante o callback. Para usá-los de forma assíncrona, faça uma cópia manualmente.
onCapturedVideoFrame:
Callback para dados brutos locais após a captura, antes do pré-processamento. Para ativá-lo, chame enableVideoFrameObserver: e defina videoSource = AoqVideoSourceCaptured.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Dados do frame de vídeo capturado. Para mais informações, consulte |
YES indica que os dados foram modificados e devem ser gravados de volta no SDK; NO indica somente leitura.
onPreEncodeVideoFrame:frame:
Callback para dados brutos locais antes da codificação, após o pré-processamento. Para ativá-lo, chame enableVideoFrameObserver: e defina videoSource = AoqVideoSourcePreEncode.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Tipo de track de vídeo. Para mais informações, consulte |
|
| Dados do frame de vídeo antes da codificação. Para mais informações, consulte |
YES indica que os dados foram modificados e devem ser gravados de volta no SDK; NO indica somente leitura.
onRemoteVideoFrame:frame:
Callback para dados brutos remotos após a decodificação e antes da renderização. Para ativá-lo, chame enableVideoFrameObserver: e defina videoSource = AoqVideoSourceRemote.
Parâmetros | Tipo | Descrição |
|---|---|---|
|
| Tipo de track de vídeo. Para mais informações, consulte |
|
| Dados do frame de vídeo remoto. Para mais informações, consulte |
YES indica que os dados foram modificados e devem ser gravados de volta no SDK; NO indica somente leitura.
Tipos de dados e enumerações
Tipos gerais
AoqCreateConfig
Configuração de criação do engine.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Diretório de trabalho do SDK |
|
|
| Especifica se ativa o dump de dados brutos de áudio (para depuração) |
|
|
| Parâmetros estendidos |
AoqConnectConfig
Configuração para conexão ao servidor relay.
Campo | Tipo | Descrição |
|---|---|---|
|
| Token de autenticação de conexão |
|
| ID da sessão |
|
| Impressão digital do certificado do servidor |
|
| Lista de pontos de acesso relay |
|
| ID hash do workspace |
|
| Array de atributos de tracks de publicação local |
|
| Array de atributos de tracks de assinatura local |
AoqRelayEndpoint
Um ponto de acesso relay.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Índice do caminho |
|
|
| Endereço do servidor (nome de domínio ou endereço IP) |
|
|
| Porta do servidor |
AoqTrackParam
O atributo da track.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Tipo de track |
|
|
| Modo streaming ou não-streaming. Efetivo apenas para downlink de áudio. |
AoqDataMsg
Estrutura de dados de uma mensagem em tempo real.
Campo | Tipo | Descrição |
|---|---|---|
|
| Conteúdo da mensagem. Aponta para memória mantida pelo chamador. |
Tipos de estatísticas
AoqStats
Estatísticas do engine.
Campo | Tipo | Descrição |
|---|---|---|
|
| Array de estatísticas de publicação de áudio |
|
| Array de estatísticas de publicação de vídeo |
|
| Array de estatísticas de publicação de mensagens de dados |
|
| Array de estatísticas de assinatura de áudio |
|
| Array de estatísticas de assinatura de vídeo |
|
| Array de estatísticas de assinatura de mensagens de dados |
|
| Estatísticas de rede |
AoqNetworkStats
Estatísticas de rede.
Campo | Tipo | Descrição |
|---|---|---|
|
| Taxa de bits de envio, em bit/s |
|
| Bytes enviados acumulados |
|
| Taxa de bits de recebimento, em bit/s |
|
| Bytes recebidos acumulados |
|
| Taxa de perda de pacotes, de 0 a 100 |
|
| Latência de ida e volta, em ms |
AoqAudioPublishStats
Estatísticas de publicação de áudio.
Campo | Tipo | Descrição |
|---|---|---|
|
| Tipo de track |
|
| Taxa de bits, em bit/s |
|
| Bytes acumulados |
|
| Volume de codificação da stream de publicação |
AoqVideoPublishStats
Estatísticas de publicação de vídeo.
Campo | Tipo | Descrição |
|---|---|---|
|
| Tipo de track |
|
| Taxa de bits, em bit/s |
|
| Bytes acumulados |
|
| Taxa de frames de codificação |
AoqDataMsgPublishStats
Estatísticas de publicação de mensagens de dados.
Campo | Tipo | Descrição |
|---|---|---|
|
| Tipo de track |
|
| Taxa de bits, em bit/s |
|
| Bytes acumulados |
AoqAudioSubscribeStats
Estatísticas de assinatura de áudio.
Campo | Tipo | Descrição |
|---|---|---|
|
| Tipo de track |
|
| Taxa de bits, em bit/s |
|
| Bytes acumulados |
|
| Volume de reprodução |
AoqVideoSubscribeStats
Estatísticas de assinatura de vídeo.
Campo | Tipo | Descrição |
|---|---|---|
|
| Tipo de track |
|
| Taxa de bits, em bit/s |
|
| Bytes acumulados |
|
| Taxa de frames de decodificação |
|
| Taxa de frames de renderização |
AoqDataMsgSubscribeStats
Estatísticas de assinatura de mensagens de dados.
Campo | Tipo | Descrição |
|---|---|---|
|
| Tipo de track |
|
| Taxa de bits, em bit/s |
|
| Bytes acumulados |
Enumerações
AoqErrorCode
Enumeração de códigos de erro.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Sucesso |
| 1 | Parâmetro inválido |
| 2 | Estado inválido |
| 3 | A API não é suportada |
| 100 | Erro genérico de áudio |
| 110 | Buffer de áudio externo cheio |
| 120 | Erro genérico de dispositivo de áudio |
| 121 | Permissão de gravação não concedida |
| 122 | Dispositivo de gravação em uso |
| 123 | Iniciar gravação em segundo plano |
| 124 | Falha ao iniciar gravação |
| 125 | Dispositivo de reprodução em uso |
| 126 | Iniciar reprodução em segundo plano |
| 127 | Falha ao iniciar reprodução |
| 200 | Erro genérico de vídeo |
| 210 | Buffer de vídeo externo cheio |
| 211 | Captura de vídeo externa não ativada |
| 212 | Codificação de vídeo externa não ativada |
| 220 | Erro genérico de dispositivo de vídeo |
| 221 | Falha ao abrir a câmera |
| 222 | Permissão da câmera não concedida |
| 223 | Câmera em uso |
| 224 | Erro de execução da câmera |
| 230 | Erro genérico de codec de vídeo |
| 231 | Falha ao inicializar o codificador |
| 240 | Erro genérico de renderização de vídeo |
| 241 | Falha ao criar a visualização de renderização |
| 242 | Erro de desenho de renderização |
AoqWarningCode
Enumeração de códigos de aviso.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Sem aviso |
| 100 | Aviso genérico de áudio |
| 101 | Microfonia detectada |
| 120 | Aviso genérico de dispositivo de áudio |
| 121 | Erro de enumeração de microfone |
| 122 | Tempo limite de inicialização do microfone |
| 123 | Erro de gravação |
| 124 | Erro de enumeração de alto-falante |
| 125 | Tempo limite de inicialização do alto-falante |
| 126 | Erro de reprodução |
| 200 | Aviso genérico de vídeo |
| 201 | Erro de enumeração de câmera |
| 202 | Codificador de vídeo alternado |
| 203 | Renderização de vídeo rebaixada |
AoqTrackType
Tipo de track.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Track de áudio |
| 1 | Track de vídeo |
| 2 | Track de mensagem de dados |
AoqEncoderType
Tipo de codificador.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Formato desconhecido |
| 1 | Áudio PCM |
| 2 | Áudio Opus |
| 3 | Vídeo H.264 |
| 4 | Vídeo JPEG |
| 5 | Texto de mensagem |
AoqTrackMode
Modo streaming ou não-streaming. Efetivo apenas para downlink de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Segmentado: os dados são empacotados e entregues em segmentos semânticos, como uma frase. |
| 1 | Streaming: os dados são entregues continuamente. |
AoqConnectionStatus
Status de conexão do engine.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Desconectado |
| 1 | Conectando |
| 2 | Conectado |
| 3 | Falha na conexão |
Tipos de áudio
AoqAudioCaptureConfig
Configuração de captura de áudio.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Especifica se usa captura externa |
|
|
| Número de canais de captura de áudio. 1 e 2 são suportados. |
AoqAudioPlaybackConfig
Configuração de reprodução de áudio.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Especifica se usa reprodução externa |
|
|
| Número de canais de reprodução de áudio. 1 e 2 são suportados. |
AoqAudioCodecConfig
Configuração de codec de áudio.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Tipo de track |
|
|
| Formato do codec |
|
|
| Taxa de amostragem, em Hz |
|
|
| Número de canais |
|
|
| Taxa de bits, em bit/s |
AoqAudioDeviceState
Estado do dispositivo de áudio.
Campo | Tipo | Descrição |
|---|---|---|
|
| Código de status |
|
| Código de erro ( |
AoqAudioDeviceStateCode
Código de estado do dispositivo de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Sem estado |
| 1 | Captura iniciando |
| 2 | Captura iniciada |
| 3 | Captura parando |
| 4 | Captura parada |
| 5 | Falha na captura |
| 6 | Reprodução iniciando |
| 7 | Reprodução iniciada |
| 8 | Reprodução parando |
| 9 | Reprodução parada |
| 10 | Falha na reprodução |
AoqAudioDeviceRouteType
Tipo de rota do dispositivo de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Padrão |
| 1 | Fones de ouvido |
| 2 | Auricular |
| 3 | Fones de ouvido sem microfone |
| 4 | Alto-falante integrado |
| 5 | USB |
| 6 | Bluetooth |
| 7 | Bluetooth A2DP |
AoqAudioFileMixConfig
Configuração para reproduzir um arquivo de áudio na stream de publicação.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
| - | Nome do arquivo (incluindo o caminho). Obrigatório. |
|
|
| Número de loops. -1 indica loop ilimitado. |
|
|
| Posição inicial de reprodução, em ms |
|
|
| Volume de publicação. Valores válidos: 0 a 100. |
|
|
| Volume de reprodução. Valores válidos: 0 a 100. |
AoqAudioFileState
Estado do arquivo de áudio.
Campo | Tipo | Descrição |
|---|---|---|
|
| ID do arquivo |
|
| Código de status |
|
| Código de erro |
AoqAudioFileStateCode
Código de estado do arquivo de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Sem estado |
| 1 | Iniciado |
| 2 | Parado |
| 3 | Pausado |
| 4 | Retomado |
| 5 | Reprodução concluída |
| 6 | Buffering |
| 7 | Buffering encerrado |
| 8 | Falha na reprodução |
AoqAudioFileErrorCode
Código de erro de reprodução de arquivo de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Sem erro |
| 1 | Falha ao abrir o arquivo |
| 2 | Falha ao decodificar o arquivo |
AoqAudioExternalStreamConfig
Configuração de stream de áudio externa.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Tipo de track de áudio |
|
|
| Formato da stream de áudio. PCM é suportado. |
|
|
| Número de canais |
|
|
| Taxa de amostragem, em Hz |
|
|
| Volume de reprodução. Valores válidos: 0 a 100. |
|
|
| Volume de publicação. Valores válidos: 0 a 100. |
|
|
| Duração máxima do buffer, em ms |
|
|
| Especifica se aplica processamento 3A ao PCM de entrada |
AoqAudioFrameData
Dados de áudio externos.
Campo | Tipo | Descrição |
|---|---|---|
|
| Ponteiro para os dados brutos de áudio PCM |
|
| Número de bytes dos dados PCM |
|
| Número de amostras (por canal) |
|
| Bytes por amostra |
|
| Número de canais |
|
| Número de amostras por segundo |
|
| Rodada de entrada PCM |
|
| Timestamp |
|
| Válido em callbacks de dados. |
AoqAudioStreamDirection
Direção de uma stream de áudio externa.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Publicação de áudio |
| 1 | Reprodução de áudio |
AoqAudioExternalStreamToggle
Estado de alternância de stream de áudio externa.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Recuperado |
| 1 | Pausado |
AoqAudioSource
Source de dados do callback de frame de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Dados de áudio capturados |
| 1 | Dados de áudio após processamento 3A |
| 2 | Dados de áudio a serem publicados (requer Connect bem-sucedido) |
| 3 | Dados de áudio a serem reproduzidos |
AoqAudioObserverMode
Modo de callback de frame de áudio.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Somente leitura |
| 1 | Leitura e escrita |
AoqAudioObserverConfig
Configuração de callback de frame de áudio.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Taxa de amostragem do áudio de callback |
|
|
| Número de canais de áudio no callback |
|
|
| Modo leitura-escrita |
AoqAudioVolumeIndicationConfig
Configuração de indicação de volume local.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Intervalo de callback, em ms. Um valor menor ou igual a 0 desativa o callback. Um valor maior que 0 e menor que 10 é tratado como 10. |
|
|
| Coeficiente de suavização de volume. Valores válidos: 0 a 10. Um valor maior resulta em uma saída mais suave. |
AoqAudioVolume
Informações de volume local.
Campo | Tipo | Descrição |
|---|---|---|
|
| Volume instantâneo suavizado. Valores válidos: 0 a 255. |
Tipos de vídeo
AoqVideoCaptureConfig
Configuração de captura de vídeo.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Largura de captura, em pixels. Este parâmetro é ineficaz quando |
|
|
| Altura de captura, em pixels. Este parâmetro é ineficaz quando |
|
|
| Taxa de frames de captura. Este parâmetro é ineficaz quando |
|
|
| Especifica se usa captura externa. Se for |
AoqVideoCanvas
Estrutura de dados para renderização de vídeo.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| View de exibição. Passe nil para remover a vinculação de renderização. |
|
|
| Modo de renderização |
view ultrapasse o período durante o qual ele é definido por setLocalView: / setRemoteView:.
AoqRenderMode
Modo de exibição de renderização.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Modo automático |
| 1 | Modo esticar para preencher. Quando as proporções não coincidem, a imagem é esticada para a proporção alvo e fica distorcida. |
| 2 | Modo letterbox. Quando as proporções não coincidem, barras pretas são adicionadas na parte superior e inferior ou na esquerda e direita. |
| 3 | Modo recorte. Quando as proporções não coincidem, a largura ou altura é recortada e parte da imagem é perdida. |
AoqVideoPixelFormat
Formato de pixel de vídeo.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Formato desconhecido |
| 1 | I420 |
| 2 | NV12 |
| 3 | NV21 |
| 4 | BGRA |
| 5 | RGBA |
| 6 | Caminho de cópia zero. Defina o campo |
AoqVideoFrame
Dados de vídeo externos.
Campo | Tipo | Descrição |
|---|---|---|
|
| Formato de pixel |
|
| Largura, em pixels |
|
| Altura, em pixels |
|
| Dados em formato compactado (NV12/NV21/BGRA/RGBA) |
|
| Dados dos três planos I420 |
|
| Stride dos três planos I420 |
|
| Cópia zero, usado quando |
|
| Timestamp, em ms. Se for 0, o SDK o preenche com o relógio local. |
AoqVideoEncodedFrame
Um frame de vídeo codificado externamente. O chamador realiza a codificação e o SDK empacota e envia o frame diretamente sem recodificação.
Campo | Tipo | Descrição |
|---|---|---|
|
| Formato do codec |
|
| Dados codificados |
|
| Largura, em pixels |
|
| Altura, em pixels |
|
| Timestamp, em ms. Se for 0, o SDK o preenche com o relógio local. |
AoqVideoCodecType
O tipo de codec do frame codificado externamente.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | JPEG |
AoqVideoDeviceState
Estado do dispositivo de vídeo.
Campo | Tipo | Descrição |
|---|---|---|
|
| Código de status |
|
| Código de erro ( |
AoqVideoDeviceStateCode
Código de estado do dispositivo de vídeo.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Sem estado |
| 1 | Câmera iniciando |
| 2 | Câmera iniciada |
| 3 | Câmera parando |
| 4 | Câmera parada |
| 5 | Falha ao iniciar a câmera |
AoqMirrorMode
Modo espelho.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Desativar espelhamento |
| 1 | Ativar espelhamento |
AoqOrientationMode
Modo de orientação.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Automático |
| 1 | Retrato |
| 2 | Paisagem |
AoqVideoCodecConfig
Parâmetros de codec de vídeo, compartilhados por codificação e decodificação. Para decodificação, apenas trackType / codecType / width / height / fps / bitrate têm efeito e participam da negociação como uma proposta de assinatura, enquanto os outros campos são usados apenas para codificação.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Modo de codificação externa. Quando é |
|
|
| Tipo de track |
|
|
| Formato do codec |
|
|
| Largura da resolução |
|
|
| Altura da resolução |
|
|
| Taxa de frames |
|
|
| Taxa de bits inicial, em bit/s |
|
|
| Taxa de bits mínima, em bit/s |
|
|
| Intervalo de keyframes, em segundos |
|
|
| Modo espelho |
|
|
| Modo de orientação |
AoqVideoSource
Source de dados do callback de frame de vídeo (posição no pipeline).
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Dados de vídeo capturados antes do pré-processamento |
| 1 | Dados de vídeo antes da codificação, após o pré-processamento |
| 2 | Dados de vídeo remoto após decodificação e antes da renderização |
AoqVideoObserverMode
Modo de callback de frame de vídeo.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Somente leitura |
| 1 | Leitura e escrita |
AoqVideoObserverAlignment
Método de alinhamento de largura para saída de vídeo.
Valor da enumeração | Valor | Descrição |
|---|---|---|
| 0 | Padrão |
| 1 | Alinhamento par |
| 2 | Alinhamento de 4 bytes |
| 3 | Alinhamento de 8 bytes |
| 4 | Alinhamento de 16 bytes |
AoqVideoObserverConfig
Configuração de callback de frame de vídeo.
Campo | Tipo | Valor padrão | Descrição |
|---|---|---|---|
|
|
| Formato de pixel esperado dos dados de callback |
|
|
| Política de alinhamento de largura |
|
|
| Modo leitura-escrita. ReadWrite é suportado apenas para I420 / CVPixelBuffer. |
|
|
| Especifica se espelha os dados de callback |
AoqRenderView
O controle de view de renderização, que herda de NSView e pode ser usado como AoqVideoCanvas.view.
Atributo | Tipo | Descrição |
|---|---|---|
|
| View de exibição usada internamente pelo engine |
|
| Largura de renderização |
|
| Altura de renderização |
|
| Especifica se ativa a renderização Metal |
|
| Delegate de eventos da view de renderização |
AoqRenderViewDelegate
O protocolo delegate de eventos da view de renderização.
Callback | Descrição |
|---|---|
| Callback para alterações de tamanho da view de renderização |