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

SDK do macOS

Referência da API AOQ macOS SDK Objective-C

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

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 AoqEngineDelegate protocolo.

índice API

Ciclo de vida do motor

API Descrição
createEngine:delegate: 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:fadeMs: 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:canvas: Definir ou remover a janela de renderização de vídeo local
setRemoteView:canvas: 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:frame: Enviar um quadro de vídeo capturado externamente
pushExternalVideoEncodedFrame:frame: Enviar um quadro de vídeo codificado externamente

Controle de fluxo de mídia

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

Reprodução de arquivo de áudio

API Descrição
startAudioFile:config: 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:positionMillis: Defina a posição de reprodução do arquivo de áudio (busca)
setAudioFileVolume:type:volume: Defina o volume do arquivo de áudio
getAudioFileVolume:type: Consultar o volume atual do arquivo de áudio

Fluxos de áudio externos

API Descrição
addAudioExternalStream:config: Adicione um fluxo de áudio externo
pushAudioExternalStreamData:data: Alimentar dados PCM de áudio externo
setAudioExternalStreamVolume:type:volume: Definir o volume de um fluxo de áudio externo
getAudioExternalStreamVolume:type: Consultar o volume de um fluxo de áudio externo
clearAudioExternalStreamBuffer:fadeoutMs: 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:audioSource:config: 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:videoSource:config: Ativar ou desativar o retorno de chamada do quadro de vídeo em uma posição especificada

Retornos de chamada AoqEngineDelegate

Retorno de chamada Descrição
onError:message: Retorno de chamada de erro do mecanismo
onWarning:message: 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

- (int)startScreenCapture:(AoqScreenCaptureConfig * _Nonnull)config;
- (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=YES 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

- (AoqScreenSourceList * _Nullable)getScreenSourceList;

Retorna uma lista de fontes de tela ou nula em caso de falha.

Ciclo de vida do motor

createEngine:delegado:

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.

+ (instancetype _Nonnull)createEngine:(AoqCreateConfig * _Nonnull)config
                             delegate:(id<aoqenginedelegate> _Nonnull)delegate;

Parâmetros

Parâmetros Tipo Descrição
config AoqCreateConfig * Configuração de criação do mecanismo. Para obter mais informações, consulte AoqCreateConfig.
delegate id<aoqenginedelegate> Delegado de retorno de chamada de evento do mecanismo. Para obter mais informações, consulte AoqEngineDelegate.

Retorna: A instância do mecanismo. nulo nunca é retornado.

destruir

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

+ (int)destroy;

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

getVersion

Obtém a versão do SDK.

+ (NSString * _Nonnull)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.

- (int)connect:(AoqConnectConfig * _Nonnull)config;

Parâmetros

Parâmetros Tipo Descrição
config 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.

- (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).

- (int)startAudioCapture:(AoqAudioCaptureConfig * _Nonnull)config;

Parâmetros

Parâmetros Tipo Descrição
config 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.

- (int)stopAudioCapture;

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

muteAudioCapture:

Ativa ou desativa a captura de áudio.

- (int)muteAudioCapture:(BOOL)mute;

Parâmetros

Parâmetros Tipo Descrição
mute BOOL YES mudo;NO 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.

- (int)startAudioPlayer:(AoqAudioPlaybackConfig * _Nonnull)config;

Parâmetros

Parâmetros Tipo Descrição
config 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.

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

- (int)pauseAudioPlayer:(NSInteger)fadeMs;

Parâmetros

Parâmetros Tipo Descrição
fadeMs NSInteger 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.

- (int)resumeAudioPlayer:(NSInteger)fadeMs;

Parâmetros

Parâmetros Tipo Descrição
fadeMs NSInteger Duração do fade-in, em milissegundos. 0 indica retomada imediata.

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

####interruptAudioPlayer:fadeMs:

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

- (int)interruptAudioPlayer:(AoqTrackType)trackType fadeMs:(NSInteger)fadeMs;

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Tipo de trilha. Para obter mais informações, consulte AoqTrackType.
fadeMs NSInteger 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.

enableLocalAudioVolumeIndicação:

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.

- (int)enableLocalAudioVolumeIndication:(AoqAudioVolumeIndicationConfig * _Nonnull)config;

Parâmetros

Parâmetros Tipo Descrição
config 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.

- (int)setAudioEncoderConfig:(AoqAudioCodecConfig * _Nonnull)config;

Parâmetros

Parâmetros Tipo Descrição
config 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.

- (int)setAudioDecoderConfig:(AoqAudioCodecConfig * _Nonnull)config;

Parâmetros

Parâmetros Tipo Descrição
config 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=YES está configurado, a câmera não é aberta e os quadros são alimentados por pushExternalVideoCapturedFrame:frame:.

- (int)startVideoCapture:(AoqVideoCaptureConfig * _Nonnull)config;

Parâmetros

Parâmetros Tipo Descrição
config 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.

- (int)stopVideoCapture;

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

####setLocalView:canvas:

Define ou remove a janela de renderização de vídeo local. Se você passar zero para canvas ou canvas.view for nulo, a ligação será removida.

- (int)setLocalView:(AoqTrackType)trackType canvas:(AoqVideoCanvas * _Nullable)canvas;

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Faixa de vídeo. Passe AoqTrackTypeVideo.
canvas AoqVideoCanvas * Tela de renderização. Para obter mais informações, consulte AoqVideoCanvas. Passe nulo para remover a ligação.

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

####setRemoteView:canvas:

Define ou remove a janela de renderização de vídeo remota. Se você passar zero para canvas ou canvas.view for nulo, a ligação será removida.

- (int)setRemoteView:(AoqTrackType)trackType canvas:(AoqVideoCanvas * _Nullable)canvas;

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Faixa de vídeo. Passe AoqTrackTypeVideo.
canvas AoqVideoCanvas * Tela de renderização. Para obter mais informações, consulte AoqVideoCanvas. Passe nulo para remover a ligação.

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.

- (int)setVideoEncoderConfig:(AoqVideoCodecConfig * _Nonnull)config;

Parâmetros

Parâmetros Tipo Descrição
config 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.

- (int)setVideoDecoderConfig:(AoqVideoCodecConfig * _Nonnull)config;

Parâmetros

Parâmetros Tipo Descrição
config 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:frame:

Envia um quadro de vídeo externo. Você deve primeiro ligar startVideoCapture: e configurar isExternal=YES. Se a captura de vídeo externa não for iniciada ou o formato não for suportado,AoqECParamInvalid é retornado.

- (int)pushExternalVideoCapturedFrame:(AoqTrackType)trackType
                                frame:(AoqVideoFrame * _Nonnull)frame;

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Destino de roteamento. Passar AoqTrackTypeVideo; AoqTrackTypeScreen também é compatível.
frame 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; um valor menor que 0 indica outro erro.

pushExternalVideoEncodedFrame:frame:

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

- (int)pushExternalVideoEncodedFrame:(AoqTrackType)trackType
                               frame:(AoqVideoEncodedFrame * _Nonnull)frame;

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Destino de roteamento. Passar AoqTrackTypeVideo; AoqTrackTypeScreen também é compatível.
frame 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

AtivarEndMediaStream: Ativar:

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.

- (int)enableSendMediaStream:(AoqTrackType)trackType enable:(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 YES permite o envio;NO 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:config:

Inicia a reprodução de um arquivo de áudio local no fluxo de publicação.

- (int)startAudioFile:(NSString * _Nonnull)fileId
               config:(AoqAudioFileMixConfig * _Nonnull)config;

Parâmetros

Parâmetros Tipo Descrição
fileId NSString * ID do arquivo de áudio. A camada de negócios deve garantir que seja única.
config 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.

- (int)stopAudioFile:(NSString * _Nonnull)fileId;

Parâmetros

Parâmetros Tipo Descrição
fileId NSString * ID do arquivo de áudio

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

pauseArquivoÁudio:

Pausa a reprodução do arquivo de áudio.

- (int)pauseAudioFile:(NSString * _Nonnull)fileId;

Parâmetros

Parâmetros Tipo Descrição
fileId NSString * ID do arquivo de áudio

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

resumeAudioFile:

Retoma a reprodução do arquivo de áudio.

- (int)resumeAudioFile:(NSString * _Nonnull)fileId;

Parâmetros

Parâmetros Tipo Descrição
fileId NSString * 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.

- (long long)getAudioFileDuration:(NSString * _Nonnull)fileId;

Parâmetros

Parâmetros Tipo Descrição
fileId NSString * 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.

getAudioFileCurrentPosition:

Obtém a posição atual de reprodução do arquivo de áudio.

- (long long)getAudioFileCurrentPosition:(NSString * _Nonnull)fileId;

Parâmetros

Parâmetros Tipo Descrição
fileId NSString * 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.

setAudioFilePositionMillis:posiçãoMillis:

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

- (int)setAudioFilePositionMillis:(NSString * _Nonnull)fileId
                  positionMillis:(long long)positionMillis;

Parâmetros

Parâmetros Tipo Descrição
fileId NSString * ID do arquivo de áudio
positionMillis long long Posição de reprodução, em milissegundos

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

setAudioFileVolume:type:volume:

Define o volume do arquivo de áudio.

- (int)setAudioFileVolume:(NSString * _Nonnull)fileId
                     type:(AoqAudioStreamDirection)type
                   volume:(NSInteger)volume;

Parâmetros

Parâmetros Tipo Descrição
fileId NSString * ID do arquivo de áudio
type AoqAudioStreamDirection Direção do fluxo de áudio. Para obter mais informações, consulte AoqAudioStreamDirection.
volume NSInteger Valor do volume. Valores válidos: 0 a 100.

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

getAudioFileVolume:type:

Obtém o volume atual do arquivo de áudio.

- (int)getAudioFileVolume:(NSString * _Nonnull)fileId
                     type:(AoqAudioStreamDirection)type;

Parâmetros

Parâmetros Tipo Descrição
fileId NSString * 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.

Fluxos de áudio externos

addAudioExternalStream:config:

Adiciona um fluxo de áudio externo.

- (int)addAudioExternalStream:(NSString * _Nonnull)streamId
                       config:(AoqAudioExternalStreamConfig * _Nonnull)config;

Parâmetros

Parâmetros Tipo Descrição
streamId NSString * ID de fluxo de áudio externo. A camada de negócios deve garantir que seja única.
config 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:dados:

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.

- (int)pushAudioExternalStreamData:(NSString * _Nonnull)streamId
                              data:(AoqAudioFrameData * _Nonnull)data;

Parâmetros

Parâmetros Tipo Descrição
streamId NSString * 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:type:volume:

Define o volume de um fluxo de áudio externo.

- (int)setAudioExternalStreamVolume:(NSString * _Nonnull)streamId
                               type:(AoqAudioStreamDirection)type
                             volume:(NSInteger)volume;

Parâmetros

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

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

getAudioExternalStreamVolume:tipo:

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

- (int)getAudioExternalStreamVolume:(NSString * _Nonnull)streamId
                               type:(AoqAudioStreamDirection)type;

Parâmetros

Parâmetros Tipo Descrição
streamId NSString * 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.

clearAudioExternalStreamBuffer:fadeoutMs:

Limpa o buffer de um fluxo de áudio externo.

- (void)clearAudioExternalStreamBuffer:(NSString * _Nonnull)streamId
                              fadeoutMs:(NSInteger)fadeoutMs;

Parâmetros

Parâmetros Tipo Descrição
streamId NSString * ID do fluxo de áudio externo
fadeoutMs NSInteger 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.

- (int)removeAudioExternalStream:(NSString * _Nonnull)streamId;

Parâmetros

Parâmetros Tipo Descrição
streamId NSString * 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.

- (int)sendDataMsg:(AoqDataMsg * _Nonnull)msg;

Parâmetros

Parâmetros Tipo Descrição
msg 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 delegado de retorno de chamada de dados do quadro de áudio. Passe nulo para interromper retornos de chamada. Depois de definir o delegado, ligue enableAudioFrameObserver:audioSource:config: para ativar o retorno de chamada para a fonte de dados correspondente.

- (int)setAudioFrameObserver:(id<aoqaudioframedelegate> _Nullable)delegate;

Parâmetros

Parâmetros Tipo Descrição
delegate id<aoqaudioframedelegate> Delegado de retorno de chamada de quadro de áudio. Para obter mais informações, consulte AoqAudioFrameDelegate. Passe nulo para interromper retornos de chamada.

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

enableAudioFrameObserver:audioFonte:config:

Habilita ou desabilita o retorno de chamada do quadro de áudio em uma posição especificada.

- (int)enableAudioFrameObserver:(BOOL)enabled
                   audioSource:(AoqAudioSource)audioSource
                        config:(AoqAudioObserverConfig * _Nonnull)config;

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 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 delegado de retorno de chamada de dados do quadro de vídeo. Passe nulo para interromper retornos de chamada. Depois de definir o delegado, ligue enableVideoFrameObserver:videoSource:config: para ativar o retorno de chamada para a fonte de dados correspondente.

- (int)setVideoFrameObserver:(id<aoqvideoframedelegate> _Nullable)delegate;

Parâmetros

Parâmetros Tipo Descrição
delegate id<aoqvideoframedelegate> Delegado de retorno de chamada de quadro de vídeo. Para obter mais informações, consulte AoqVideoFrameDelegate. Passe nulo para interromper retornos de chamada.

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

enableVideoFrameObserver:videoFonte:config:

Ativa ou desativa o retorno de chamada do quadro de vídeo em uma posição especificada.

- (int)enableVideoFrameObserver:(BOOL)enabled
                    videoSource:(AoqVideoSource)videoSource
                         config:(AoqVideoObserverConfig * _Nonnull)config;

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

AoqEngineDelegado

AoqEngineDelegate é o ponto de entrada unificado para todas as notificações de eventos assíncronos do SDK. É repassado quando você liga createEngine:delegate:. Todos os métodos de retorno de chamada são @required. Transições de estado:Disconnected → Connecting → Connected/Failed → Disconnected.

onError:mensagem:

Retorno de chamada de erro do mecanismo.

- (void)onError:(NSInteger)code message:(NSString * _Nonnull)message;

Parâmetros

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

onWarning:mensagem:

Retorno de chamada de aviso do motor.

- (void)onWarning:(NSInteger)code message:(NSString * _Nonnull)message;

Parâmetros

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

####onConnectionStatusChange:

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

- (void)onConnectionStatusChange:(AoqConnectionStatus)status;

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.

- (void)onStats:(AoqStats * _Nonnull)stats;

Parâmetros

Parâmetros Tipo Descrição
stats 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.

- (void)onAudioDeviceStateChanged:(AoqAudioDeviceState * _Nonnull)state;

Parâmetros

Parâmetros Tipo Descrição
state 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.

- (void)onAudioDeviceRouteChanged:(NSInteger)routeType;

Parâmetros

Parâmetros Tipo Descrição
routeType NSInteger Tipo de rota. Para os valores válidos, consulte AoqAudioDeviceRouteType.

####onAudioFileState:

Retorno de chamada para status de reprodução de arquivo de áudio.

- (void)onAudioFileState:(AoqAudioFileState * _Nonnull)state;

Parâmetros

Parâmetros Tipo Descrição
state 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:.

- (void)onLocalAudioVolumeIndication:(AoqAudioVolume * _Nonnull)volume;

Parâmetros

Parâmetros Tipo Descrição
volume 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.

- (void)onVideoDeviceStateChanged:(AoqVideoDeviceState * _Nonnull)state;

Parâmetros

Parâmetros Tipo Descrição
state 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.

- (void)onDataMsg:(AoqDataMsg * _Nonnull)msg;

Parâmetros

Parâmetros Tipo Descrição
msg AoqDataMsg * Mensagem de dados. Para obter mais informações, consulte AoqDataMsg.

AoqAudioFrameDelegate

Protocolo para retornos de chamada de dados de quadros de áudio. Todos os métodos são @optional. 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.

- (void)onCapturedAudioFrame:(AoqAudioFrameData * _Nonnull)frame;

Parâmetros

Parâmetros Tipo Descrição
frame 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.

- (void)onProcessCapturedAudioFrame:(AoqAudioFrameData * _Nonnull)frame;

Parâmetros

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

onPublishAudioFrame:frame:

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.

- (void)onPublishAudioFrame:(AoqTrackType)trackType
                      frame:(AoqAudioFrameData * _Nonnull)frame;

Parâmetros

Parâmetros Tipo Descrição
trackType AoqTrackType Tipo de trilha. Para obter mais informações, consulte AoqTrackType.
frame 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.

- (void)onPlaybackAudioFrame:(AoqAudioFrameData * _Nonnull)frame;

Parâmetros

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

AoqVideoFrameDelegate

Protocolo para retornos de chamada de dados de quadros de vídeo. Todos os métodos são @optional. 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 YES indica que os dados foram modificados e devem ser gravados novamente no SDK. A reescrita entra em vigor apenas para I420 e CVPixelBuffer. Um valor de retorno de NO 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.

- (BOOL)onCapturedVideoFrame:(AoqTrackType)trackType frame:(AoqVideoFrame * _Nonnull)frame;

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:YES indica que os dados foram modificados e devem ser gravados novamente no SDK;NO indica somente leitura.

onPreEncodeVideoFrame:frame:

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.

- (BOOL)onPreEncodeVideoFrame:(AoqTrackType)trackType
                        frame:(AoqVideoFrame * _Nonnull)frame;

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:YES indica que os dados foram modificados e devem ser gravados novamente no SDK;NO indica somente leitura.

onRemoteVideoFrame:frame:

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.

- (BOOL)onRemoteVideoFrame:(AoqTrackType)trackType
                     frame:(AoqVideoFrame * _Nonnull)frame;

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:YES indica que os dados foram modificados e devem ser gravados novamente no SDK;NO indica somente leitura.

Tipos de dados e enumerações

AoqScreenSourceList

Campo Tipo Descrição
sourceList NSArray<AoqScreenSourceInfo *> * Matriz de fontes de tela

AoqScreenSourceInfo

Campo Tipo Valor padrão Descrição
sourceType AoqScreenShareSourceType Desktop Tipo de fonte
sourceId int64_t 0 ID da fonte
sourceName NSString * — Nome da fonte
sourceIsSelf BOOL — 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 NO Se o aplicativo fornece quadros de tela brutos.
sourceId int64_t 0 ID de origem da tela.
sourceType AoqScreenShareSourceType AoqScreenShareSourceTypeWindow Tipo de origem da tela.

Tipos gerais

AoqCreateConfig

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

Campo Tipo Valor padrão Descrição
workDir NSString * "" Diretório de trabalho do SDK
enableDumpAudio BOOL NO Especifica se deve ser ativado o despejo de dados de áudio brutos (para depuração)
extras NSString * "" Parâmetros estendidos
maxEncodedVideoFrameBytes NSInteger 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 NO 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.

Campo Tipo Descrição
token NSString * Token de autenticação de conexão
sid NSString * ID da sessão
certFingerprint NSString * Impressão digital do certificado do servidor
relayEndpoints NSArray<aoqrelayendpoint *>* Lista de pontos de acesso de retransmissão
workspaceIdHash NSString * ID de hash do espaço de trabalho
publishTracks NSArray<aoqtrackparam *>* Matriz de atributos de faixa de publicação local
subscribeTracks NSArray<aoqtrackparam *>* Matriz de atributos de faixa de assinatura local

AoqRelayEndpoint

Um ponto de acesso de retransmissão.

Campo Tipo Valor padrão Descrição
routeIndex NSInteger -1 Índice de caminho
endpoint NSString * "" Endereço do servidor (nome de domínio ou endereço IP)
port NSInteger 0 Porta do servidor
tcpPort NSInteger 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

Estrutura de dados de uma mensagem em tempo real.

Campo Tipo Descrição
data NSData * Conteúdo da mensagem. Aponta para a memória mantida pelo chamador.

Tipos de estatísticas

####AoqStats

Estatísticas do motor.

Campo Tipo Descrição
audioPublishStats NSArray<aoqaudiopublishstats *>* Matriz de estatísticas de publicação para áudio
videoPublishStats NSArray<aoqvideopublishstats *>* Conjunto de estatísticas de publicação para vídeo
dataMsgPublishStats NSArray<aoqdatamsgpublishstats *>* Conjunto de estatísticas de publicação para mensagens de dados
audioSubscribeStats NSArray<aoqaudiosubscribestats *>* Matriz de estatísticas de assinatura de áudio
videoSubscribeStats NSArray<aoqvideosubscribestats *>* Matriz de estatísticas de inscrição para vídeo
dataMsgSubscribeStats NSArray<aoqdatamsgsubscribestats *>* Matriz de estatísticas de assinatura para mensagens de dados
networkStats AoqNetworkStats * Estatísticas da rede

####AoqNetworkStats

Estatísticas da rede.

Campo Tipo Descrição
sendBitrate NSUInteger Taxa de bits de envio, em bit/s
sendBytes NSUInteger Bytes cumulativos enviados
recvBitrate NSUInteger Taxa de bits de recepção, em bit/s
recvBytes NSUInteger Bytes acumulados recebidos
loss NSUInteger Taxa de perda de pacotes, de 0 a 100
rtt NSUInteger 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 NSUInteger Taxa de bits, em bits/s
bytes NSUInteger Bytes cumulativos
encodeVolume NSUInteger 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 NSUInteger Taxa de bits, em bits/s
bytes NSUInteger Bytes cumulativos
encodeFps NSUInteger 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 NSUInteger Taxa de bits, em bits/s
bytes NSUInteger Bytes cumulativos

AoqAudioSubscribeStats

Assinando estatísticas para áudio.

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

AoqVideoSubscribeStats

Inscrever estatísticas para vídeo.

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

AoqDataMsgSubscribeStats

Inscrever estatísticas para mensagens de dados.

Campo Tipo Descrição
trackType AoqTrackType Tipo de trilha
bitrate NSUInteger Taxa de bits, em bits/s
bytes NSUInteger 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 não é suportada
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
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

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. Suporta ligação ascendente.

AoqEncoderType

Tipo de codificador.

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 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 NO Especifica se deve ser usada captura externa
channel NSInteger 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 NO Especifica se deve ser usada reprodução externa
channel NSInteger 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 NSInteger 48000 Taxa de amostragem, em Hz
channel NSInteger 1 Número de canais
bitrate NSInteger 32000 Taxa de bits, em bits/s

AoqAudioDeviceState

Estado do dispositivo de áudio.

Campo Tipo Descrição
state AoqAudioDeviceStateCode Código de estado
reason NSInteger 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 NSString * - Nome do arquivo (incluindo o caminho). Obrigatório.
cycles NSInteger -1 Número de loops. -1 indica loop ilimitado.
startPosMs NSInteger 0 Posição inicial de reprodução, em ms
publishVolume NSInteger 100 Volume de publicação. Valores válidos: 0 a 100.
playoutVolume NSInteger 100 Volume de reprodução. Valores válidos: 0 a 100.

AoqAudioFileState

Estado do arquivo de áudio.

Campo Tipo Descrição
fileId NSString * 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 faixa de áudio
codecType AoqEncoderType AudioPCM Formato de fluxo de áudio. PCM é suportado.
channels NSInteger 1 Número de canais
sampleRate NSInteger 48000 Taxa de amostragem, em Hz
playoutVolume NSInteger 100 Volume de reprodução. Valores válidos: 0 a 100.
publishVolume NSInteger 100 Volume de publicação. Valores válidos: 0 a 100.
maxBufferDuration NSInteger 1000 Duração máxima do buffer, em ms
enable3A BOOL NO Especifica se o processamento 3A deve ser aplicado ao PCM de entrada

AoqAudioFrameData

Dados de áudio externos.

Campo Tipo Descrição
dataPtr void * Ponteiro para os dados PCM de áudio bruto
dataSize NSInteger Número de bytes dos dados PCM
numOfSamples NSInteger Número de amostras (por canal)
bytesPerSample NSInteger Bytes por amostra
numOfChannels NSInteger Número de canais
samplesPerSec NSInteger Número de amostras por segundo
pushSequence int32_t Rodada de entrada PCM
timeStamp int64_t Carimbo de data/hora
autoGenMute BOOL Válido em retornos de chamada de dados. YES indica dados silenciosos gerados pelo SDK.

AoqAudioStreamDirection

Direção de um fluxo de áudio externo.

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

AoqAudioExternalStreamToggle

Estado de comutação do fluxo de áudio externo.

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

AoqAudioSource

Fonte de dados do retorno de chamada do quadro 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ção de retorno de chamada de quadro de áudio.

Campo Tipo Valor padrão Descrição
sampleRate NSInteger 48000 Taxa de amostragem do áudio de retorno de chamada
channels NSInteger 1 Número de canais de áudio no retorno de chamada
mode AoqAudioObserverMode ReadOnly Modo leitura-gravação

AoqAudioVolumeIndicaçãoConfig

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

Campo Tipo Valor padrão Descrição
reportSpeech BOOL NO Seja para detectar fala.
interval NSInteger 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 NSInteger 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 NO Se a fala foi detectada.
volume NSInteger 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 NSInteger 1280 Largura da captura, em pixels. Este parâmetro é ineficaz quando isExternal=YES.
height NSInteger 720 Altura da captura, em pixels. Este parâmetro é ineficaz quando isExternal=YES.
fps NSInteger 15 Taxa de quadros de captura. Este parâmetro é ineficaz quando isExternal=YES (o ritmo é determinado pela entrega do quadro).
isExternal BOOL NO Especifica se a captura externa deve ser usada. Se for YES, a câmera não é aberta e os quadros são alimentados por pushExternalVideoCapturedFrame:.

####AoqVideoCanvas

Estrutura de dados para renderização de vídeo.

Campo Tipo Valor padrão Descrição
view NSView * nil Visualização de exibição. Passe nulo para remover a ligação de renderização.
renderMode AoqRenderMode Auto Modo de renderização

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

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
AoqVideoPixelFormatCVPixelBuffer 6 Caminho de cópia zero. Defina o pixelBuffer campo para CVPixelBufferRef.

AoqVideoFrame

Dados de vídeo externos.

Campo Tipo Descrição
format AoqVideoPixelFormat Formato de pixels
width NSInteger Largura, em pixels
height NSInteger Altura, em pixels
data NSData * Dados em formato compactado (NV12/NV21/BGRA/RGBA)
dataY/dataU/dataV NSData * Dados dos três aviões I420
strideY/strideU/strideV NSInteger Passo dos três aviões I420
pixelBuffer CVPixelBufferRef Cópia zero, que é usada quando format=AoqVideoPixelFormatCVPixelBuffer
timeStamp int64_t Carimbo de data e hora, em ms. Se for 0, o SDK o preenche com o relógio local.

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 NSData * Dados codificados
width NSInteger Largura, em pixels
height NSInteger 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 NSInteger 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

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 entram em vigor e participam da negociação como proposta de assinatura, enquanto os demais campos são utilizados apenas para codificação.

Campo Tipo Valor padrão Descrição
isExternal BOOL NO Modo de codificação externa. Quando é YES, 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 NSInteger 540 Largura da resolução
height NSInteger 960 Altura da resolução
fps NSInteger 5 Taxa de quadros
bitrate NSInteger 500000 Taxa de bits inicial, em bit/s
minBitrate NSInteger 128000 Taxa de bits mínima, em bit/s
keyframeInterval NSInteger 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ção de retorno de chamada de quadro 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 leitura-gravação. ReadWrite é compatível apenas com I420/CVPixelBuffer.
mirrorApplied BOOL NO 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.

####AoqRenderView

O controle de visualização de renderização, que herda de NSView e pode ser usado como AoqVideoCanvas.view.

Atributo Tipo Descrição
engineDisplayView NSView * (somente leitura) Visualização de exibição usada internamente pelo mecanismo
renderWidth int (somente leitura) Largura de renderização
renderHeight int (somente leitura) Altura de renderização
enableMetal BOOL (somente leitura) Especifica se a renderização Metal deve ser habilitada
delegate id<aoqrenderviewdelegate> Delegado de evento da visualização de renderização

AoqRenderViewDelegate

O protocolo delegado de evento da visualização de renderização.

- (void)onRenderViewSizeChanged:(AoqRenderView * _Nonnull)view;
Retorno de chamada Descrição
onRenderViewSizeChanged: Retorno de chamada para renderização de alterações no tamanho da visualização