Skip to main content
AOQ SDK overview

Referência da API do AOQ Client SDK para macOS

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

O SDK mantém a instância do engine como um singleton global, fornece APIs por meio da classe AoqClientEngine e reporta eventos assíncronos pelo protocolo AoqEngineDelegate.

Índice de APIs

Ciclo de vida do engine

API

Descrição

createEngine:delegate:

Crie a instância do engine (singleton)

destroy

Destrói a instância do engine

getVersion

Obtém a versão do SDK

connect:

Conecta ao servidor relay

disconnect

Desconecta do servidor

Gerenciamento de dispositivos de áudio

API

Descrição

startAudioCapture:

Abre o dispositivo de captura de áudio (microfone)

stopAudioCapture

Fecha o dispositivo de captura de áudio

muteAudioCapture:

Silencia ou reativa a captura de áudio

startAudioPlayer:

Inicia a renderização de áudio para reproduzir áudio remoto

stopAudioPlayer

Interrompe a renderização de áudio

pauseAudioPlayer:

Pausa a renderização de áudio (com suporte a fade-out)

resumeAudioPlayer:

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

interruptAudioPlayer:fadeMs:

Interrompe a sessão de áudio atual

enableLocalAudioVolumeIndication:

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

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

API

Descrição

setAudioEncoderConfig:

Defina os parâmetros de codificação de áudio

setAudioDecoderConfig:

Defina os parâmetros de decodificação de áudio

Gerenciamento de dispositivos de vídeo

API

Descrição

startVideoCapture:

Abre o dispositivo de captura de vídeo (câmera)

stopVideoCapture

Fecha o dispositivo de captura de vídeo

setLocalView:canvas:

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

setRemoteView:canvas:

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

Codificação de vídeo e entrada externa

API

Descrição

setVideoEncoderConfig:

Defina os parâmetros de codificação de vídeo

setVideoDecoderConfig:

Defina os parâmetros de decodificação de vídeo

pushExternalVideoCapturedFrame:frame:

Envia um frame de vídeo capturado externamente

pushExternalVideoEncodedFrame:frame:

Envia um frame de vídeo codificado externamente

Controle de stream de mídia

API

Descrição

enableSendMediaStream:enable:

Ative ou desative o envio de uma stream de mídia local

Reprodução de arquivos de áudio

API

Descrição

startAudioFile:config:

Inicia a reprodução de um arquivo de áudio local na stream de publicação

stopAudioFile:

Interrompe a reprodução do arquivo de áudio

pauseAudioFile:

Pausa a reprodução do arquivo de áudio

resumeAudioFile:

Retoma a reprodução do arquivo de áudio

getAudioFileDuration:

Consulta a duração total do arquivo de áudio

getAudioFileCurrentPosition:

Consulta a posição atual de reprodução do arquivo de áudio

setAudioFilePositionMillis:positionMillis:

Defina a posição de reprodução do arquivo de áudio (seek)

setAudioFileVolume:type:volume:

Defina o volume do arquivo de áudio

getAudioFileVolume:type:

Consulta o volume atual do arquivo de áudio

Streams de áudio externas

API

Descrição

addAudioExternalStream:config:

Adiciona uma stream de áudio externa

pushAudioExternalStreamData:data:

Fornece dados PCM de áudio externo

setAudioExternalStreamVolume:type:volume:

Defina o volume de uma stream de áudio externa

getAudioExternalStreamVolume:type:

Consulta o volume de uma stream de áudio externa

clearAudioExternalStreamBuffer:fadeoutMs:

Limpa o buffer de uma stream de áudio externa

removeAudioExternalStream:

Remove uma stream de áudio externa

Mensagens em tempo real

API

Descrição

sendDataMsg:

Envia uma mensagem de dados em tempo real

Callbacks de frames de áudio

API

Descrição

setAudioFrameObserver:

Defina o listener de callback de dados de frame de áudio

enableAudioFrameObserver:audioSource:config:

Ative ou desative o callback de frame de áudio em uma posição específica

Callbacks de frames de vídeo

API

Descrição

setVideoFrameObserver:

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

enableVideoFrameObserver:videoSource:config:

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

Callbacks do AoqEngineDelegate

Callback

Descrição

onError:message:

Callback de erro do engine

onWarning:message:

Callback de aviso do engine

onConnectionStatusChange:

Callback de alteração de status de conexão

onStats:

Callback de estatísticas do engine

onAudioDeviceStateChanged:

Callback de alteração de status operacional do dispositivo de áudio

onAudioDeviceRouteChanged:

Callback de alteração de rota de saída de áudio

onAudioFileState:

Callback de status de reprodução de arquivo de áudio

onLocalAudioVolumeIndication:

Callback de indicação de volume de captura local

onVideoDeviceStateChanged:

Callback de alteração de status operacional do dispositivo de vídeo

onDataMsg:

Callback para mensagem de dados em tempo real recebida

Detalhes das APIs

Ciclo de vida do engine

createEngine: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.
+ (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 engine. Para mais informações, consulte AoqCreateConfig.

delegate

id<AoqEngineDelegate>

Delegate de callback de eventos do engine. Para mais informações, consulte AoqEngineDelegate.

Retorno: A instância do engine. Nunca retorna nil.

destroy

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

getVersion

Obtém a versão do SDK.
+ (NSString * _Nonnull)getVersion;
Retorno: A string de versão.

connect:

Conecta ao servidor relay. O servidor de aplicação obtém parâmetros temporários de conexão AOQ com base no protocolo em uso e os envia ao cliente. Para mais informações, consulte Token authentication.
- (int)connect:(AoqConnectConfig * _Nonnull)config;
Parâmetros

Parâmetros

Tipo

Descrição

config

AoqConnectConfig *

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

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

disconnect

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

Gerenciamento de dispositivos de áudio

startAudioCapture:

Abre o dispositivo de captura de áudio (microfone).
- (int)startAudioCapture:(AoqAudioCaptureConfig * _Nonnull)config;
Parâmetros

Parâmetros

Tipo

Descrição

config

AoqAudioCaptureConfig *

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

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

stopAudioCapture

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

muteAudioCapture:

Silencia ou reativa a captura de áudio.
- (int)muteAudioCapture:(BOOL)mute;
Parâmetros

Parâmetros

Tipo

Descrição

mute

BOOL

YES silencia; NO reativa o áudio

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

startAudioPlayer:

Inicia a renderização de áudio para reproduzir áudio remoto.
- (int)startAudioPlayer:(AoqAudioPlaybackConfig * _Nonnull)config;
Parâmetros

Parâmetros

Tipo

Descrição

config

AoqAudioPlaybackConfig *

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

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

stopAudioPlayer

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

pauseAudioPlayer:

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

Parâmetros

Tipo

Descrição

fadeMs

NSInteger

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

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

resumeAudioPlayer:

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

Parâmetros

Tipo

Descrição

fadeMs

NSInteger

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

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

interruptAudioPlayer:fadeMs:

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

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

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

fadeMs

NSInteger

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

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

enableLocalAudioVolumeIndication:

Ative ou desative a indicação de volume de captura local. Quando ativado, o callback onLocalAudioVolumeIndication: é acionado no intervalo especificado por config.interval. Se config.interval <= 0, o callback é desativado. Chame este método após startAudioCapture: para obter dados de volume.
- (int)enableLocalAudioVolumeIndication:(AoqAudioVolumeIndicationConfig * _Nonnull)config;
Parâmetros

Parâmetros

Tipo

Descrição

config

AoqAudioVolumeIndicationConfig *

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

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

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

setAudioEncoderConfig:

Defina os parâmetros de codificação de áudio.
- (int)setAudioEncoderConfig:(AoqAudioCodecConfig * _Nonnull)config;
Parâmetros

Parâmetros

Tipo

Descrição

config

AoqAudioCodecConfig *

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

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

setAudioDecoderConfig:

Defina os parâmetros de decodificação de áudio.
- (int)setAudioDecoderConfig:(AoqAudioCodecConfig * _Nonnull)config;
Parâmetros

Parâmetros

Tipo

Descrição

config

AoqAudioCodecConfig *

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

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

Gerenciamento de dispositivos de vídeo

startVideoCapture:

Abre o dispositivo de captura de vídeo (câmera). Quando isExternal=YES estiver configurado, a câmera não será aberta e os frames serão fornecidos 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 mais informações, consulte AoqVideoCaptureConfig.

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

stopVideoCapture

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

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.
- (int)setLocalView:(AoqTrackType)trackType canvas:(AoqVideoCanvas * _Nullable)canvas;
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

Track de vídeo. Passe AoqTrackTypeVideo.

canvas

AoqVideoCanvas *

Canvas de renderização. Para mais informações, consulte AoqVideoCanvas. Passe nil para remover a vinculação.

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

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.
- (int)setRemoteView:(AoqTrackType)trackType canvas:(AoqVideoCanvas * _Nullable)canvas;
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

Track de vídeo. Passe AoqTrackTypeVideo.

canvas

AoqVideoCanvas *

Canvas de renderização. Para mais informações, consulte AoqVideoCanvas. Passe nil para remover a vinculação.

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

Codificação de vídeo e entrada externa

setVideoEncoderConfig:

Defina os parâmetros de codificação de vídeo e os roteia com base em config.trackType.
- (int)setVideoEncoderConfig:(AoqVideoCodecConfig * _Nonnull)config;
Parâmetros

Parâmetros

Tipo

Descrição

config

AoqVideoCodecConfig *

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

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

setVideoDecoderConfig:

Defina os parâmetros de decodificação de vídeo (uma proposta de codec no lado da assinatura, que deve ser chamada antes de connect:). A chamada é roteada com base em config.trackType.
- (int)setVideoDecoderConfig:(AoqVideoCodecConfig * _Nonnull)config;
Parâmetros

Parâmetros

Tipo

Descrição

config

AoqVideoCodecConfig *

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

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

pushExternalVideoCapturedFrame: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.
- (int)pushExternalVideoCapturedFrame:(AoqTrackType)trackType
                                frame:(AoqVideoFrame * _Nonnull)frame;
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

Destino do roteamento. Passe AoqTrackTypeVideo.

frame

AoqVideoFrame *

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

Retorno: 0 em caso de sucesso; AoqECVideoExternalBufferFull (210) indica que o buffer está cheio; 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.
- (int)pushExternalVideoEncodedFrame:(AoqTrackType)trackType
                               frame:(AoqVideoEncodedFrame * _Nonnull)frame;
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

Destino do roteamento. Passe AoqTrackTypeVideo.

frame

AoqVideoEncodedFrame *

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

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

Controle de stream de mídia

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

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

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

enable

BOOL

YES ativa o envio; NO desativa o envio

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

Reprodução de arquivos de áudio

startAudioFile:config:

Inicia a reprodução de um arquivo de áudio local na stream 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 único.

config

AoqAudioFileMixConfig *

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

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

stopAudioFile:

Interrompe a reprodução do arquivo de áudio.
- (int)stopAudioFile:(NSString * _Nonnull)fileId;
Parâmetros

Parâmetros

Tipo

Descrição

fileId

NSString *

ID do arquivo de áudio

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

pauseAudioFile:

Pausa a reprodução do arquivo de áudio.
- (int)pauseAudioFile:(NSString * _Nonnull)fileId;
Parâmetros

Parâmetros

Tipo

Descrição

fileId

NSString *

ID do arquivo de áudio

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

resumeAudioFile:

Retoma a reprodução do arquivo de áudio.
- (int)resumeAudioFile:(NSString * _Nonnull)fileId;
Parâmetros

Parâmetros

Tipo

Descrição

fileId

NSString *

ID do arquivo de áudio

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

getAudioFileDuration:

Obtém a duração total do arquivo de áudio.
- (long long)getAudioFileDuration:(NSString * _Nonnull)fileId;
Parâmetros

Parâmetros

Tipo

Descrição

fileId

NSString *

ID do arquivo de áudio

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

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

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

setAudioFilePositionMillis:positionMillis:

Defina a posição de reprodução do arquivo de áudio (seek).
- (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

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

setAudioFileVolume:type:volume:

Defina 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 da stream de áudio. Para mais informações, consulte AoqAudioStreamDirection.

volume

NSInteger

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

Retorno: 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 da stream de áudio. Para mais informações, consulte AoqAudioStreamDirection.

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

Streams de áudio externas

addAudioExternalStream:config:

Adiciona uma stream de áudio externa.
- (int)addAudioExternalStream:(NSString * _Nonnull)streamId
                       config:(AoqAudioExternalStreamConfig * _Nonnull)config;
Parâmetros

Parâmetros

Tipo

Descrição

streamId

NSString *

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

config

AoqAudioExternalStreamConfig *

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

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

pushAudioExternalStreamData: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.
- (int)pushAudioExternalStreamData:(NSString * _Nonnull)streamId
                              data:(AoqAudioFrameData * _Nonnull)data;
Parâmetros

Parâmetros

Tipo

Descrição

streamId

NSString *

ID da stream de áudio externa

data

AoqAudioFrameData *

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

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

setAudioExternalStreamVolume:type:volume:

Defina o volume de uma stream de áudio externa.
- (int)setAudioExternalStreamVolume:(NSString * _Nonnull)streamId
                               type:(AoqAudioStreamDirection)type
                             volume:(NSInteger)volume;
Parâmetros

Parâmetros

Tipo

Descrição

streamId

NSString *

ID da stream de áudio externa

type

AoqAudioStreamDirection

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

volume

NSInteger

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

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

getAudioExternalStreamVolume:type:

Obtém o volume de uma stream de áudio externa.
- (int)getAudioExternalStreamVolume:(NSString * _Nonnull)streamId
                               type:(AoqAudioStreamDirection)type;
Parâmetros

Parâmetros

Tipo

Descrição

streamId

NSString *

ID da stream de áudio externa

type

AoqAudioStreamDirection

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

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

clearAudioExternalStreamBuffer:fadeoutMs:

Limpa o buffer de uma stream de áudio externa.
- (void)clearAudioExternalStreamBuffer:(NSString * _Nonnull)streamId
                              fadeoutMs:(NSInteger)fadeoutMs;
Parâmetros

Parâmetros

Tipo

Descrição

streamId

NSString *

ID da stream de áudio externa

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 com o número especificado de milissegundos.

Retorno: Nenhum.

removeAudioExternalStream:

Remove uma stream de áudio externa.
- (int)removeAudioExternalStream:(NSString * _Nonnull)streamId;
Parâmetros

Parâmetros

Tipo

Descrição

streamId

NSString *

ID da stream de áudio externa

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

Mensagens em tempo real

sendDataMsg:

Envia uma mensagem de dados em tempo real.
- (int)sendDataMsg:(AoqDataMsg * _Nonnull)msg;
Parâmetros

Parâmetros

Tipo

Descrição

msg

AoqDataMsg *

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

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

Callbacks de frames de áudio

setAudioFrameObserver:

Defina o 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.
- (int)setAudioFrameObserver:(id<AoqAudioFrameDelegate> _Nullable)delegate;
Parâmetros

Parâmetros

Tipo

Descrição

delegate

id<AoqAudioFrameDelegate>

Delegate de callback de frame de áudio. Para mais informações, consulte AoqAudioFrameDelegate. Passe nil para interromper os callbacks.

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

enableAudioFrameObserver:audioSource:config:

Ative ou desative o callback de frame de áudio em uma posição específica.
- (int)enableAudioFrameObserver:(BOOL)enabled
                   audioSource:(AoqAudioSource)audioSource
                        config:(AoqAudioObserverConfig * _Nonnull)config;
Parâmetros

Parâmetros

Tipo

Descrição

enabled

BOOL

Especifica se permite callbacks de dados

audioSource

AoqAudioSource

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

config

AoqAudioObserverConfig *

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

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

Callbacks de frames de vídeo

setVideoFrameObserver:

Defina o 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.
- (int)setVideoFrameObserver:(id<AoqVideoFrameDelegate> _Nullable)delegate;
Parâmetros

Parâmetros

Tipo

Descrição

delegate

id<AoqVideoFrameDelegate>

Delegate de callback de frame de vídeo. Para mais informações, consulte AoqVideoFrameDelegate. Passe nil para interromper os callbacks.

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

enableVideoFrameObserver:videoSource:config:

Ative ou desative o callback de frame de vídeo em uma posição específica.
- (int)enableVideoFrameObserver:(BOOL)enabled
                    videoSource:(AoqVideoSource)videoSource
                         config:(AoqVideoObserverConfig * _Nonnull)config;
Parâmetros

Parâmetros

Tipo

Descrição

enabled

BOOL

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

videoSource

AoqVideoSource

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

config

AoqVideoObserverConfig *

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

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

Callbacks

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.
- (void)onError:(NSInteger)code message:(NSString * _Nonnull)message;
Parâmetros

Parâmetros

Tipo

Descrição

code

NSInteger

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

message

NSString *

Descrição do erro

onWarning:message:

Callback de aviso do engine.
- (void)onWarning:(NSInteger)code message:(NSString * _Nonnull)message;
Parâmetros

Parâmetros

Tipo

Descrição

code

NSInteger

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

message

NSString *

Descrição do aviso

onConnectionStatusChange:

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

Parâmetros

Tipo

Descrição

status

AoqConnectionStatus

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

onStats:

Callback de estatísticas do engine.
- (void)onStats:(AoqStats * _Nonnull)stats;
Parâmetros

Parâmetros

Tipo

Descrição

stats

AoqStats *

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

onAudioDeviceStateChanged:

Callback para alterações no status operacional de captura e reprodução do dispositivo de áudio.
- (void)onAudioDeviceStateChanged:(AoqAudioDeviceState * _Nonnull)state;
Parâmetros

Parâmetros

Tipo

Descrição

state

AoqAudioDeviceState *

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

onAudioDeviceRouteChanged:

Callback de alteração de rota de saída de áudio.
- (void)onAudioDeviceRouteChanged:(NSInteger)routeType;
Parâmetros

Parâmetros

Tipo

Descrição

routeType

NSInteger

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

onAudioFileState:

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

onLocalAudioVolumeIndication:

Callback de indicação de volume de captura local. Para ativá-lo, chame enableLocalAudioVolumeIndication:.
- (void)onLocalAudioVolumeIndication:(AoqAudioVolume * _Nonnull)volume;
Parâmetros

Parâmetros

Tipo

Descrição

volume

AoqAudioVolume *

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

onVideoDeviceStateChanged:

Callback para alterações no status operacional de captura do dispositivo de vídeo.
- (void)onVideoDeviceStateChanged:(AoqVideoDeviceState * _Nonnull)state;
Parâmetros

Parâmetros

Tipo

Descrição

state

AoqVideoDeviceState *

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

onDataMsg:

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

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.
- (void)onCapturedAudioFrame:(AoqAudioFrameData * _Nonnull)frame;
Parâmetros

Parâmetros

Tipo

Descrição

frame

AoqAudioFrameData *

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

onProcessCapturedAudioFrame:

Callback para dados após processamento 3A. Para ativá-lo, chame enableAudioFrameObserver: e defina audioSource = AoqAudioSourceProcessCaptured. É possível definir a taxa de amostragem e o número de canais, e o modo leitura-escrita é suportado.
- (void)onProcessCapturedAudioFrame:(AoqAudioFrameData * _Nonnull)frame;
Parâmetros

Parâmetros

Tipo

Descrição

frame

AoqAudioFrameData *

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

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.
- (void)onPublishAudioFrame:(AoqTrackType)trackType
                      frame:(AoqAudioFrameData * _Nonnull)frame;
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

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

frame

AoqAudioFrameData *

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

onPlaybackAudioFrame:

Callback para dados de reprodução. Para ativá-lo, chame enableAudioFrameObserver: e defina audioSource = AoqAudioSourcePlayback. É possível definir a taxa de amostragem e o número de canais, e o modo leitura-escrita é suportado.
- (void)onPlaybackAudioFrame:(AoqAudioFrameData * _Nonnull)frame;
Parâmetros

Parâmetros

Tipo

Descrição

frame

AoqAudioFrameData *

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

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.
- (BOOL)onCapturedVideoFrame:(AoqVideoFrame * _Nonnull)frame;
Parâmetros

Parâmetros

Tipo

Descrição

frame

AoqVideoFrame *

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

Retorno: 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.
- (BOOL)onPreEncodeVideoFrame:(AoqTrackType)trackType
                        frame:(AoqVideoFrame * _Nonnull)frame;
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

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

frame

AoqVideoFrame *

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

Retorno: 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.
- (BOOL)onRemoteVideoFrame:(AoqTrackType)trackType
                     frame:(AoqVideoFrame * _Nonnull)frame;
Parâmetros

Parâmetros

Tipo

Descrição

trackType

AoqTrackType

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

frame

AoqVideoFrame *

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

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

workDir

NSString *

""

Diretório de trabalho do SDK

enableDumpAudio

BOOL

NO

Especifica se ativa o dump de dados brutos de áudio (para depuração)

extras

NSString *

""

Parâmetros estendidos

AoqConnectConfig

Configuração para conexão ao servidor relay.

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 relay

workspaceIdHash

NSString *

ID hash do workspace

publishTracks

NSArray<AoqTrackParam *> *

Array de atributos de tracks de publicação local

subscribeTracks

NSArray<AoqTrackParam *> *

Array de atributos de tracks de assinatura local

AoqRelayEndpoint

Um ponto de acesso relay.

Campo

Tipo

Valor padrão

Descrição

routeIndex

NSInteger

-1

Índice do caminho

endpoint

NSString *

""

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

port

NSInteger

0

Porta do servidor

AoqTrackParam

O atributo da track.

Campo

Tipo

Valor padrão

Descrição

trackType

AoqTrackType

Audio

Tipo de track

trackMode

AoqTrackMode

Segment

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

data

NSData *

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

Tipos de estatísticas

AoqStats

Estatísticas do engine.

Campo

Tipo

Descrição

audioPublishStats

NSArray<AoqAudioPublishStats *> *

Array de estatísticas de publicação de áudio

videoPublishStats

NSArray<AoqVideoPublishStats *> *

Array de estatísticas de publicação de vídeo

dataMsgPublishStats

NSArray<AoqDataMsgPublishStats *> *

Array de estatísticas de publicação de mensagens de dados

audioSubscribeStats

NSArray<AoqAudioSubscribeStats *> *

Array de estatísticas de assinatura de áudio

videoSubscribeStats

NSArray<AoqVideoSubscribeStats *> *

Array de estatísticas de assinatura de vídeo

dataMsgSubscribeStats

NSArray<AoqDataMsgSubscribeStats *> *

Array de estatísticas de assinatura de mensagens de dados

networkStats

AoqNetworkStats *

Estatísticas de rede

AoqNetworkStats

Estatísticas de rede.

Campo

Tipo

Descrição

sendBitrate

NSUInteger

Taxa de bits de envio, em bit/s

sendBytes

NSUInteger

Bytes enviados acumulados

recvBitrate

NSUInteger

Taxa de bits de recebimento, em bit/s

recvBytes

NSUInteger

Bytes recebidos acumulados

loss

NSUInteger

Taxa de perda de pacotes, de 0 a 100

rtt

NSUInteger

Latência de ida e volta, em ms

AoqAudioPublishStats

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

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de track

bitrate

NSUInteger

Taxa de bits, em bit/s

bytes

NSUInteger

Bytes acumulados

encodeVolume

NSUInteger

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

AoqVideoPublishStats

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

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de track

bitrate

NSUInteger

Taxa de bits, em bit/s

bytes

NSUInteger

Bytes acumulados

encodeFps

NSUInteger

Taxa de frames de codificação

AoqDataMsgPublishStats

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

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de track

bitrate

NSUInteger

Taxa de bits, em bit/s

bytes

NSUInteger

Bytes acumulados

AoqAudioSubscribeStats

Estatísticas de assinatura de áudio.

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de track

bitrate

NSUInteger

Taxa de bits, em bit/s

bytes

NSUInteger

Bytes acumulados

playVolume

NSUInteger

Volume de reprodução

AoqVideoSubscribeStats

Estatísticas de assinatura de vídeo.

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de track

bitrate

NSUInteger

Taxa de bits, em bit/s

bytes

NSUInteger

Bytes acumulados

decodeFps

NSUInteger

Taxa de frames de decodificação

renderFps

NSUInteger

Taxa de frames de renderização

AoqDataMsgSubscribeStats

Estatísticas de assinatura de mensagens de dados.

Campo

Tipo

Descrição

trackType

AoqTrackType

Tipo de track

bitrate

NSUInteger

Taxa de bits, em bit/s

bytes

NSUInteger

Bytes acumulados

Enumerações

AoqErrorCode

Enumeração de códigos de erro.

Valor da enumeração

Valor

Descrição

AoqECOK

0

Sucesso

AoqECParamInvalid

1

Parâmetro inválido

AoqECStateInvalid

2

Estado inválido

AoqECUnSupport

3

A API não é suportada

AoqECAudio

100

Erro genérico de áudio

AoqECAudioExternalBufferFull

110

Buffer de áudio externo cheio

AoqECAudioDevice

120

Erro genérico de dispositivo de áudio

AoqECAudioDeviceRecordingAuthFailed

121

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

AoqECAudioDeviceRecordingOccupied

122

Dispositivo de gravação em uso

AoqECAudioDeviceRecordingBackgroundStart

123

Iniciar gravação em segundo plano

AoqECAudioDeviceRecordingStartFail

124

Falha ao iniciar gravação

AoqECAudioDevicePlayoutOccupied

125

Dispositivo de reprodução em uso

AoqECAudioDevicePlayoutBackgroundStart

126

Iniciar reprodução em segundo plano

AoqECAudioDevicePlayoutStartFail

127

Falha ao iniciar reprodução

AoqECVideo

200

Erro genérico de vídeo

AoqECVideoExternalBufferFull

210

Buffer de vídeo externo cheio

AoqECVideoExternalCaptureNotEnabled

211

Captura de vídeo externa não ativada

AoqECVideoExternalEncoderNotEnabled

212

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

AoqECVideoDevice

220

Erro genérico de dispositivo de vídeo

AoqECVideoDeviceCameraOpenFail

221

Falha ao abrir a câmera

AoqECVideoDeviceCameraAuthFailed

222

Permissão da câmera não concedida

AoqECVideoDeviceCameraOccupied

223

Câmera em uso

AoqECVideoDeviceCameraRunningError

224

Erro de execução da câmera

AoqECVideoCodec

230

Erro genérico de codec de vídeo

AoqECVideoCodecEncoderInitFail

231

Falha ao inicializar o codificador

AoqECVideoRender

240

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

AoqECVideoRenderCreateFail

241

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

AoqECVideoRenderDrawError

242

Erro de desenho de renderização

AoqWarningCode

Enumeração de códigos de aviso.

Valor da enumeração

Valor

Descrição

AoqWCOK

0

Sem aviso

AoqWCAudio

100

Aviso genérico de áudio

AoqWCAudioHowling

101

Microfonia detectada

AoqWCAudioDevice

120

Aviso genérico de dispositivo de áudio

AoqWCAudioDeviceMicEnumerateError

121

Erro de enumeração de microfone

AoqWCAudioDeviceMicStartTimeout

122

Tempo limite de inicialização do microfone

AoqWCAudioDeviceRecordingError

123

Erro de gravação

AoqWCAudioDeviceSpeakerEnumerateError

124

Erro de enumeração de alto-falante

AoqWCAudioDeviceSpeakerStartTimeout

125

Tempo limite de inicialização do alto-falante

AoqWCAudioDevicePlayoutError

126

Erro de reprodução

AoqWCVideo

200

Aviso genérico de vídeo

AoqWCVideoCameraEnumerateError

201

Erro de enumeração de câmera

AoqWCVideoEncoderSwitched

202

Codificador de vídeo alternado

AoqWCVideoRenderDowngrade

203

Renderização de vídeo rebaixada

AoqTrackType

Tipo de track.

Valor da enumeração

Valor

Descrição

AoqTrackTypeAudio

0

Track de áudio

AoqTrackTypeVideo

1

Track de vídeo

AoqTrackTypeData

2

Track de mensagem de dados

AoqEncoderType

Tipo de codificador.

Valor da enumeração

Valor

Descrição

AoqEncoderTypeUnknown

0

Formato desconhecido

AoqEncoderTypeAudioPCM

1

Áudio PCM

AoqEncoderTypeAudioOpus

2

Áudio Opus

AoqEncoderTypeVideoH264

3

Vídeo H.264

AoqEncoderTypeVideoJpeg

4

Vídeo JPEG

AoqEncoderTypeDataText

5

Texto de mensagem

AoqTrackMode

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

Valor da enumeração

Valor

Descrição

AoqTrackModeSegment

0

Segmentado: os dados são empacotados e entregues em segmentos semânticos, como uma frase.

AoqTrackModeStream

1

Streaming: os dados são entregues continuamente.

AoqConnectionStatus

Status de conexão do engine.

Valor da enumeração

Valor

Descrição

AoqConnectionStatusDisconnected

0

Desconectado

AoqConnectionStatusConnecting

1

Conectando

AoqConnectionStatusConnected

2

Conectado

AoqConnectionStatusFailed

3

Falha na conexão

Tipos de áudio

AoqAudioCaptureConfig

Configuração de captura de áudio.

Campo

Tipo

Valor padrão

Descrição

isExternal

BOOL

NO

Especifica se usa 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 usa reprodução externa

channel

NSInteger

1

Número de canais de reprodução de áudio. 1 e 2 são suportados.

AoqAudioCodecConfig

Configuração de codec de áudio.

Campo

Tipo

Valor padrão

Descrição

trackType

AoqTrackType

Audio

Tipo de track

codecType

AoqEncoderType

AudioPCM

Formato do codec

sampleRate

NSInteger

48000

Taxa de amostragem, em Hz

channel

NSInteger

1

Número de canais

bitrate

NSInteger

32000

Taxa de bits, em bit/s

AoqAudioDeviceState

Estado do dispositivo de áudio.

Campo

Tipo

Descrição

state

AoqAudioDeviceStateCode

Código de status

reason

NSInteger

Código de erro (AoqErrorCode)

AoqAudioDeviceStateCode

Código de estado do dispositivo de áudio.

Valor da enumeração

Valor

Descrição

AoqAudioDeviceNone

0

Sem estado

AoqAudioDeviceRecordStarting

1

Captura iniciando

AoqAudioDeviceRecordStarted

2

Captura iniciada

AoqAudioDeviceRecordStopping

3

Captura parando

AoqAudioDeviceRecordStopped

4

Captura parada

AoqAudioDeviceRecordFail

5

Falha na captura

AoqAudioDevicePlayStarting

6

Reprodução iniciando

AoqAudioDevicePlayStarted

7

Reprodução iniciada

AoqAudioDevicePlayStopping

8

Reprodução parando

AoqAudioDevicePlayStopped

9

Reprodução parada

AoqAudioDevicePlayFail

10

Falha na reprodução

AoqAudioDeviceRouteType

Tipo de rota do dispositivo de áudio.

Valor da enumeração

Valor

Descrição

AoqAudioDeviceRouteDefault

0

Padrão

AoqAudioDeviceRouteHeadset

1

Fones de ouvido

AoqAudioDeviceRouteEarpiece

2

Auricular

AoqAudioDeviceRouteHeadsetNoMic

3

Fones de ouvido sem microfone

AoqAudioDeviceRouteSpeakerPhone

4

Alto-falante integrado

AoqAudioDeviceRouteUsb

5

USB

AoqAudioDeviceRouteBluetooth

6

Bluetooth

AoqAudioDeviceRouteBluetoothA2dp

7

Bluetooth A2DP

AoqAudioFileMixConfig

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

Campo

Tipo

Valor padrão

Descrição

fileName

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 status

errorCode

AoqAudioFileErrorCode

Código de erro

AoqAudioFileStateCode

Código de estado do arquivo de áudio.

Valor da enumeração

Valor

Descrição

AoqAudioFileNone

0

Sem estado

AoqAudioFileStarted

1

Iniciado

AoqAudioFileStopped

2

Parado

AoqAudioFilePaused

3

Pausado

AoqAudioFileResumed

4

Retomado

AoqAudioFileEnded

5

Reprodução concluída

AoqAudioFileBuffering

6

Buffering

AoqAudioFileBufferingEnd

7

Buffering encerrado

AoqAudioFileFailed

8

Falha na reprodução

AoqAudioFileErrorCode

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

Valor da enumeração

Valor

Descrição

AoqAudioFileNoError

0

Sem erro

AoqAudioFileOpenFailed

1

Falha ao abrir o arquivo

AoqAudioFileDecodeFailed

2

Falha ao decodificar o arquivo

AoqAudioExternalStreamConfig

Configuração de stream de áudio externa.

Campo

Tipo

Valor padrão

Descrição

trackType

AoqTrackType

Audio

Tipo de track de áudio

codecType

AoqEncoderType

AudioPCM

Formato da stream 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 aplica processamento 3A ao PCM de entrada

AoqAudioFrameData

Dados de áudio externos.

Campo

Tipo

Descrição

dataPtr

void *

Ponteiro para os dados brutos de áudio PCM

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

Timestamp

autoGenMute

BOOL

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

AoqAudioStreamDirection

Direção de uma stream de áudio externa.

Valor da enumeração

Valor

Descrição

AoqAudioStreamPublish

0

Publicação de áudio

AoqAudioStreamPlayout

1

Reprodução de áudio

AoqAudioExternalStreamToggle

Estado de alternância de stream de áudio externa.

Valor da enumeração

Valor

Descrição

AoqAudioExternalStreamToggleNormal

0

Recuperado

AoqAudioExternalStreamTogglePause

1

Pausado

AoqAudioSource

Source de dados do callback de frame de áudio.

Valor da enumeração

Valor

Descrição

AoqAudioSourceCaptured

0

Dados de áudio capturados

AoqAudioSourceProcessCaptured

1

Dados de áudio após processamento 3A

AoqAudioSourcePublish

2

Dados de áudio a serem publicados (requer Connect bem-sucedido)

AoqAudioSourcePlayback

3

Dados de áudio a serem reproduzidos

AoqAudioObserverMode

Modo de callback de frame de áudio.

Valor da enumeração

Valor

Descrição

AoqAudioObserverModeReadOnly

0

Somente leitura

AoqAudioObserverModeReadWrite

1

Leitura e escrita

AoqAudioObserverConfig

Configuração de callback de frame de áudio.

Campo

Tipo

Valor padrão

Descrição

sampleRate

NSInteger

48000

Taxa de amostragem do áudio de callback

channels

NSInteger

1

Número de canais de áudio no callback

mode

AoqAudioObserverMode

ReadOnly

Modo leitura-escrita

AoqAudioVolumeIndicationConfig

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

Campo

Tipo

Valor padrão

Descrição

interval

NSInteger

0

Intervalo de callback, em ms. Um valor menor ou igual a 0 desativa o callback. Um valor maior que 0 e menor que 10 é tratado como 10.

smooth

NSInteger

3

Coeficiente de suavização de volume. Valores válidos: 0 a 10. Um valor maior resulta em uma saída mais suave.

AoqAudioVolume

Informações de volume local.

Campo

Tipo

Descrição

volume

NSInteger

Volume instantâneo suavizado. Valores válidos: 0 a 255.

Tipos de vídeo

AoqVideoCaptureConfig

Configuração de captura de vídeo.

Campo

Tipo

Valor padrão

Descrição

width

NSInteger

1280

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

height

NSInteger

720

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

fps

NSInteger

15

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

isExternal

BOOL

NO

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

AoqVideoCanvas

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

Campo

Tipo

Valor padrão

Descrição

view

NSView *

nil

View de exibição. Passe nil para remover a vinculação de renderização.

renderMode

AoqRenderMode

Auto

Modo de renderização

O chamador deve garantir que o ciclo de vida de 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

AoqRenderModeAuto

0

Modo automático

AoqRenderModeStretch

1

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

AoqRenderModeFill

2

Modo letterbox. Quando as proporções não coincidem, barras pretas são adicionadas na parte superior e inferior ou na esquerda e direita.

AoqRenderModeCrop

3

Modo recorte. Quando as proporções não coincidem, a largura ou altura é recortada e parte da imagem é perdida.

AoqVideoPixelFormat

Formato de pixel de vídeo.

Valor da enumeração

Valor

Descrição

AoqVideoPixelFormatUnknown

0

Formato desconhecido

AoqVideoPixelFormatI420

1

I420

AoqVideoPixelFormatNV12

2

NV12

AoqVideoPixelFormatNV21

3

NV21

AoqVideoPixelFormatBGRA

4

BGRA

AoqVideoPixelFormatRGBA

5

RGBA

AoqVideoPixelFormatCVPixelBuffer

6

Caminho de cópia zero. Defina o campo pixelBuffer como CVPixelBufferRef.

AoqVideoFrame

Dados de vídeo externos.

Campo

Tipo

Descrição

format

AoqVideoPixelFormat

Formato de pixel

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

strideY / strideU / strideV

NSInteger

Stride dos três planos I420

pixelBuffer

CVPixelBufferRef

Cópia zero, usado quando format=AoqVideoPixelFormatCVPixelBuffer

timeStamp

int64_t

Timestamp, em ms. Se for 0, o SDK o preenche com o relógio local.

AoqVideoEncodedFrame

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

Campo

Tipo

Descrição

codec

AoqVideoCodecType

Formato do codec

data

NSData *

Dados codificados

width

NSInteger

Largura, em pixels

height

NSInteger

Altura, em pixels

timeStamp

int64_t

Timestamp, em ms. Se for 0, o SDK o preenche com o relógio local.

AoqVideoCodecType

O tipo de codec do frame codificado externamente.

Valor da enumeração

Valor

Descrição

AoqVideoCodecTypeJPEG

0

JPEG

AoqVideoDeviceState

Estado do dispositivo de vídeo.

Campo

Tipo

Descrição

state

AoqVideoDeviceStateCode

Código de status

reason

NSInteger

Código de erro (AoqErrorCode)

AoqVideoDeviceStateCode

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

Valor da enumeração

Valor

Descrição

AoqVideoDeviceNone

0

Sem estado

AoqVideoDeviceCaptureStarting

1

Câmera iniciando

AoqVideoDeviceCaptureStarted

2

Câmera iniciada

AoqVideoDeviceCaptureStopping

3

Câmera parando

AoqVideoDeviceCaptureStopped

4

Câmera parada

AoqVideoDeviceCaptureFail

5

Falha ao iniciar a câmera

AoqMirrorMode

Modo espelho.

Valor da enumeração

Valor

Descrição

AoqMirrorModeDisabled

0

Desativar espelhamento

AoqMirrorModeEnabled

1

Ativar espelhamento

AoqOrientationMode

Modo de orientação.

Valor da enumeração

Valor

Descrição

AoqOrientationModeAuto

0

Automático

AoqOrientationModePortrait

1

Retrato

AoqOrientationModeLandscape

2

Paisagem

AoqVideoCodecConfig

Parâmetros de codec de vídeo, compartilhados por codificação e decodificação. Para decodificação, apenas trackType / codecType / width / height / fps / bitrate têm efeito e participam da negociação como uma proposta de assinatura, enquanto os outros campos são usados apenas para codificação.

Campo

Tipo

Valor padrão

Descrição

isExternal

BOOL

NO

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

trackType

AoqTrackType

Video

Tipo de track

codecType

AoqEncoderType

VideoH264

Formato do codec

width

NSInteger

540

Largura da resolução

height

NSInteger

960

Altura da resolução

fps

NSInteger

5

Taxa de frames

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 keyframes, em segundos

mirrorMode

AoqMirrorMode

Disabled

Modo espelho

orientationMode

AoqOrientationMode

Auto

Modo de orientação

AoqVideoSource

Source de dados do callback de frame de vídeo (posição no pipeline).

Valor da enumeração

Valor

Descrição

AoqVideoSourceCaptured

0

Dados de vídeo capturados antes do pré-processamento

AoqVideoSourcePreEncode

1

Dados de vídeo antes da codificação, após o pré-processamento

AoqVideoSourceRemote

2

Dados de vídeo remoto após decodificação e antes da renderização

AoqVideoObserverMode

Modo de callback de frame de vídeo.

Valor da enumeração

Valor

Descrição

AoqVideoObserverModeReadOnly

0

Somente leitura

AoqVideoObserverModeReadWrite

1

Leitura e escrita

AoqVideoObserverAlignment

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

Valor da enumeração

Valor

Descrição

AoqVideoObserverAlignmentDefault

0

Padrão

AoqVideoObserverAlignmentEven

1

Alinhamento par

AoqVideoObserverAlignment4

2

Alinhamento de 4 bytes

AoqVideoObserverAlignment8

3

Alinhamento de 8 bytes

AoqVideoObserverAlignment16

4

Alinhamento de 16 bytes

AoqVideoObserverConfig

Configuração de callback de frame de vídeo.

Campo

Tipo

Valor padrão

Descrição

format

AoqVideoPixelFormat

I420

Formato de pixel esperado dos dados de callback

alignment

AoqVideoObserverAlignment

Default

Política de alinhamento de largura

mode

AoqVideoObserverMode

ReadOnly

Modo leitura-escrita. ReadWrite é suportado apenas para I420 / CVPixelBuffer.

mirrorApplied

BOOL

NO

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

engineDisplayView

NSView * (somente leitura)

View de exibição usada internamente pelo engine

renderWidth

int (somente leitura)

Largura de renderização

renderHeight

int (somente leitura)

Altura de renderização

enableMetal

BOOL (somente leitura)

Especifica se ativa a renderização Metal

delegate

id<AoqRenderViewDelegate>

Delegate de eventos da view de renderização

AoqRenderViewDelegate

O protocolo delegate de eventos da view de renderização.
- (void)onRenderViewSizeChanged:(AoqRenderView * _Nonnull)view;

Callback

Descrição

onRenderViewSizeChanged:

Callback para alterações de tamanho da view de renderização

Referência da API de Geração de Texto
Geração de Imagens
  • FAQ
Geração de Vídeo
Áudio
Incorporação de Texto
Produção de Modelos
Referência da API do AOQ Client SDK para macOS - Alibaba Cloud Model Studio