Todos os produtos
Search
Central de documentação

ApsaraVideo Live:Interface AliRtcEngine

Última atualização: Jul 08, 2026

Lista os métodos de API disponíveis no SDK do ApsaraVideo Real-time Communication (ARTC) para Android.

Sumário

Interfaces básicas

API

Descrição

[getInstance[1/2]](#8f628e533bein)

Crie uma instância de AliRtcEngine usando o padrão singleton.

[getInstance[2/2]](#42a076dfc63yy)

Crie uma instância de AliRtcEngine (padrão singleton).

[destroy[1/2]](#37483c7052kzi)

Destrói um objeto AliRtcEngine.

[destroy[2/2]](#1a62de44b2faw)

Destrua o objeto AliRtcEngine.

setH5CompatibleMode

Ative o modo de compatibilidade com HTML5.

getH5CompatibleMode

Verifique se o ambiente atual é compatível com HTML5.

setRtcEngineEventListener

Define um listener para eventos de callback de comportamento do usuário local.

setRtcEngineNotify

Define um listener para eventos de notificação sobre o comportamento de usuários remotos.

getSdkVersion

Consulta a versão atual do SDK.

Métodos relacionados a canais

API

Descrição

setChannelProfile

Define o modo do canal.

setAudioProfile

Configura os modos de codificação de áudio e cenário.

isAudioOnly

Consulta se o modo somente áudio está ativado.

setAudioOnlyMode

Alterne entre o modo somente áudio ou áudio e vídeo.

[joinChannel[1/3]](#758b964acc7jd)

Entre em um canal.

[joinChannel[2/3]](#0bdf7f4909rz7)

Entre em um canal.

[joinChannel[3/3]](#349a116f53dno)

Entre no canal.

leaveChannel

Saia de um canal.

isInCall

Verifica se você está em um canal.

setClientRole

Defina a função do usuário.

getCurrentClientRole

Obtenha a função do usuário.

[refreshAuthInfo[1/2]](#975b9af9ecq1a)

Atualiza as informações de autenticação.

[refreshAuthInfo[2/2]](#ce11742ac3n04)

Atualize as informações de autenticação.

Métodos relacionados a publicação e assinatura

API

Descrição

publishLocalAudioStream

Interrompe ou retoma a publicação do stream de vídeo local. A publicação está habilitada por padrão.

isLocalAudioStreamPublished

Consulta se um stream de áudio está publicado.

setDefaultSubscribeAllRemoteAudioStreams

Especifica se deve assinar as faixas de áudio de usuários remotos. Por padrão, todas as faixas de áudio remotas são assinadas. Chame este método antes de entrar no canal.

subscribeRemoteAudioStream

Interrompe ou retoma a recepção do stream de áudio de um usuário remoto específico.

subscribeAllRemoteAudioStreams

Pare ou retome o recebimento de streams de áudio de todos os usuários remotos.

publishLocalVideoStream

Controla o envio do stream de vídeo local. O SDK envia por padrão.

isLocalVideoStreamPublished

Consulta se um stream de vídeo está publicado.

setDefaultSubscribeAllRemoteVideoStreams

Especifica se deve assinar os streams de vídeo de usuários remotos. Por padrão, todos os streams de vídeo remotos são assinados. Chame este método antes de entrar em um canal.

subscribeRemoteVideoStream

Pare ou retome a assinatura de streams de vídeo remotos especificados.

subscribeAllRemoteVideoStreams

Pare ou retome o recebimento de todos os streams de vídeo remotos.

[subscribeRemoteMediaStream[1/2]](#491116a3a6x1e)

Assine ou pare de assinar o stream de mídia de um usuário remoto específico. Use este método quando as faixas de áudio e vídeo estiverem disponíveis e exigirem gerenciamento.

[subscribeRemoteMediaStream[2/2]](#4cec275051vr6)

Pare ou retome o stream de mídia de um usuário remoto específico. Utilize esta API quando houver áudio e vídeo presentes que requeiram controle.

subscribeRemoteDestChannelStream

Pare ou retome o stream de mídia de um usuário remoto específico entre canais.

subscribeRemoteDestChannelAllStream

Pare ou retome as assinaturas de streams para todos os usuários entre canais.

setRemoteAudioVolume

Ajuste o volume de reprodução da recepção do stream.

Métodos relacionados ao gerenciamento de dispositivos de áudio

API

Descrição

muteLocalMic

Especifica se deve parar a publicação de áudio local.

muteRemoteAudioPlaying

Defina se deve parar a reprodução do stream de áudio remoto.

muteAllRemoteAudioPlaying

Pare ou retome toda a reprodução de áudio remoto.

[startAudioCapture[1/2]](#da980b4278qwn)

Inicie a captura de áudio.

[startAudioCapture[2/2]](#b71a48f4b84n0)

Inicia a captura de áudio.

stopAudioCapture

Encerre a captura de áudio.

setDefaultAudioRoutetoSpeakerphone

Defina o dispositivo de saída de áudio padrão.

enableSpeakerphone

Configure a saída de áudio para o auricular ou alto-falante.

isSpeakerOn

Consulta se o dispositivo de saída de áudio atual é o auricular ou o alto-falante.

enableAudioVolumeIndication

Ative a detecção de volume.

enableEarBack

Ative o monitoramento in-ear.

setEarBackVolume

Defina o volume do monitoramento in-ear.

startAudioPlayer

Ligue o dispositivo de reprodução de áudio.

stopAudioPlayer

Desligue o dispositivo de reprodução de áudio.

setPlayoutVolume

Defina o volume de reprodução local.

setRecordingVolume

Defina o volume de gravação.

playAudioFileTest

Reproduza arquivos de áudio.

stopAudioFileTest

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

startAudioCaptureTest

Ative a detecção do dispositivo de captura de áudio antes de uma chamada.

stopAudioCaptureTest

Encerre a detecção de captura de áudio.

Métodos relacionados a modificação de voz e reverberação

API

Descrição

setAudioEffectVoiceChangerMode

Defina o modo de efeito sonoro de alteração de voz.

setAudioEffectPitchValue

Defina o parâmetro de tom.

setAudioEffectReverbMode

Defina o modo de reverberação.

setAudioEffectReverbParamType

Define o modo de reverberação e seus parâmetros.

setAudioEffectBeautifyMode

Defina um padrão predefinido de efeito sonoro para aprimoramento de voz.

setAudioEffectEqualizationParam

Configure os parâmetros do equalizador de áudio (EQ) para ajustar o ganho de uma faixa de frequência específica.

Entrada de áudio personalizada

API

Descrição

addExternalAudioStream

Adicione um stream de áudio externo.

pushExternalAudioStreamRawData

Insira dados de stream de áudio externo.

setExternalAudioStreamPublishVolume

Define o volume do áudio externo para ingestão de stream.

getExternalAudioStreamPublishVolume

Consulta o volume do áudio externo para ingestão de stream.

setExternalAudioStreamPlayoutVolume

Define o volume de reprodução do stream de áudio externo.

getExternalAudioStreamPlayoutVolume

Obtém o volume de reprodução do stream de áudio externo.

removeExternalAudioStream

Exclua o stream de áudio externo.

Acompanhamento musical

API

Descrição do recurso

getAudioFileInfo

Obtenha informações do arquivo de áudio.

startAudioAccompany

Inicie a mixagem do acompanhamento.

stopAudioAccompany

Pare a mixagem do acompanhamento.

setAudioAccompanyVolume

Define o volume do acompanhamento tanto para reprodução local quanto para ingestão de stream.

setAudioAccompanyPublishVolume

Defina o volume do acompanhamento para ingestão de stream.

getAudioAccompanyPublishVolume

Obtenha o volume de ingestão de stream do acompanhamento.

setAudioAccompanyPlayoutVolume

Defina o volume de reprodução local do acompanhamento.

getAudioAccompanyPlayoutVolume

Obtenha o volume de reprodução local do acompanhamento.

pauseAudioAccompany

Pause a mixagem do acompanhamento.

resumeAudioAccompany

Retome a mixagem do acompanhamento.

getAudioAccompanyDuration

Obtenha a duração do arquivo de acompanhamento, em milissegundos.

getAudioAccompanyCurrentPosition

Obtenha o progresso da reprodução do arquivo de acompanhamento, em milissegundos.

setAudioAccompanyPosition

Defina a posição de reprodução do arquivo de acompanhamento.

Arquivo de efeitos sonoros

API

Descrição

preloadAudioEffect

Pré-carrega um efeito sonoro.

unloadAudioEffect

Exclui um arquivo de efeito sonoro pré-carregado.

playAudioEffect

Inicia a reprodução de um efeito sonoro.

stopAudioEffect

Para a reprodução de um efeito sonoro.

stopAllAudioEffects

Para a reprodução de todos os efeitos sonoros.

pauseAudioEffect

Pausa a reprodução de um efeito sonoro.

pauseAllAudioEffects

Pausa a reprodução de todos os efeitos sonoros.

resumeAudioEffect

Retoma a reprodução de um efeito sonoro.

resumeAllAudioEffects

Restaure todos os arquivos de efeitos sonoros.

setAudioEffectPublishVolume

Defina o volume de um efeito sonoro para ingestão de stream.

getAudioEffectPublishVolume

Obtém o volume de mixagem de um efeito sonoro para ingestão de stream.

setAllAudioEffectsPublishVolume

Defina o volume de todos os efeitos sonoros para ingestão de stream.

setAudioEffectPlayoutVolume

Defina o volume de um efeito sonoro para reprodução local.

getAudioEffectPlayoutVolume

Consulte o volume de um efeito sonoro para reprodução local.

setAllAudioEffectsPlayoutVolume

Define o volume de todos os efeitos sonoros para reprodução local.

Gravar arquivos de áudio e vídeo

API

Descrição do recurso

startRecord

Grave arquivos de áudio e vídeo (aac, wav, mp4).

stopRecord

Pare a gravação de arquivos de áudio/vídeo.

Métodos relacionados ao gerenciamento de dispositivos de vídeo

API

Descrição

createRenderSurfaceView

Cria uma visualização de renderização SurfaceView.

setLocalViewConfig

Define a janela de renderização e os parâmetros de desenho para a pré-visualização local.

setRemoteViewConfig

Configure a janela de renderização e os parâmetros de desenho para o vídeo remoto.

setCameraCapturerConfiguration

Configure as preferências de captura da câmera.

enableLocalVideo

Desativa ou reativa a captura de vídeo local.

muteLocalCamera

Especifica se deve parar a publicação de um stream de vídeo local.

isCameraOn

Verifique se a câmera está ligada.

setVideoEncoderConfiguration

Defina as propriedades de codificação de vídeo.

setVideoDecoderConfiguration

Defina as propriedades de decodificação de vídeo

switchCamera

Alterna entre as câmeras frontal e traseira. Por padrão, a câmera frontal é utilizada.

getCurrentCameraDirection

Consulta a direção atual da câmera.

startPreview

Inicie uma pré-visualização local.

stopPreview

Para uma pré-visualização local.

setCameraZoom

Defina a taxa de zoom da câmera.

GetCameraMaxZoomFactor

Obtém a taxa máxima de zoom da câmera.

GetCurrentZoom

Obtém a configuração atual de zoom da câmera.

SetExposure

Defina a exposição da câmera.

GetCurrentExposure

Obtenha a exposição da câmera.

GetMinExposure

Obtém a exposição mínima suportada pela câmera.

GetMaxExposure

Obtém a exposição máxima suportada pela câmera.

setCameraFlash

Configure o alternador do flash da câmera.

isCameraFocusPointSupported

Indica se o dispositivo suporta foco manual.

setCameraFocusPoint

Defina o ponto de foco manual da câmera.

isCameraExposurePointSupported

Especifica se a câmera suporta a definição de um ponto de exposição.

setCameraExposurePoint

Defina o ponto de exposição da câmera.

isCameraAutoFocusFaceModeSupported

Especifica se a câmera foca automaticamente em rostos.

setCameraAutoFocusFaceModeEnabled

Configure o foco facial da câmera.

setVideoMirrorMode

Configure o espelhamento de vídeo para pré-visualização e ingestão de stream.

setCapturePipelineScaleMode

Defina o momento do dimensionamento na captura de vídeo.

Métodos relacionados a callbacks de dados de vídeo

API

Descrição do recurso

registerVideoSampleObserver

Registra o objeto de saída de dados de vídeo.

unRegisterVideoSampleObserver

Cancele o registro do objeto de saída de dados de vídeo.

registerLocalVideoTextureObserver

Registre um observer para dados de textura OpenGL do stream de vídeo da câmera local.

unRegisterLocalVideoTextureObserver

Cancele o registro do observer de dados de textura OpenGL para o vídeo do stream da câmera local.

snapshotVideo

Recurso de captura de tela de vídeo.

Métodos relacionados a callbacks de dados de áudio

API

Descrição do recurso

registerAudioVolumeObserver

Registre o objeto de saída de dados de volume.

unRegisterAudioVolumeObserver

Cancele o registro do objeto de saída de dados de volume.

enableAudioFrameObserver

Configure os parâmetros de callback de áudio.

registerAudioFrameObserver

Registre o callback de dados de áudio.

Entrada de vídeo personalizada

API

Descrição

setExternalVideoSource

Habilita uma fonte de entrada de vídeo externa.

pushExternalVideoFrame

Importa dados de vídeo externos.

Métodos relacionados ao compartilhamento de tela

API

Descrição do recurso

startScreenShare

Ative a ingestão de stream de compartilhamento de tela.

startScreenShare

Inicie o compartilhamento de tela e stream de áudio.

Nota

Esta interface será descontinuada em breve.

startScreenShare

Inicie o compartilhamento de tela.

Nota

Esta API será descontinuada em breve.

stopScreenShare

Pare o stream de compartilhamento de tela.

setAudioShareVolume

Defina o volume do stream de áudio compartilhado.

isScreenSharePublished

Consulta se o compartilhamento de tela está sendo enviado.

setScreenShareEncoderConfiguration

Configure as propriedades de codificação de vídeo do stream de tela.

Interface de retransmissão de transmissão ao vivo

API

Descrição

startPublishLiveStream

Inicie a transmissão ao vivo retransmitida.

updatePublishLiveStream

Atualize os parâmetros da transmissão ao vivo retransmitida.

stopPublishLiveStream

Para a transmissão ao vivo retransmitida.

getPublishLiveStreamState

Consulte o status da transmissão ao vivo retransmitida.

API de teste de qualidade de rede

API

Descrição

startNetworkQualityProbeTest

Inicie o teste de qualidade de rede.

stopNetworkQualityProbeTest

Para o teste de qualidade de rede.

SEI

API

Descrição do recurso

sendMediaExtensionMsg

Envie stream SEI.

sendMediaExtensionMsgEx

Envie stream SEI (extensão).

Outras APIs

API

Descrição

setParameter

Define parâmetros personalizados.

getParameter

Obtenha parâmetros personalizados

setLogDirPath

Define o caminho de armazenamento para arquivos de log do SDK.

setLogLevel

Define o nível de log.

setDeviceOrientationMode

Configure a orientação do dispositivo.

requestAudioFocus

Solicite foco de áudio.

abandonAudioFocus

Libere o foco de áudio.

getNetworkTime

Obtenha a hora atual da rede.

sendDataChannelMsg

Envie mensagens personalizadas pelo canal de dados.

Métodos AliveEnv

API

Descrição do recurso

setGlobalEnvironment

Defina o ambiente global.

Callbacks

AliRtcEngineEventListener

API

Descrição do recurso

onConnectionStatusChange

Callback de status de conexão de rede. Preste atenção a este callback.

OnLocalDeviceException

Callback para anormalidades em dispositivos locais. Os clientes devem tratar este callback.

onJoinChannelResult

Callback do resultado ao entrar em um canal.

onLeaveChannelResult

Callback de resultado ao sair de um canal.

onAudioPublishStateChanged

Callback para alterações na ingestão de stream de áudio.

onAudioSubscribeStateChanged

Callback para alterações no status de assinatura de áudio.

onVideoPublishStateChanged

Callback de alteração na ingestão de stream de vídeo.

onVideoSubscribeStateChanged

Callback para alterações na assinatura do stream da câmera.

onPublishLiveStreamStateChanged

Callback de alteração de status da ingestão de stream retransmitido.

onPublishTaskStateChanged

Callback acionado quando o status de uma tarefa de retransmissão muda.

onNetworkQualityChanged

Callback de alteração de qualidade de rede.

onNetworkQualityProbeTest

Callback para detecção de qualidade de rede. Este callback é acionado cerca de 3 segundos após o início da detecção.

onNetworkQualityProbeTestResult

Callback dos resultados da detecção de qualidade de rede. Este callback é fornecido cerca de 30 segundos após o início da detecção.

onSnapshotComplete

Interface de callback de resultado de captura de tela.

onScreenSharePublishStateChanged

Callback para alterações na ingestão de stream de compartilhamento de tela.

onScreenShareSubscribeStateChanged

Callback para alterações nas assinaturas de stream de compartilhamento de tela.

onOccurError

Notificação de falha.

OnLocalAudioStateChanged

Callback de status do dispositivo de áudio local.

AliRtcEngineNotify

API

Descrição do recurso

onAuthInfoWillExpire

Esta notificação indica que a autenticação do usuário expirará em 30 segundos. O cliente deve tratar este callback.

onAuthInfoExpired

O usuário chama uma interface que requer autenticação e o servidor retorna informações expiradas.

onRemoteUserOffLineNotify

Notificação de usuário remoto offline

onRemoteUserOnLineNotify

Notificação de usuário remoto online.

onRemoteTrackAvailableNotify

Notificações para ingestão de stream remoto.

onBye

Mensagem indicando que você foi removido do servidor ou que o canal da reunião foi fechado.

onUserAudioMuted

Notificação de que um usuário remoto está silenciado.

onUserAudioInterruptedBegin

Um dispositivo de áudio interrompe a notificação de início.

onUserAudioInterruptedEnded

Notificação de conclusão de interrupção do dispositivo de áudio.

onUserVideoMuted

O usuário remoto envia uma notificação sobre dados de quadro preto de vídeo.

onUserVideoEnabled

Envia uma notificação quando o usuário remoto encerra a captura do stream da câmera.

onUserWillResignActive

O aplicativo do usuário remoto passa para o segundo plano.

onUserWillBecomeActive

O aplicativo do usuário remoto retorna ao primeiro plano.

onAudioEffectFinished

Callback de término da reprodução de efeito sonoro local

onAudioFileInfo

Callback de informações do arquivo de áudio.

onMediaExtensionMsgReceived

Receba um callback com informações de extensão de mídia.

onFirstRemoteVideoFrameDrawn

Esta mensagem é acionada quando o primeiro quadro de vídeo aparece para um usuário remoto.

onFirstLocalVideoFrameDrawn

Esta mensagem é acionada quando a pré-visualização começa a exibir o primeiro quadro de vídeo.

onFirstVideoFrameReceived

Callback de recebimento do primeiro quadro de vídeo de um usuário remoto.

onFirstVideoPacketSent

Callback acionado quando o primeiro pacote de vídeo é enviado.

onFirstAudioPacketSent

Callback de envio do primeiro pacote de áudio.

onFirstVideoPacketReceived

Callback de recebimento do primeiro pacote de vídeo.

onFirstAudioPacketReceived

Callback de aceitação do primeiro pacote de áudio.

onFirstRemoteAudioDecoded

Callback do primeiro quadro de áudio remoto decodificado.

onAudioAccompanyStateChanged

Callback de status da reprodução do acompanhamento local.

onRemoteAudioAccompanyStarted

A reprodução do acompanhamento do usuário remoto inicia.

onRemoteAudioAccompanyFinished

Callback de término da reprodução do acompanhamento do usuário remoto.

onAliRtcStats

Callback de dados em tempo real (acionado a cada 2 segundos).

onRtcLocalVideoStats

Publique estatísticas de dados do stream de vídeo local (acionado a cada 2 segundos).

onRtcRemoteVideoStats

Assine estatísticas de dados do stream de vídeo remoto (acionado a cada 2 segundos).

onRtcRemoteAudioStats

Estatísticas de dados do stream de áudio remoto assinado (acionado a cada 2 s).

onRtcLocalAudioStats

Estatísticas de dados do stream de áudio local publicado. Acionado a cada 2 s.

onAudioFocusChange

Callback de alteração de foco de áudio (somente Android).

onAudioRouteChanged

Callback para alterações de roteamento de áudio (aplica-se apenas às plataformas Android e iOS).

onRemoteUserSubscribedDataChannel

Este callback é acionado quando você pode começar a enviar mensagens pelo canal de dados.

onDataChannelMessage

Callback de recebimento de mensagem personalizada do canal de dados.

AliRtcAudioVolumeObserver

API

Descrição do recurso

onAudioVolume

Callback para indicações de volume do usuário.

onActiveSpeaker

Callback de detecção de usuário ativo por voz.

OnTestAudioVolume

Callback para informações de volume durante a verificação pré-chamada.

AliRtcAudioFrameObserver

API

Descrição do recurso

onCapturedAudioFrame

Callback de dados brutos de captura de áudio.

onProcessCapturedAudioFrame

Callback de dados de áudio após processamento 3A.

onPublishAudioFrame

Callback de dados de áudio para ingestão de stream.

onPlaybackAudioFrame

Callback de dados de reprodução.

onRemoteUserAudioFrame

Callback para dados de recepção de stream remoto.

AliRtcDestroyCompletionObserver

API

Descrição do recurso

OnDestroyCompletion

Callback de conclusão da destruição do motor DPI.

AliRtcTextureObserver

API

Descrição do recurso

onTextureCreate

Callback de criação de contexto OpenGL.

onTextureUpdate

Callback de atualização de textura OpenGL.

onTextureDestroy

Callback de destruição de contexto OpenGL.

AliRtcVideoObserver

API

Descrição do recurso

onLocalVideoSample

Callback de dados de vídeo capturados localmente e assinados.

onPreEncodeVideoSample

Callback para dados de vídeo local pré-codificados de uma assinatura.

onRemoteVideoSample

Callback para dados de vídeo remoto assinados.

onGetVideoFormatPreference

Formato de saída de dados de vídeo

onGetObservedFramePosition

Saídas de dados de vídeo.

Detalhes

getInstance[1/2]

Obtenha uma instância singleton do AliRtcEngine.

public static AliRtcEngineImpl getInstance(Context context);
Nota
  • Este método e o [getInstance[2/2]](#42a076dfc63yy) criam instâncias do AliRtcEngine. A diferença é que o getInstance[2/2] permite configurações adicionais durante a criação da instância.

Quando chamar

Chame este método antes de invocar qualquer outra API do ARTC SDK para criar a instância do AliRtcEngine.

Limitações

O SDK suporta apenas uma instância do AliRtcEngine por aplicativo.

Parâmetros

Parâmetro

Tipo

Descrição

context

Context

O contexto da activity do Android.

Descrição do retorno

O SDK suporta apenas uma instância do AliRtcEngine por aplicativo.

getInstance[2/2]

Obtém a instância do AliRtcEngine (padrão singleton).

public static AliRtcEngineImpl getInstance(Context context, String extras);
Nota
  • Tanto este método quanto o <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8f628e533bein" id="72113a6d4d6t8">getInstance[1/2]</a> podem criar uma instância do AliRtcEngine. A diferença é que este método permite especificar configurações adicionais durante a criação da instância.

Quando chamar

Chame este método antes de invocar qualquer outra API do ARTC SDK para criar a instância do AliRtcEngine.

Limitações

O SDK suporta apenas uma instância do AliRtcEngine por aplicativo.

Parâmetros

Parâmetro

Tipo

Descrição

context

Context

O contexto da activity do Android.

extras

String

Especifica uma configuração JSON para definir recursos especiais do kit de desenvolvimento de software (SDK) durante lançamentos canário. Pode ser uma string vazia.

Descrição do retorno

Retorna uma instância singleton da classe AliRtcEngineImpl, que é uma subclasse de AliRtcEngine.

destroy[1/2]

Destrói uma instância do AliRtcEngine.

public abstract void destroy();

Destrói a instância singleton do AliRtcEngine. Após chamar este método, todos os recursos internos são liberados. Não é possível usar nenhum outro método ou callback do AliRtcEngine. Para reutilizar o mecanismo, chame getInstance para criar uma nova instância.

Nota
  • Este método e o destroy[2/2] destroem a instância do mecanismo. A diferença é que o destroy[2/2] permite passar um observador de conclusão.

  • Se você quiser criar uma nova instância do AliRtcEngine após a destruição, faça isso somente depois que este método for concluído.

Quando chamar

Recomendamos chamar este método após o término da comunicação em tempo real, ou seja, quando você não precisar mais da funcionalidade do AliRtcEngine, para liberar a instância e reduzir o uso desnecessário de recursos.

Limitações

  • Para evitar deadlocks, não chame este método de dentro de nenhum callback do SDK.

  • Após chamar este método, defina o objeto do mecanismo como null. Por exemplo:

    mAliRtcEngine.destroy();
    mAliRtcEngine = null;

destroy[2/2]

Destrói uma instância do AliRtcEngine.

public abstract void destroy(AliRtcDestroyCompletionObserver observer);

Destrói a instância singleton do AliRtcEngine. Após chamar este método, todos os recursos internos são liberados. Não é possível usar nenhum outro método ou callback do AliRtcEngine. Para reutilizar o mecanismo, chame getInstance para criar uma nova instância.

Nota

Este método é uma invocação assíncrona que fornece um observador para os desenvolvedores acompanharem a conclusão da destruição. Você só pode realizar a próxima criação após a conclusão do OnDestroyCompletion, e a destruição não pode ser concluída antes da execução do callback do observador.

Quando chamar

Recomendamos chamar este método após o término da comunicação em tempo real para liberar a instância.

Limitações

Para evitar deadlocks, não chame este método de dentro de nenhum callback do SDK.

Callback relacionado

Após a destruição do objeto do mecanismo SDK, ele aciona o callback OnDestroyCompletion, indicando que uma nova criação pode ser realizada.

Parâmetros

Parâmetro

Tipo

Descrição

observer

AliRtcDestroyCompletionObserver

Callback de notificação para destruição do mecanismo. Escute este callback para garantir que os recursos sejam totalmente liberados.

setH5CompatibleMode

Especifica se o modo de compatibilidade HTML5 deve ser ativado.

public static int setH5CompatibleMode(int enable);

Parâmetros

Parâmetro

Tipo

Descrição

enable

int

Especifica se o modo de compatibilidade HTML5 deve ser ativado. Valores válidos:

  • 0 (padrão): Desativa o modo de compatibilidade HTML5.

  • 1: Ativa o modo de compatibilidade HTML5.

Importante

Não é possível modificar as configurações de compatibilidade HTML5 da versão atual após criar uma instância do AliRtcEngine. Chame este método antes de criar a instância.

getH5CompatibleMode

Consulta se o modo de compatibilidade HTML5 está ativado.

public static int getH5CompatibleMode();

Descrição da resposta

  • O valor 1 indica que o modo de compatibilidade HTML5 está ativado.

  • O valor 0 indica que o modo de compatibilidade HTML5 está desativado.

setRtcEngineEventListener

Define um listener para receber eventos de callback do usuário local.

public abstract void setRtcEngineEventListener(AliRtcEngineEventListener listener);

Este método configura callbacks de eventos relacionados ao usuário local, como o resultado da entrada ou saída de um canal, alterações de função do usuário, mudanças no status de ingestão de streams de áudio e vídeo, alterações no status de assinatura de streams de áudio e vídeo, mudanças na qualidade da rede e resultados de sondagem, resultados de capturas de tela, status e exceções de dispositivos, além de erros do SDK. Os desenvolvedores implementam esses métodos de callback para gerenciar o ciclo de vida e as mudanças de estado do usuário local em aplicativos RTC.

Nota
  • Todos os callbacks possuem implementações padrão vazias. Não é necessário implementar todos os callbacks. Implemente apenas aqueles relevantes para suas necessidades de negócio.

  • Para implementar callbacks relacionados a usuários remotos, primeiros quadros, primeiros pacotes, efeitos sonoros, acompanhamento de áudio ou autenticação, implemente a classe AliRtcEngineNotify e chame setRtcEngineNotify.

  • Evite realizar operações demoradas nos callbacks, como chamar o método destroy. Isso pode causar bloqueios e afetar o desempenho do SDK.

Quando chamar

Chame este método antes de entrar em um canal.

Callbacks relacionados

Quando ocorrem exceções, o SDK tenta primeiro retentativas internas para recuperação automática. Se a recuperação falhar, o SDK notifica seu aplicativo por meio de callbacks predefinidos. Abaixo estão os principais callbacks que exigem tratamento no nível do aplicativo:

Causas da anormalidade

Callbacks e parâmetros

Soluções

Observação

Falha na autenticação

O parâmetro result no callback onJoinChannelResult retorna AliRtcErrJoinBadToken.

Quando ocorrer um erro, o aplicativo deve verificar a correção do token.

Se uma chamada de API falhar na autenticação, o sistema retornará uma mensagem de erro de autenticação no callback.

Conectividade de rede anormal

O callback onConnectionStatusChange retorna AliRtcConnectionStatusFailed.

Quando este erro ocorrer, o aplicativo deve entrar novamente na reunião.

O SDK se recupera automaticamente de interrupções curtas de rede. Se a interrupção durar mais do que o limiar de tempo limite predefinido, a conexão expira e é desconectada. Nesse caso, o aplicativo deve verificar o status da rede e orientar o usuário a entrar novamente na reunião.

Dispositivo local anormal

onLocalDeviceException

Quando esta condição anormal ocorrer, verifique se o aplicativo tem as permissões necessárias e se o hardware do dispositivo está funcionando corretamente.

O serviço RTC suporta detecção e diagnóstico de dispositivos. Quando ocorre um problema com um dispositivo local, o serviço RTC envia um callback para seu aplicativo. Se o SDK não conseguir resolver o problema sozinho, seu aplicativo deve intervir para verificar se o dispositivo está funcionando corretamente.

Parâmetros

Parâmetro

Tipo

Descrição

listener

AliRtcEngineEventListener

Define o listener para eventos de notificação do comportamento do usuário local.

setRtcEngineNotify

Define um listener para receber eventos de callback de usuários remotos.

public abstract void setRtcEngineNotify(AliRtcEngineNotify listener);

Este método configura callbacks de eventos relacionados a usuários remotos, como notificações quando eles ficam online ou offline, status de ingestão de streams de áudio e vídeo, alterações de resolução, transmissão e recepção de primeiro quadro e primeiro pacote para áudio e vídeo local e remoto, status de reprodução de efeitos sonoros e acompanhamento de áudio local e remoto, status de mudo, estatísticas de streams de áudio e vídeo local e remoto, recepção de SEI, recepção de mensagens personalizadas e alterações de autenticação. Os desenvolvedores implementam esses métodos de callback para gerenciar interações com usuários remotos.

Nota
  • Todos os callbacks possuem implementações padrão vazias. Não é necessário implementar todos os métodos. Implemente apenas aqueles relevantes para suas necessidades de negócio.

  • Evite realizar operações demoradas nos callbacks, como chamar o método destroy. Isso pode causar bloqueios e afetar o desempenho do SDK.

Quando chamar

Chame este método antes de entrar em um canal.

Callbacks relacionados

Quando ocorrem exceções, o SDK tenta primeiro retentativas internas para recuperação automática. Se a recuperação falhar, o SDK notifica seu aplicativo por meio de callbacks predefinidos. Abaixo estão os principais callbacks que exigem tratamento no nível do aplicativo:

Causa da anormalidade

Callbacks e Parâmetros

Soluções

Observação

Offline

onBye

  • AliRtcOnByeUserReplaced: Verifique se os IDs de usuário são idênticos.

  • AliRtcOnByeBeKickedOut: O usuário foi removido pelo aplicativo. Entre novamente no canal.

  • AliRtcOnByeChannelTerminated: O canal foi destruído. Entre novamente no canal.

O serviço RTC fornece um recurso para administradores removerem participantes.

A autenticação expirará em breve

onWillAuthInfoExpire

Se esta exceção ocorrer, o aplicativo deve obter novamente as informações de autenticação mais recentes. Em seguida, chame refreshAuthInfo para atualizá-las.

Erros de expiração de autenticação ocorrem em duas situações: quando um usuário chama uma API ou durante a execução do programa. Portanto, o feedback de erro é fornecido por meio de um callback de API ou de um callback de erro separado.

Autenticação expirada

onAuthInfoExpired

Quando este erro ocorrer, o aplicativo deve entrar novamente na reunião.

A autenticação expira em dois casos: quando um usuário chama uma API ou quando um programa é executado. Portanto, o feedback de erro aparece como um callback de API ou como um callback de erro separado.

Parâmetros

Parâmetro

Tipo

Descrição

listener

AliRtcEngineNotify

Define o listener para eventos de notificação sobre o comportamento de usuários remotos para receber mensagens do mecanismo.

getSdkVersion

Recupera a versão atual do SDK.

public static String getSdkVersion();

Descrição do retorno

O número da versão atual do SDK, formatado como uma string — por exemplo, "2.5.0.x".

setChannelProfile

Define o perfil do canal.

public abstract int setChannelProfile(AliRTCSdkChannelProfile channelProfile);

Este método define o perfil do canal. Atualmente, dois perfis principais são suportados: chamada de vídeo e transmissão ao vivo interativa.

  • No modo de chamada de vídeo, todos os usuários são streamers e podem tanto ingerir quanto puxar streams de áudio e vídeo.

  • No modo de transmissão ao vivo interativa, você deve chamar <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#84f350f904s98" id="18edf3ea54po4">setClientRole</a>. Para usuários que ingerem streams no canal, defina sua função como streamer (AliRTCSdkInteractive). Se um usuário precisar apenas puxar streams e não precisar ingerir streams, defina sua função como visualizador (AliRTCSdkLive). Este modo é recomendado para cenários RTC.

Nota
  • Recomendamos usar o modo de transmissão ao vivo interativa para todos os cenários RTC. Chame este método para definir o perfil como AliRTCSdkInteractiveLive.

  • Todos os usuários no mesmo canal devem usar o mesmo perfil de canal.

Quando chamar

Você pode chamar este método apenas antes de entrar em um canal. Não é possível alterar o perfil enquanto estiver em um canal. É possível alterá-lo após sair do canal.

Parâmetros

Parâmetro

Tipo

Descrição

channelProfile

AliRTCSdkChannelProfile

O tipo de canal. Para todos os cenários RTC, use o modo interativo.

Descrição da resposta

O valor 0 indica sucesso. Qualquer outro valor indica falha: 1 significa que o SDK não foi inicializado ou foi destruído.

setAudioProfile

Define os modos de codificação de áudio e de cenário.

public abstract int setAudioProfile(AliRtcAudioProfile profile, AliRtcAudioScenario scenario);

Esta API define o modo de codificação de áudio e o modo de cenário. Operações e configurações comuns de áudio. O ARTC SDK usa o modo de áudio de alta qualidade (AliRtcEngineHighQualityMode) e o modo de cenário de música (AliRtcSceneMusicMode) por padrão. Se as configurações padrão não atenderem aos seus requisitos, chame esta API para alterá-las.

Quando chamar

Você pode chamar este método apenas antes de entrar em um canal. Não é possível alterar as configurações após entrar. É possível alterá-las após sair do canal.

Parâmetros

Parâmetro

Tipo

Descrição

profile

AliRtcAudioProfile

Parâmetro do modo de coleta ou codificação de áudio. Use o modo de alta qualidade (AliRtcEngineHighQualityMode).

Nota

Para interoperar com a web, defina a taxa de amostragem como 48 kHz.

  • AliRtcEngineLowQualityMode: Modo de baixa qualidade de áudio. Taxa de amostragem padrão de 8000 Hz, canal de som único, bitrate máxima de codificação de 12 kbps.

  • AliRtcEngineBasicQualityMode: Modo de qualidade padrão. Taxa de amostragem padrão de 16000 Hz, canal de som único, bitrate máxima de codificação de 24 kbps.

  • AliRtcEngineHighQualityMode: Taxa de amostragem padrão de 48000 Hz, canal de som único, bitrate máxima de codificação de 64 kbps.

  • AliRtcEngineStereoHighQualityMode: Modo estéreo de alta qualidade. Taxa de amostragem padrão de 48000 Hz, canal de som duplo, bitrate máxima de codificação de 80 kbps.

  • AliRtcEngineSuperHighQualityMode: Modo super alta qualidade. Taxa de amostragem padrão de 48000 Hz, canal de som único, bitrate máxima de codificação de 96 kbps.

  • AliRtcEngineStereoSuperHighQualityMode: Modo estéreo super alta qualidade. Taxa de amostragem padrão de 48000 Hz, canal de som duplo, bitrate máxima de codificação de 128 kbps.

scenario

AliRtcAudioScenario

Os parâmetros do modo de cenário de áudio incluem o seguinte:

  • AliRtcSceneMusicMode (configuração recomendada): Cenário de música. Usa 3A de software para capturar áudio de um telefone celular, oferecendo maior qualidade de áudio.

  • AliRtcSceneDefaultMode: Usa 3A de hardware e pode capturar áudio de um dispositivo Bluetooth.

Nota

Para versões do ARTC SDK v6.21 e posteriores, não defina o cenário de sala de bate-papo (AliRtcSceneChatroomMode).

Descrição do retorno

0: chamada bem-sucedida. Menor que 0: chamada falhou.

isAudioOnly

Verifica se o modo somente áudio está ativado.

public abstract boolean isAudioOnly();

Descrição do retorno

O valor true indica o modo somente áudio. O valor false indica o modo de áudio e vídeo.

setAudioOnlyMode

Especifica se o modo somente áudio deve ser ativado.

public abstract int setAudioOnlyMode(boolean audioOnly);

Parâmetros

Parâmetro

Tipo

Descrição

audioOnly

boolean

Define o modo somente áudio ou o modo de áudio e vídeo. Valores válidos:

  • true: ativa a ingestão e o pull de stream somente de áudio.

  • false (padrão): ativa a ingestão e o pull de streams de áudio e vídeo.

Descrição da resposta

O valor 0 indica sucesso. Qualquer outro valor indica falha.

joinChannel[1/3]

Entra em um canal usando um token de parâmetro único.

public abstract int joinChannel(String token, String channelId, String userId, String userName);

Este método permite entrar em um canal. O ARTC organiza os usuários em canais. Para publicar ou assinar fluxos de áudio e vídeo, é necessário entrar em um canal. Este método, joinChannel[2/3] e joinChannel[3/3] realizam a entrada no canal, mas diferem quanto ao método de autenticação e às informações de usuário transmitidas:

  • Esta é uma API de entrada com parâmetro único. Entre em um canal passando um token para entrada com parâmetro único, gerado por meio da Autenticação por token. Recomendamos esta API para entrada em canais em cenários RTC.

  • O método joinChannel[2/3] é uma API de múltiplos parâmetros para entrada em canal. É necessário passar o token de entrada com múltiplos parâmetros, gerado pela Autenticação por token, juntamente com as informações de usuário utilizadas na geração do token.

  • O método joinChannel[3/3] destina-se a cenários de interação em tempo real com IA. Passe um token de parâmetro único e defina o atributo de usuário capabilityProfile conforme o cenário.

Nota

Por padrão, ao entrar em um canal, você assina os fluxos de áudio e vídeo de todos os outros participantes e envia seus próprios fluxos para os usuários remotos. Caso deseje cancelar essa assinatura padrão, chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="33438e1082mi8">setDefaultSubscribeAllRemoteAudioStreams</a> e <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="243e9483a0suk">setDefaultSubscribeAllRemoteVideoStreams</a> antes de invocar este método para desativar a assinatura de fluxos de áudio ou vídeo.

Quando chamar

Chame este método após criar o engine.

Limitações

  • Após entrar com sucesso em um canal, caso precise ingressar em outro durante a mesma sessão, chame primeiro <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="4de6ecc1a4pa2">leaveChannel</a> para sair do canal atual. Aguarde o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="70c68b0236xdt">onLeaveChannelResult</a> de AliRtcEngineEventListener antes de tentar entrar em um novo canal.

  • Este método permite a entrada em apenas um canal por vez.

  • Aplicativos que utilizam App IDs diferentes não são interoperáveis.

  • Não é necessário invocar o método novamente ao tentar reentrar em um canal após falha.

Callbacks relacionados

Após a chamada bem-sucedida deste método, os seguintes callbacks são acionados:

  • O resultado da entrada do cliente local no canal é notificado pelo callback AliRtcEngineEventListener <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#89f5ad2d0bnd1" id="712006e223y8z">onJoinChannelResult</a>.

  • Depois que você entra com sucesso em um canal, o cliente remoto aciona o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="40a9273affui1">onRemoteUserOnLineNotify</a>.

Parâmetros

Parâmetro

Tipo

Descrição

token

String

Informações de autenticação para entrar em uma reunião com parâmetro único.

channelId

String

O ID do canal deve ser idêntico ao ID utilizado na geração do token.

userId

String

O ID do usuário para entrada no canal deve corresponder ao valor usado na geração do token.

userName

String

Nome de exibição do usuário. Não corresponde ao ID do usuário.

Descrição do retorno

Um valor 0 indica sucesso. Qualquer outro valor indica falha.

joinChannel[2/3]

Entra em um canal para conferência multiponto.

public abstract int joinChannel(AliRtcAuthInfo authInfo, String userName);

Este método permite entrar em um canal. O ARTC organiza os usuários em canais. Para publicar ou assinar fluxos de áudio e vídeo, é necessário entrar em um canal. Este método, joinChannel[1/3] e joinChannel[3/3] realizam a entrada no canal, mas diferem quanto ao método de autenticação e às informações de usuário transmitidas:

  • O método joinChannel[1/3] é a interface de parâmetro único para entrada em canal. Para entrar, passe um token gerado por meio da Autenticação por token. Recomendamos esta interface para entrada em canais em cenários RTC.

  • Esta é uma interface de entrada com múltiplos parâmetros. Requer o fornecimento de um token de entrada com múltiplos parâmetros, gerado pela Autenticação por token, além das informações de usuário utilizadas na geração desse token.

  • O método joinChannel[3/3] destina-se a cenários de interação em tempo real com IA. Passe um token de parâmetro único e defina o atributo de usuário capabilityProfile.

Nota
  • Sem configuração especial, ao entrar no canal, você assina por padrão os fluxos de áudio e vídeo de todos os outros usuários e envia seus próprios fluxos para os participantes remotos. Para desativar a assinatura padrão, chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="474adcf738uxu">setDefaultSubscribeAllRemoteAudioStreams</a> e setDefaultSubscribeAllRemoteVideoStreams antes de chamar esta interface, desabilitando assim a assinatura de fluxos de áudio ou vídeo.

  • Esta API serve para entrar em um canal com múltiplos parâmetros. Antes de chamá-la, consulte a Autenticação por token para gerar o token necessário.

Limitações

  • Após entrar com sucesso em um canal, caso precise ingressar em outro durante a sessão, chame primeiro <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="e2525ba6a0k3s">leaveChannel</a> para sair do canal atual. Aguarde o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="6aefdfedb0op3">onLeaveChannelResult</a> de AliRtcEngineEventListener antes de tentar entrar em um novo canal.

  • Este método permite a entrada em apenas um canal por vez.

  • Aplicativos que utilizam App IDs diferentes não são interoperáveis.

Callbacks relacionados

Após a chamada bem-sucedida deste método, os seguintes callbacks são acionados:

  • O resultado da entrada do cliente local no canal é notificado pelo callback AliRtcEngineEventListener <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#89f5ad2d0bnd1" id="fb41cdcfc6acj">onJoinChannelResult</a>.

  • Depois que você entra com sucesso em um canal, o lado remoto aciona o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="8e9d69ebe54sr">onRemoteUserOnLineNotify</a>.

Parâmetros

Parâmetro

Tipo

Descrição

authInfo

AliRtcAuthInfo

Informações de autenticação. O token é do tipo múltiplos parâmetros. Os demais parâmetros relacionados à geração do token devem corresponder aos usados originalmente e não podem estar vazios.

userName

String

Nome de exibição do usuário. Não corresponde ao ID do usuário. Pode estar vazio.

Descrição do Retorno

Um valor 0 indica sucesso. Qualquer outro valor indica falha.

joinChannel[3/3]

Entra em um canal para cenários de interação em tempo real com IA.

public abstract int joinChannel(String token, AliRTCSdkChannelParam channelParam);

Este método permite entrar em um canal. O ARTC organiza os usuários em canais. Para publicar ou assinar fluxos de áudio e vídeo, é necessário entrar em um canal. Este método, joinChannel[1/3] e joinChannel[2/3] realizam a entrada no canal, mas diferem quanto ao método de autenticação e às informações de usuário transmitidas:

  • O método joinChannel[1/3] é uma interface de entrada com parâmetro único para cenários RTC. Entre em um canal passando um token gerado por meio da Autenticação por token. Recomendamos o uso desta interface para entrada em canais RTC.

  • O método joinChannel[2/3] é uma interface para entrada de múltiplos participantes. Requer a passagem do Token gerado via Autenticação por token para múltiplos participantes, além das informações de usuário usadas na geração do Token.

  • Este método destina-se a cenários de interação em tempo real com IA. Passe um token de parâmetro único e defina o atributo de usuário capabilityProfile. Defina-o como AliCapabilityProfileAiHuman ao se comunicar com agentes de IA.

Nota

Por padrão, ao entrar em um canal, você assina os fluxos de áudio e vídeo de todos os outros usuários e publica seus próprios fluxos para os usuários remotos. Para desativar a assinatura padrão, chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="5423d42229iih">setDefaultSubscribeAllRemoteAudioStreams</a> antes de chamar esta API para desabilitar a assinatura de fluxos de áudio, ou chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="0112175788ybe">setDefaultSubscribeAllRemoteVideoStreams</a> para desabilitar a assinatura de fluxos de vídeo.

Limitações

  • Após entrar com sucesso em um canal, caso precise ingressar em outro enquanto ainda estiver conectado, chame primeiro <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="719d580348a95">leaveChannel</a> para sair do canal atual. Aguarde o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="d128acfee2fpd">onLeaveChannelResult</a> de AliRtcEngineEventListener antes de tentar entrar em um novo canal.

  • Este método permite a entrada em apenas um canal por vez.

  • Aplicativos que utilizam App IDs diferentes não são interoperáveis.

  • Não é necessário invocar o método novamente para tentar reentrar em um canal após falha.

Callbacks relacionados

Após a chamada bem-sucedida deste método, os seguintes callbacks são acionados:

  • O resultado da entrada do cliente local no canal é reportado pelo callback AliRtcEngineEventListener <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#89f5ad2d0bnd1" id="879ae2fa04zjd">onJoinChannelResult</a>.

  • Depois que você entra com sucesso em um canal, os usuários remotos acionam o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="9b5662c5a0nvf">onRemoteUserOnLineNotify</a>.

Parâmetros

Parâmetro

Tipo

Descrição

token

String

Token para entrada no canal.

channelParam

AliRTCSdkChannelParam

Parâmetros para entrada no canal. Utilizados principalmente em cenários de interação em tempo real com IA, incluem:

  • channelId: ID do canal. Deve corresponder ao ID usado na geração do token. Este parâmetro é opcional.

  • userId: ID do usuário para entrada no canal. Deve corresponder ao ID usado na geração do token. Este parâmetro é opcional.

  • userName: Nome de exibição do usuário. Não corresponde ao ID do usuário. Este parâmetro é opcional.

  • capabilityProfile: Propriedade do usuário. Configure especificamente para cenários de chamada com agente de IA. Use o valor padrão para cenários sem agente de IA.

Descrição do Retorno

Um valor 0 indica sucesso. Qualquer outro valor indica falha.

leaveChannel

Sai de um canal. Após chamar este método, o SDK encerra a comunicação em tempo real e deixa o canal atual.

public abstract int leaveChannel();
Nota
  • Esta é uma operação assíncrona. Mesmo após a chamada bem-sucedida, o SDK não sai imediatamente do canal; é necessário aguardar a invocação do callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="7e49937108skj">onLeaveChannelResult</a> para que a saída seja efetivada.

  • Após a conclusão do leaveChannel, destrua o engine e defina o objeto do engine como null.

    mAliRtcEngine.leaveChannel();
    mAliRtcEngine.destroy();
    mAliRtcEngine = null;

Quando chamar

  • Use este método quando precisar sair de um canal após ter entrado.

  • Se já estiver em um canal e precisar entrar em outro, chame este método primeiro.

Callbacks relacionados

  • Lado local: Após a chamada deste método, o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="80f5e30245vfn">onLeaveChannelResult</a> é acionado para notificar o resultado da saída do canal.

  • Lado remoto: Após a chamada bem-sucedida desta operação, os usuários remotos acionam o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#75c700a2376c1" id="69bf5ff199oda">onRemoteUserOffLineNotify</a>.

Descrição do Retorno

Um valor 0 indica sucesso. Qualquer outro valor indica falha.

isInCall

Verifica se você está em um canal.

public abstract boolean isInCall();

Descrição do Retorno

O valor true indica que você está em um canal. O valor false indica que você não está em um canal.

setClientRole

Define a função do usuário.

public abstract int setClientRole(AliRTCSdkClientRole clientRole);

Este método define a função do usuário como streamer ou espectador.

No modo interativo, antes de entrar em um canal:

  • Defina a função como streamer: O SDK ingere automaticamente os fluxos locais de áudio e vídeo e puxa os fluxos de áudio e vídeo de outros streamers.

  • Defina a função como espectador: O SDK não ingere os fluxos locais de áudio e vídeo, mas puxa os fluxos de áudio e vídeo de outros streamers.

Quando chamar

É possível chamar este método antes ou depois de entrar em um canal. Você pode definir a função antes da entrada ou alternar entre funções após entrar.

Limitações

Este método funciona apenas no modo interativo, ou seja, quando setChannelProfile está definido como AliRTCSdkInteractiveLive.

Recomendamos definir explicitamente a função do usuário antes de entrar em um canal no modo interativo.

Parâmetros

Parâmetro

Tipo

Descrição

clientRole

AliRTCSdkClientRole

Tipo de função do usuário. Esta função aplica-se apenas no modo interativo.

getCurrentClientRole

Consulta a função do usuário.

public abstract AliRTCSdkClientRole getCurrentClientRole();

Descrição do Retorno

Retorna a função atual do usuário.

refreshAuthInfo[1/2]

Atualiza as informações de autenticação.

public abstract int refreshAuthInfo(AliRtcAuthInfo authInfo);

Este método atualiza as informações de autenticação. Tokens expiram após um período, impedindo que o SDK se conecte ao servidor.

Nota

Tanto esta API quanto a refreshAuthInfo[2/2] atualizam as informações de autenticação. No entanto, esta API atualiza tokens para reuniões com múltiplos participantes, enquanto a refreshAuthInfo[2/2] atualiza tokens para reuniões com participante único. Para informações sobre a geração de tokens, consulte a Autenticação por Token.

Quando chamar

Nas seguintes situações:

  • Ao receber o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e9acb46a25uym" id="7e1510bec7s3s">onAuthInfoWillExpire</a> informando que as informações de autenticação estão prestes a expirar, recomendamos regenerar o token no lado do servidor e, em seguida, chamar este método para passar o novo token.

  • Caso o Token não seja atualizado a tempo, o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8fa7e60f9f5qq" id="97664f9e46fhp">onAuthInfoExpired</a> será acionado para notificar que a autenticação expirou. Nesse ponto, é necessário regenerar o Token e chamar joinChannel para reentrar no canal.

Parâmetros

Parâmetro

Tipo

Descrição

authInfo

AliRtcAuthInfo

As informações de autenticação.

Descrição do Retorno

Um valor 0 indica sucesso. Qualquer outro valor indica falha.

refreshAuthInfo[2/2]

Atualiza as informações de autenticação.

public abstract int refreshAuthInfo(String token);

Este método atualiza o token. Tokens expiram após um período, impedindo que o SDK se conecte ao servidor.

Nota

Tanto esta API quanto a operação refreshAuthInfo[1/2] atualizam as informações de autenticação. Esta API atualiza o token para entrada em reunião com parâmetro único, enquanto refreshAuthInfo[1/2] atualiza o token para entrada em reunião com múltiplos parâmetros. A geração de tokens é abordada na Autenticação por Token.

Quando chamar

Recomendamos regenerar o token no servidor e chamar este método com o novo token nos seguintes casos:

  • Quando o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e9acb46a25uym" id="d708af68eevs9">onAuthInfoWillExpire</a> informar que as informações de autenticação estão prestes a expirar.

  • Caso o Token não seja atualizado a tempo, o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8fa7e60f9f5qq" id="3fd674e985gl8">onAuthInfoExpired</a> será acionado para notificar que a autenticação expirou. Nesse momento, será necessário chamar joinChannel para reentrar no canal.

Parâmetros

Parâmetro

Tipo

Descrição

token

String

Informações de autenticação para entrada com parâmetro único.

Descrição do retorno

Um valor 0 indica sucesso. Qualquer outro valor indica falha.

publishLocalAudioStream

Permite interromper ou retomar a publicação do fluxo de áudio local.

public abstract int publishLocalAudioStream(boolean enable);

Este método controla a publicação do fluxo de áudio capturado localmente. Por padrão, o SDK publica o fluxo de áudio. Para desativar a publicação, chame publishLocalAudioStream(false) antes de entrar no canal.

Quando chamar

É possível chamar este método antes ou depois de entrar em um canal. Chamá-lo antes da entrada modifica a configuração padrão, tendo efeito imediato ao entrar.

Callbacks relacionados

Quando o status da ingestão do fluxo de áudio local mudar, o cliente local aciona o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#b7e3bb51c2ga9" id="4ced92c3f5hmj">onAudioPublishStateChanged</a> para notificar a alteração, e o cliente remoto aciona o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7078e15087a0z" id="2b5460d448ga9">onRemoteTrackAvailableNotify</a> para informar que os fluxos de áudio e vídeo do usuário remoto foram alterados.

Parâmetros

Parâmetro

Tipo

Descrição

enable

boolean

Define se o fluxo de áudio deve ser publicado. Valores válidos:

  • true (padrão): Publica o fluxo de áudio.

  • false: Não publica o fluxo de áudio.

Descrição do Retorno

Um valor 0 indica sucesso. Qualquer outro valor indica falha.

isLocalAudioStreamPublished

Consulta se um fluxo de áudio está sendo publicado.

public abstract boolean isLocalAudioStreamPublished();

Instruções de Retorno

O valor true indica que o fluxo de áudio está publicado. O valor false indica que o fluxo de áudio não está publicado.

setDefaultSubscribeAllRemoteAudioStreams

Define se a assinatura de fluxos de áudio de usuários remotos deve ocorrer por padrão.

public abstract int setDefaultSubscribeAllRemoteAudioStreams(boolean sub);

Este método configura se o sistema deve assinar os fluxos de áudio de usuários remotos por padrão. Essa configuração afeta o comportamento de assinatura de novos usuários que entram no canal. Salvo requisitos específicos, recomendamos definir como true.

Quando chamar

É possível chamar este método antes ou depois de entrar em um canal.

  • Antes de entrar:

    • Por padrão, o SDK assina os fluxos de áudio de usuários remotos ao entrar em um canal. Para alterar esse comportamento, chame este método antes da entrada.

  • Após entrar:

    • Para interromper a assinatura padrão, chame setDefaultSubscribeAllRemoteAudioStreams(false). Assim, os fluxos de áudio de novos usuários não serão assinados automaticamente.

    • Após interromper a assinatura padrão, utilize a API subscribeRemoteAudioStream para retomar a assinatura do fluxo de áudio de um usuário específico. Chame-a múltiplas vezes para retomar a assinatura de vários usuários.

    • Ao retomar a assinatura padrão com setDefaultSubscribeAllRemoteAudioStreams(true), apenas os usuários que entrarem após a chamada terão seus fluxos assinados. Usuários remotos que entraram durante o período de interrupção não serão assinados automaticamente.

Parâmetros

Parâmetro

Tipo

Descrição

sub

boolean

Define se os fluxos de áudio devem ser aceitos por padrão. Valores válidos:

  • true (padrão): Aceita fluxos de áudio.

  • false: Não assina as faixas de áudio de usuários remotos.

Descrição do retorno

Um valor 0 indica sucesso. Qualquer outro valor indica falha.

subscribeRemoteAudioStream

Interrompe ou retoma a recepção do fluxo de áudio de um usuário remoto específico.

public abstract int subscribeRemoteAudioStream(String uid, boolean sub);

Este método interrompe ou retoma a assinatura do fluxo de áudio de um usuário remoto específico. Salvo requisitos específicos, recomendamos definir como true.

Nota

O SDK assina por padrão os fluxos de áudio de todos os usuários remotos ao entrar em uma reunião. Para modificar esse comportamento, chame <a baseurl="t2309760_v6_1_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="d319c7806ej0h">setDefaultSubscribeAllRemoteAudioStreams</a>(false) antes de entrar na reunião para desativar essa configuração padrão.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário remoto.

sub

boolean

Define se a assinatura do fluxo de áudio de um usuário remoto específico deve ser pausada ou retomada.

  • true (padrão): Retoma a assinatura.

  • false: Interrompe a operação.

Descrição do retorno

Um valor 0 indica sucesso. Qualquer outro valor indica falha.

subscribeAllRemoteAudioStreams

Define se os fluxos de áudio de todos os usuários remotos devem ser recebidos.

public abstract int subscribeAllRemoteAudioStreams(boolean sub);

Este método atua como chave mestra para a assinatura de fluxos de áudio remotos. Recomendamos defini-lo como true. Se definido como false, ocorrerá o seguinte:

  • A assinatura de todos os fluxos de áudio remotos na sessão atual será interrompida.

  • Novos usuários que entrarem posteriormente também não terão seus fluxos assinados.

  • Não será possível usar <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e09342eeb0z4k" id="a56b5f2a3f56k">subscribeRemoteAudioStream</a> para controlar individualmente o fluxo de áudio de um usuário específico.

Para retomar a assinatura, chame este método novamente e defina-o como true.

Nota

O SDK assina por padrão os fluxos de áudio de todos os usuários remotos ao entrar em uma reunião. Para modificar esse comportamento, chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="5a57cb846fzb2">setDefaultSubscribeAllRemoteAudioStreams</a>(false) antes de entrar na reunião para desativar essa configuração padrão.

Parâmetros

Parâmetro

Tipo

Descrição

sub

boolean

Define se todos os fluxos de áudio remotos devem ser recebidos. Valores válidos:

  • true (padrão): Recebe todos os fluxos de áudio remotos.

  • false: Não recebe todos os fluxos de áudio remotos.

Descrição do retorno

Um valor 0 indica sucesso. Qualquer outro valor indica falha.

publishLocalVideoStream

Define se o fluxo da câmera deve ser publicado.

public abstract int publishLocalVideoStream(boolean enable);

Este método controla a publicação do fluxo de vídeo capturado localmente.

Nota

O SDK publica o fluxo de vídeo por padrão. Para desativar a publicação do fluxo de vídeo, chame publishLocalVideoStream(false) antes de entrar no canal.

Quando chamar

É possível chamar este método antes ou depois de entrar em um canal.

Chamá-lo antes da entrada modifica a configuração padrão, tendo efeito imediato ao entrar.

Callbacks relacionados

Quando o status da ingestão do fluxo de vídeo local mudar, o lado local aciona o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#afe6d3c4b1rvg" id="8b70bc353aj68">onVideoPublishStateChanged</a> para notificar o status mais recente da ingestão, e o lado remoto aciona o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7078e15087a0z" id="176ee94b46lb7">onRemoteTrackAvailableNotify</a> para informar que os fluxos de áudio e vídeo do usuário remoto foram alterados.

Parâmetros

Parâmetro

Tipo

Descrição

enable

boolean

Define se a faixa de vídeo deve ser publicada. Valores válidos:

  • true (padrão): Publica a faixa de vídeo.

  • false: Não publica a faixa de vídeo.

Descrição do Retorno

Um valor 0 indica sucesso. Qualquer outro valor indica falha.

isLocalVideoStreamPublished

Consulta se um fluxo de câmera está sendo publicado.

public abstract boolean isLocalVideoStreamPublished();

Descrição do Retorno

O valor true indica que o fluxo da câmera está publicado. O valor false indica que o fluxo da câmera não está publicado.

setDefaultSubscribeAllRemoteVideoStreams

Define se a assinatura de fluxos de vídeo de usuários remotos deve ocorrer por padrão.

public abstract int setDefaultSubscribeAllRemoteVideoStreams(boolean sub);

Este método define se os fluxos de vídeo de usuários remotos devem ser assinados por padrão. O SDK realiza a assinatura por padrão.

Quando chamar

É possível chamar este método antes ou depois de entrar em um canal. Se você chamar setDefaultSubscribeAllRemoteVideoStreams(false) após entrar, não receberá fluxos de vídeo de usuários que entrarem posteriormente.

Após interromper o recebimento de fluxos de vídeo, chame subscribeRemoteVideoStream e especifique o ID do usuário remoto para retomar o recebimento do fluxo de vídeo dele. Para retomar o recebimento de múltiplos usuários, é necessário chamar subscribeRemoteVideoStream várias vezes. O método setDefaultSubscribeAllRemoteVideoStreams(true) retoma o recebimento apenas de usuários que entrarem no canal posteriormente.

Este método define se os fluxos de vídeo de usuários remotos devem ser assinados por padrão.

Nota

Por padrão, o SDK assina os fluxos de áudio e vídeo de usuários remotos ao entrar em um canal. Para alterar esse comportamento, chame este método antes de entrar.

Parâmetros

Parâmetro

Tipo

Descrição

sub

boolean

Define se as faixas de vídeo de usuários remotos devem ser assinadas. Valores válidos:

  • true (padrão): aceita por padrão.

  • false: não aceita. Este é o valor padrão.

Descrição do retorno

O valor 0 indica sucesso. Qualquer outro valor indica falha.

subscribeRemoteVideoStream

Interrompe ou retoma a assinatura de um fluxo de vídeo remoto específico.

public abstract int subscribeRemoteVideoStream(String uid, AliRtcVideoTrack track, boolean sub);

Assina ou cancela a assinatura do fluxo de vídeo de um usuário especificado.

Nota

Por padrão, o SDK assina os fluxos de vídeo de todos os usuários remotos ao entrar em uma reunião. Para alterar esse comportamento, chame <a baseurl="t2309760_v6_1_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="2a6fd8903ce5s">setDefaultSubscribeAllRemoteVideoStreams</a>(false) antes de entrar na reunião para cancelar essa configuração padrão.

Quando chamar

Este método pode ser chamado antes ou depois de entrar em um canal.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário

track

AliRtcVideoTrack

Tipo de fluxo de vídeo.

sub

boolean

Define se o fluxo de vídeo de um usuário específico deve ser recebido.

  • true: recebe o fluxo de vídeo do usuário especificado.

  • false: interrompe o recebimento do fluxo de vídeo do usuário especificado.

Descrição do retorno

  • 0: o método foi executado com sucesso.

  • Diferente de zero: falha na execução do método.

subscribeAllRemoteVideoStreams

Interrompe ou retoma o recebimento de todos os fluxos de vídeo remotos.

public abstract int subscribeAllRemoteVideoStreams(boolean sub);

Este método funciona como o interruptor principal para a assinatura de fluxos de vídeo remotos. Se definido como false, ele causa:

  • A interrupção da assinatura de todos os fluxos de vídeo remotos na sessão atual.

  • Novos usuários que entrarem posteriormente não terão seus fluxos assinados (mesmo que você tenha definido setDefaultSubscribeAllRemoteVideoStreams(true) para ativar a assinatura padrão).

  • Impossibilidade de usar <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#b738a1b498bc1" id="19b0cea8593i5">subscribeRemoteVideoStream</a> para controlar individualmente o fluxo de vídeo de um usuário específico.

Para retomar a assinatura, chame este método novamente e defina-o como true.

Nota

Por padrão, o SDK assina os fluxos de vídeo de todos os usuários remotos ao entrar em um canal. Para alterar esse comportamento, chame setDefaultSubscribeAllRemoteVideosStreams(false) antes de entrar.

Parâmetros

Parâmetro

Tipo

Descrição

sub

boolean

Define se as faixas de vídeo de todos os usuários remotos devem ser assinadas. Valores válidos:

  • true (padrão): retoma

  • false: a operação é interrompida.

Descrição do retorno

O valor 0 indica sucesso. Qualquer outro valor indica falha.

subscribeRemoteMediaStream[1/2]

Interrompe ou retoma o fluxo de mídia de um usuário remoto específico.

public abstract int subscribeRemoteMediaStream(String uid, AliRtcVideoTrack videoTrack, boolean subVideo, boolean subAudio);

Este método combina a assinatura de fluxos de áudio e vídeo remotos.

Nota

Neste método, AliRtcVideoTrackNo é inválido e será ignorado.

Métodos relacionados

Em comparação com <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#4cec275051vr6" id="faff82a053mev">subscribeRemoteMediaStream[2/2]</a>, esta API utiliza dois parâmetros booleanos, subVideo e subAudio, para especificar se os fluxos de áudio e vídeo remotos devem ser assinados. O parâmetro videoTrack controla qual fluxo de vídeo deve ser puxado.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário remoto.

videoTrack

AliRtcVideoTrack

O tipo do fluxo de vídeo.

subVideo

boolean

Define se o fluxo de vídeo do usuário remoto deve ser assinado. Valores válidos:

  • true (padrão): retoma.

  • false: a operação é interrompida.

subAudio

boolean

Interrompe ou retoma o recebimento do fluxo de áudio de um usuário remoto específico. Valores válidos:

  • true (padrão): retoma.

  • false: interrompe.

Descrição do retorno

O valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica que a chamada falhou.

subscribeRemoteMediaStream[2/2]

Interrompe ou retoma a assinatura dos fluxos de áudio e vídeo de um usuário remoto em uma única chamada.

public abstract int subscribeRemoteMediaStream(String uid, AliRtcVideoTrack videoTrack, AliRtcAudioTrack audioTrack) ;

Esta interface mescla os fluxos de áudio e vídeo remotos assinados.

Métodos relacionados

Diferentemente de subscribeRemoteMediaStream[1/2], este método usa os parâmetros videoTrack e audioTrack para especificar o estado de assinatura desejado em uma única chamada de API. Por exemplo:

  • Para assinar o fluxo da câmera e o fluxo do microfone, defina videoTrack e audioTrack como AliRtcVideoTrackCamera e AliRtcAudioTrackMic, respectivamente, ao invocar o método.

  • Para cancelar a assinatura do fluxo da câmera, mas continuar assinando o fluxo do microfone, defina o parâmetro videoTrack como AliRtcVideoTrackNo e o parâmetro audioTrack como AliRtcAudioTrackMic.

  • Para cancelar a assinatura de ambos, defina videoTrack e audioTrack como AliRtcVideoTrackNo e AliRtcAudioTrackNo, respectivamente.

  • Para assinar tanto os fluxos da câmera quanto do compartilhamento de tela, defina o parâmetro videoTrack como AliRtcVideoTrackBoth. A mesma lógica se aplica aos fluxos de áudio.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário é um identificador exclusivo atribuído pelo servidor do aplicativo.

videoTrack

AliRtcVideoTrack

O tipo de fluxo de vídeo.

audioTrack

AliRtcAudioTrack

O tipo do fluxo de áudio.

Descrição do retorno

  • 0: sucesso.

  • <0: falha.

subscribeRemoteDestChannelStream

Assina o fluxo de um usuário específico entre canais.

public abstract int subscribeRemoteDestChannelStream(String channelId, String uid, AliRtcVideoTrack track, boolean sub_audio, boolean sub);

Parâmetros

Parâmetro

Tipo

Descrição

channelId

String

O ID do canal remoto.

uid

String

O ID do usuário remoto.

track

AliRtcVideoTrack

O fluxo de vídeo a ser assinado.

sub_audio

boolean

Controla se o recebimento do fluxo de áudio de um usuário remoto específico deve ser interrompido ou retomado. Valores válidos:

  • true (padrão): retoma o recebimento.

  • false: interrompe a operação.

sub

boolean

Interrompe ou retoma a assinatura do fluxo de um usuário especificado entre canais.

Descrição do retorno

Um valor de retorno 0 indica que a chamada do método foi bem-sucedida, enquanto qualquer outro valor indica que a chamada falhou.

subscribeRemoteDestChannelAllStream

Interrompe ou retoma a assinatura dos fluxos de todos os usuários entre canais.

public abstract int subscribeRemoteDestChannelAllStream(String channelId, AliRtcVideoTrack track, boolean sub_audio, boolean sub);

Parâmetros

Parâmetro

Tipo

Descrição

channelId

String

O ID do canal de destino remoto.

videoTrack

AliRtcVideoTrack

O tipo de fluxo de vídeo a ser assinado.

sub_audio

boolean

Define se o fluxo de áudio de um usuário remoto deve ser assinado.

  • true: assina o fluxo de áudio do usuário no canal de destino.

  • false: interrompe a assinatura do fluxo de áudio do usuário no canal de destino.

sub

boolean

Interrompe ou retoma as assinaturas entre canais para um fluxo de usuário especificado.

  • true: assina.

  • false: cancela a assinatura.

Descrição do retorno

  • 0: a chamada do método foi bem-sucedida.

  • Diferente de zero: falha na chamada do método.

setRemoteAudioVolume

Ajusta o volume de reprodução do fluxo de áudio recebido.

public abstract int setRemoteAudioVolume(String uid, int volume);

Use este método para ajustar o volume de reprodução do fluxo de áudio de um usuário específico no dispositivo local.

Nota

Esta configuração afeta apenas a experiência de audição no dispositivo local.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário. Um identificador exclusivo para o usuário, geralmente atribuído pelo servidor do aplicativo.

volume

int

Volume de reprodução, com intervalo de valores de [0, 100].

  • 0: mudo.

  • 100: volume original.

Descrição do retorno

  • 0: a chamada do método foi bem-sucedida.

  • Diferente de zero: falha na chamada do método, por exemplo, devido a um valor de volume inválido.

muteLocalMic

Interrompe ou retoma o envio de dados de áudio locais.

public abstract int muteLocalMic(boolean mute, AliRtcMuteLocalAudioMode mode);
Nota

Silenciar envia quadros silenciosos. A captura e a codificação de áudio continuam em execução.

Quando chamar

Este método pode ser chamado antes ou depois de entrar em um canal.

Callbacks relacionados

Após a chamada bem-sucedida, o usuário remoto aciona a notificação <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#ea457055e4izi" id="cce3d390a3xud">onUserAudioMuted</a> para indicar se está silenciado.

Parâmetros

Parâmetro

Tipo

Descrição

mute

boolean

Interrompe ou retoma o envio de dados de áudio locais. Valores válidos:

  • true: silencia o áudio local e envia quadros mudos.

  • false (padrão): retoma.

mode

AliRtcMuteLocalAudioMode

O modo de silenciamento. Por padrão, o microfone é silenciado.

Descrição do retorno

Um valor de retorno 0 indica sucesso. Qualquer outro valor indica falha. Silenciar envia quadros silenciosos, mas a captura e a codificação de áudio continuam em execução.

muteRemoteAudioPlaying

Interrompe ou retoma a reprodução do fluxo de áudio remoto.

public abstract int muteRemoteAudioPlaying(String uid, boolean mute);

Esta API controla apenas a reprodução do fluxo de áudio de um usuário remoto específico. Ela não afeta o recebimento ou a decodificação do áudio remoto. Para cancelar a assinatura do fluxo de áudio de um usuário, chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e09342eeb0z4k" id="66a2ef0919jjg">subscribeRemoteAudioStream</a>.

Quando chamar

Você pode definir isso antes ou depois de entrar em um canal.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário remoto.

mute

boolean

Interrompe ou retoma a reprodução de áudio remoto. Valores válidos:

  • true: interrompe a reprodução.

  • false (padrão): retoma a reprodução.

Descrição do retorno

O valor 0 indica sucesso. Qualquer outro valor indica falha.

muteAllRemoteAudioPlaying

Interrompe ou retoma a reprodução de todos os fluxos de áudio remotos.

public abstract int muteAllRemoteAudioPlaying(boolean mute);

Este método interrompe ou retoma todos os fluxos de áudio remotos.

Nota

Este método interrompe apenas a reprodução. O recebimento e a decodificação dos fluxos não são afetados.

Quando chamar

Você pode definir isso antes ou depois de entrar em um canal.

Parâmetros

Parâmetro

Tipo

Descrição

mute

boolean

Interrompe ou retoma a reprodução de todo o áudio remoto. Os valores válidos são:

  • true: interrompe a reprodução.

  • false (padrão): retoma a reprodução.

Descrição do retorno

O valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

startAudioCapture[1/2]

Inicia a captura de áudio.

public abstract int startAudioCapture();

Este método inicia a captura de áudio. Você pode chamá-lo antes de entrar em um canal para ativar a captura de áudio antecipadamente. Se este método não for chamado, o SDK controlará automaticamente o dispositivo de captura de áudio. Você também pode chamar este método para reativar a captura de áudio após chamar stopAudioCapture.

Quando chamar

Este método pode ser chamado antes ou depois de entrar em um canal.

Métodos relacionados

A API <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#b71a48f4b84n0" id="4565abdceeq8i">startAudioCapture[2/2]</a> usa parâmetros para controlar se o dispositivo de captura de áudio permanece ativado após você sair de uma reunião.

Callbacks relacionados

Após chamar este método, o callback onLocalAudioStateChanged notifica sobre a alteração no status de captura de áudio local.

Descrição do retorno

O valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica que a chamada falhou.

startAudioCapture[2/2]

Inicia a captura de áudio.

public abstract int startAudioCapture(boolean keepAlive);

Desativa a captura do microfone após silenciar.

Este método inicia a captura de áudio. Você pode chamá-lo antes de entrar em um canal para ativar a captura de áudio antecipadamente. Se você não definir este método, o SDK controlará automaticamente o dispositivo de captura de áudio.

Quando chamar

Este método pode ser chamado antes ou depois de entrar em um canal.

Métodos relacionados

Em comparação com startAudioCapture[1/2], este método permite controlar se o dispositivo de captura permanece ativo após sair de um canal usando o parâmetro keepAlive.

Callbacks relacionados

Após chamar este método para alterar o status de captura de áudio local, você pode obter as alterações de status por meio do callback onLocalAudioStateChanged.

Parâmetros

Parâmetro

Tipo

Descrição

keepAlive

boolean

O status do dispositivo de coleta de áudio após você sair de um canal. Valores válidos:

  • true: o dispositivo de coleta de áudio permanece ligado após você sair de um canal.

  • false (padrão): o dispositivo de coleta de áudio é desligado após você sair de um canal.

Descrição do retorno

Um valor de retorno 0 indica sucesso. Qualquer outro valor indica falha.

stopAudioCapture

Interrompe a captura de áudio.

public abstract int stopAudioCapture();

O SDK ativa a captura de áudio por padrão. Quando você inicia uma pré-visualização ou entra em um canal, a captura de áudio começa automaticamente. Chame este método para interromper a captura do dispositivo de áudio.

Callbacks relacionados

Após chamar este método, o SDK aciona o callback onLocalAudioStateChanged para relatar a alteração no status de captura de áudio local.

Descrição do retorno

Um valor de retorno 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica que a chamada falhou.

setDefaultAudioRoutetoSpeakerphone

Define se o dispositivo de saída de áudio padrão é o viva-voz.

public abstract int setDefaultAudioRoutetoSpeakerphone(boolean defaultToSpeakerphone);

Este método configura o dispositivo de roteamento de áudio padrão antes de você entrar em um canal. Você pode definir a saída padrão como o auricular ou o viva-voz. Por padrão, o SDK usa o viva-voz. Para alterar esse padrão, chame este método antes de entrar em um canal.

O SDK define uma prioridade de roteamento de áudio que alterna automaticamente com base no status atual de conexão de periféricos, da seguinte forma: fone de ouvido com fio > fone de ouvido Bluetooth > configurações do usuário > configurações padrão. Portanto, se nenhum periférico estiver conectado e enableSpeakerphone não estiver definido, o SDK aplicará as configurações padrão.

Configurações de roteamento de áudio.

Dispositivos móveis geralmente suportam dois dispositivos de saída de áudio: o auricular e o viva-voz:

  • Quando o áudio é roteado para o auricular, o som é mais baixo e exige segurar o telefone próximo ao ouvido, proporcionando maior privacidade e sendo adequado para chamadas telefônicas.

  • Quando o áudio é roteado para o viva-voz, o som é mais alto e permite o uso sem as mãos, sem necessidade de segurar o telefone junto ao ouvido.

Métodos relacionados

Este método modifica a configuração padrão de roteamento de áudio. O método enableSpeakerphone define o dispositivo de roteamento de áudio atual.

Quando chamar

Este método pode ser chamado antes ou depois de entrar em um canal.

Parâmetros

Parâmetro

Tipo

Descrição

defaultToSpeakerphone

boolean

Usar o alto-falante por padrão?

  • true: modo viva-voz (alto-falante padrão).

  • false: modo auricular.

Descrição da resposta

  • 0: a chamada do método foi bem-sucedida.

  • <0: falha na chamada do método.

enableSpeakerphone

Define o dispositivo de saída de áudio como o fone de ouvido ou o alto-falante.

public abstract int enableSpeakerphone(boolean enable);

Este método seleciona o dispositivo de reprodução de áudio atual após entrar em um canal, alternando entre o auricular e o alto-falante. Se você não chamar este método, a reprodução usará o dispositivo especificado pela rota de áudio padrão.

O SDK define uma ordem de prioridade predefinida para roteamento de áudio e realiza a troca automática com base no status atual de conexão de periféricos. A ordem de prioridade é a seguinte: fone de ouvido com fio > fone de ouvido Bluetooth > configurações do usuário > configurações padrão. Portanto, quando um periférico está conectado, esta chamada de API não tem efeito. Configurações de roteamento de áudio.

Quando chamar

Este método pode ser chamado antes ou depois de entrar em um canal.

Métodos relacionados

<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#d4dab00b21ebx" id="944fb5797e773">setDefaultAudioRoutetoSpeakerphone</a> modifica as configurações padrão de roteamento de áudio e define o dispositivo de roteamento atual.

Parâmetros

Parâmetro

Tipo

Descrição

enable

boolean

Define se a saída de áudio usa o auricular ou o alto-falante. Valores válidos:

  • true (padrão): modo viva-voz.

  • false: modo auricular.

Descrição do retorno

O valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

isSpeakerOn

Determina se o dispositivo de saída de áudio atual é o auricular ou o alto-falante.

public abstract boolean isSpeakerOn();

Descrição do retorno

O valor true indica o alto-falante. O valor false indica o auricular.

enableAudioVolumeIndication

Ativa o aviso de volume do usuário.

public abstract int enableAudioVolumeIndication(int interval, int smooth, int reportVad);

Este método permite que o SDK relate periodicamente o volume do usuário local e do usuário remoto com o volume atual mais alto. Para usar esse recurso, implemente a classe AliRtcAudioVolumeObserver e chame registerAudioVolumeObserver para registrar o observador.

Quando chamar

Este método pode ser chamado antes ou depois de entrar em um canal.

Callbacks relacionados

Após chamar este método com sucesso, se houver usuários publicando fluxos no canal, o SDK acionará os dois callbacks a seguir em um intervalo especificado:

  • O callback AliRtcAudioVolumeObserver#onAudioVolume relata o volume de áudio de cada orador. A frequência deste callback é determinada pelo parâmetro interval.

  • Detecção de atividade de voz: quando um orador ativo é detectado, seu ID de usuário (UID) é relatado por meio do callback AliRtcAudioVolumeObserver#onActiveSpeaker.

Parâmetros

Parâmetro

Tipo

Descrição

interval

int

Intervalo de tempo.

  • Unidade: milissegundos.

  • Valor padrão: 300 ms.

  • O valor mínimo é 10 ms. Defina o valor entre 300 ms e 500 ms. Se o valor for 0 ou menor, desative os recursos de prompt de volume e alto-falante.

smooth

int

Coeficiente de suavização. Um valor maior aumenta o grau de suavização. Um valor menor reduz a suavização, mas melhora o desempenho em tempo real.

  • Valor padrão: 3.

  • Valores válidos: 0 a 9. O valor recomendado é 3.

reportVad

int

Chave para detecção de áudio local.

Descrição do retorno

Um valor de retorno 0 indica que a chamada do método foi bem-sucedida. Qualquer outro valor indica falha na chamada.

enableEarBack

Ativa o monitoramento in-ear.

public abstract int enableEarBack(boolean enable);

Este método ativa ou desativa o monitoramento in-ear. Para obter melhores resultados, ative o monitoramento in-ear ao usar fones de ouvido com fio ou Bluetooth.

Quando chamar

Chame este método antes ou depois de entrar em um canal.

Parâmetros

Parâmetro

Tipo

Descrição

enable

boolean

Especifica se deve ativar o monitoramento in-ear. Valores válidos:

  • true: ativa o monitoramento in-ear.

  • false (padrão): desativa o monitoramento in-ear.

Descrição do retorno

Um valor 0 indica sucesso. Qualquer outro valor indica falha.

setEarBackVolume

Define o volume do monitoramento in-ear.

public abstract int setEarBackVolume(int volume) ;

Este método só tem efeito após a ativação do monitoramento in-ear por meio da chamada de enableEarBack.

Quando chamar

Chame este método antes ou depois de entrar em um canal.

Parâmetros

Parâmetro

Tipo

Descrição

Volume

int

Volume. Valores válidos: 0 a 100. Valor padrão: 100.

  • 0: Mudo.

  • 100: Volume original (padrão).

Instruções de retorno

  • 0: A chamada do método foi bem-sucedida.

  • <0: A chamada do método falhou.

startAudioPlayer

Inicia o dispositivo de reprodução de áudio.

public abstract int startAudioPlayer();

Use este método para ativar a reprodução de áudio antecipadamente. Se você não chamar este método, o SDK ativará automaticamente a reprodução de áudio após a assinatura de um stream de áudio.

Descrição do retorno

  • 0: A chamada foi bem-sucedida.

  • Valor diferente de zero: A chamada falhou e retorna um código de erro.

stopAudioPlayer

Para o dispositivo de reprodução de áudio.

 public abstract int stopAudioPlayer();

Esta interface interrompe a reprodução de áudio e é a contraparte de startAudioPlayer.

Informações de retorno

  • 0: A chamada foi bem-sucedida.

  • Diferente de zero: A chamada falhou. Um código de erro é retornado.

setPlayoutVolume

Define o volume de reprodução local.

public abstract int setPlayoutVolume(int volume);

Parâmetros

Parâmetro

Tipo

Descrição

volume

int

Volume de gravação. Intervalo de valores: [0, 400].

  • 0: Mudo

  • 100: Volume original

  • >100: Aumentar volume

Descrição da resposta

  • 0: A chamada foi bem-sucedida.

  • Valor diferente de zero: A chamada falhou.

setRecordingVolume

Define o volume de gravação.

public abstract int setRecordingVolume(int volume);

Parâmetros

Parâmetro

Tipo

Descrição

volume

int

Volume de gravação. O intervalo de valores é [0, 400].

  • 0: Mudo

  • 100: Volume original

  • >100: Volume aumentado

Descrição do retorno

  • 0: A chamada do método foi bem-sucedida.

  • Um código de retorno diferente de zero indica que a chamada falhou.

playAudioFileTest

Reproduz o arquivo de áudio.

public abstract int playAudioFileTest(String filePath) ;

Use este método para reproduzir um arquivo de áudio antes de entrar em um canal, a fim de testar a reprodução de áudio.

Quando chamar

Chame este método apenas antes de entrar em um canal.

Limites de chamada

Chamadas múltiplas substituem as anteriores. Chamar este método interrompe qualquer arquivo em reprodução no momento.

Parâmetros

Parâmetro

Tipo

Descrição

filePath

filePath

O caminho do arquivo.

Descrição do retorno

  • 0: A chamada do método foi bem-sucedida.

  • Um valor diferente de zero indica que a chamada falhou.

stopAudioFileTest

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

public abstract int stopAudioFileTest();

Esta interface corresponde à interface playAudioFileTest e interrompe a reprodução do arquivo de áudio.

Limitações

Chame este método apenas antes de entrar em um canal.

Descrição do retorno

  • 0: Chamada bem-sucedida.

  • Diferente de zero: Chamada falhou.

startAudioCaptureTest

Inicia um teste do dispositivo de captura de áudio antes de uma chamada.

public abstract int startAudioCaptureTest();

Chame este método para testar se o dispositivo de captura de áudio local está funcionando corretamente antes de uma chamada. Após chamar este método, o SDK relata o volume do dispositivo de captura de áudio por meio do callback AliRtcAudioVolumeObserver::OnTestAudioVolume.

Quando chamar

É necessário chamar este método antes de entrar em um canal. Após concluir o teste, chame stopAudioCaptureTest para parar o teste e liberar o dispositivo de áudio.

Descrição do retorno

  • 0: A chamada foi bem-sucedida.

  • Diferente de zero: A chamada falhou. Um código de erro é retornado.

stopAudioCaptureTest

Desativa a detecção de captura de áudio.

public abstract int stopAudioCaptureTest();

Este método interrompe o teste do dispositivo de captura de áudio. Após chamar startAudioCaptureTest, chame este método para parar o teste.

Quando chamar

Chame este método antes de entrar em um canal.

Descrição do retorno

  • 0: A chamada foi bem-sucedida.

  • Valor diferente de zero: A chamada falhou e um código de erro é retornado.

setAudioEffectVoiceChangerMode

Define o modo de alteração de voz.

public abstract int setAudioEffectVoiceChangerMode(AliRtcAudioEffectVoiceChangerMode mode);

Parâmetros

Parâmetro

Tipo

Descrição

mode

AliRtcAudioEffectVoiceChangerMode

Modo de alteração de voz. O valor padrão é AliRtcSdk_AudioEffect_Voice_Changer_OFF (desativado).

Descrição do retorno

Um valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

setAudioEffectPitchValue

Define os parâmetros de ajuste de tom.

public abstract int setAudioEffectPitchValue(double value);

Parâmetros

Parâmetro

Tipo

Descrição

value

double

Valores válidos: 0.5 a 2.0. O valor padrão é 1.0, o que indica que o tom permanece inalterado.

Descrição do retorno

Um valor 0 indica que a chamada do método foi bem-sucedida. Qualquer outro valor indica falha.

setAudioEffectReverbMode

Define o modo de reverberação.

public abstract int setAudioEffectReverbMode(AliRtcAudioEffectReverbMode mode);

Parâmetros

Parâmetro

Tipo

Descrição

mode

AliRtcAudioEffectReverbMode

Modo de reverberação. O valor padrão é AliRtcAudioEffectReverb_Off, que indica nenhuma reverberação.

Descrição do retorno

Um valor de retorno 0 indica que a chamada do método foi bem-sucedida. Qualquer outro valor indica que a chamada do método falhou.

setAudioEffectReverbParamType

Define o tipo e os parâmetros para o efeito sonoro de reverberação.

public abstract int setAudioEffectReverbParamType(AliRtcAudioEffectReverbParamType type, float value);

Parâmetros

Parâmetro

Tipo

Descrição

type

AliRtcAudioEffectReverbParamType

Parâmetro de reverberação do efeito sonoro.

value

float

Valor do parâmetro.

Descrição do retorno

Um valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

setAudioEffectBeautifyMode

Define um modo predefinido de embelezamento de voz.

public abstract int setAudioEffectBeautifyMode(AliRtcAudioEffectBeautifyMode mode);

Este método define um modo predefinido de embelezamento de voz fornecido pelo SDK. É adequado para cenários que exigem qualidade vocal aprimorada, como transmissão ao vivo de voz, karaokê e redes sociais de voz. Ao selecionar um modo de embelezamento de voz, você pode alterar o som da voz humana, tornando-a mais ressonante ou melhorando sua clareza. Isso aprimora a experiência auditiva para usuários remotos.

Quando chamar

Chame este método antes ou depois de entrar em um canal.

Parâmetros

Parâmetro

Tipo

Descrição

Mode

AliRtcAudioEffectBeautifyMode

Modo de efeito sonoro vocal. Consulte a definição da enumeração.

Valor de retorno

  • 0: A operação foi bem-sucedida.

  • Valor diferente de zero: A operação falhou.

setAudioEffectEqualizationParam

Define os parâmetros do equalizador de áudio (EQ) para ajustar o ganho de uma banda de frequência específica.

public abstract int setAudioEffectEqualizationParam(AliRtcAudioEffectEqualizationBandFrequency bandIndex, float gain);

Este método ajusta o equalizador gráfico para sinais de voz e áudio capturados localmente. Ao ajustar o ganho (em dB) de uma banda de frequência específica, você pode personalizar o som para finalidades como otimizar a clareza da voz, destacar vocais e melhorar a redução de ruído.

O equalizador suporta todo o espectro de áudio de 31 Hz a 16 kHz em 10 bandas padrão. O ganho de cada banda pode ser definido independentemente para um valor de -15 dB a 15 dB. O valor padrão é 0 dB, o que indica nenhuma melhoria ou atenuação.

Limitações

  • Ative o modo de embelezamento de voz chamando setAudioEffectBeautifyMode antes de chamar este método.

Parâmetros

Parâmetro

Tipo

Descrição

bandIndex

AliRtcAudioEffectEqualizationBandFrequency

Índice da banda a ser ajustado, correspondendo a um segmento dentro da faixa de frequência central (31 Hz a 16 kHz).

gain

float

Valor de ganho, em dB. Valores válidos variam de -15 a 15.

Descrição do retorno

0: A chamada do método foi bem-sucedida.

Valor diferente de zero: A chamada do método falhou.

addExternalAudioStream

Adiciona um stream de áudio externo.

public abstract int addExternalAudioStream(AliRtcExternalAudioStreamConfig config);

Este método adiciona um stream de áudio externo. Siga estas etapas:

  1. Invoque a API <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#42b363024fich" id="20c33a9acb0ui">addExternalAudioStream</a> para adicionar um stream de áudio externo e obter seu ID.

  2. Chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#930f22d3dcdco" id="d3deb62b2fl0f">pushExternalAudioStreamRawData</a> para enviar dados de áudio para o stream de áudio externo.

  3. Ao encerrar uma chamada, chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0333f86114078" id="16d826dedcli6">removeExternalAudioStream</a> para remover o stream de áudio externo.

Se desejar publicar captura de áudio personalizada em um canal, consulte Captura de áudio personalizada.

Quando chamar

Parâmetro

Tipo

Descrição

config

AliRtcExternalAudioStreamConfig

Configuração do stream de áudio externo.

Descrição do retorno

Um valor de retorno maior que 0 indica uma chamada de método bem-sucedida e representa o ID do stream de áudio externo. Qualquer outro valor indica que a chamada do método falhou.

pushExternalAudioStreamRawData

Insere dados de stream de áudio externo.

public abstract int pushExternalAudioStreamRawData(int streamId, AliRtcAudioFrame rawData);

Use esta interface para enviar dados para um stream de áudio especificado. As etapas são as seguintes:

  1. Chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#42b363024fich" id="8822f2932e9ep">addExternalAudioStream</a> para adicionar um stream de áudio externo e obter o ID do stream de áudio externo.

  2. Chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#930f22d3dcdco" id="880fe8cd02j10">pushExternalAudioStreamRawData</a> para enviar dados de áudio para o stream de áudio criado.

  3. Após o término da chamada, invoque <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0333f86114078" id="106c7aefa27c0">removeExternalAudioStream</a> para remover o stream de áudio externo.

Para publicar a partir de uma fonte de áudio personalizada, implemente Captura de áudio personalizada.

Quando chamar

Chame este método após entrar em um canal.

Parâmetros

Parâmetro

Tipo

Descrição

streamId

int

O ID do stream de áudio externo.

rawData

AliRtcAudioFrame

Dados de áudio

Descrição do retorno

Um valor de retorno 0 indica que a chamada do método foi bem-sucedida. Qualquer outro valor indica que a chamada do método falhou.

setExternalAudioStreamPublishVolume

Define o volume de publicação de um stream de áudio externo.

public abstract int setExternalAudioStreamPublishVolume(int streamId, int publishVolume);

Parâmetros

Parâmetro

Tipo

Descrição

streamId

int

O ID do stream de áudio externo.

publishVolume

int

Volume do áudio externo para ingestão de stream. Valores válidos: 0 a 100.

Descrição do retorno

Um valor de retorno 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica que a chamada falhou.

getExternalAudioStreamPublishVolume

Recupera o volume de ingestão de stream do stream de áudio externo.

public abstract int getExternalAudioStreamPublishVolume(int streamId);

Parâmetros

Parâmetro

Tipo

Descrição

streamId

int

O ID do stream de áudio externo.

Descrição do retorno

Volume de ingestão de stream: Os valores válidos são 0 a 100. Um valor menor que 0 indica falha.

setExternalAudioStreamPlayoutVolume

Define o volume de reprodução de um stream de áudio externo.

public abstract int setExternalAudioStreamPlayoutVolume(int streamId, int playoutVolume);

Parâmetros

Parâmetro

Tipo

Descrição

streamId

int

O ID do stream de áudio externo.

playoutVolume

int

Volume de reprodução. Valores válidos: 0 a 100.

Descrição do retorno

Um valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica que a chamada falhou.

getExternalAudioStreamPlayoutVolume

Recupera o volume de reprodução do stream de áudio externo.

public abstract int getExternalAudioStreamPlayoutVolume(int streamId);

Parâmetros

Parâmetro

Tipo

Descrição

streamId

int

O ID do stream de áudio externo.

Descrição da resposta

O volume de reprodução possui valores válidos variando de 0 a 100. Um valor menor que 0 indica falha.

removeExternalAudioStream

Remove um stream de áudio externo.

public abstract int removeExternalAudioStream(int streamId);

Este método remove o stream de áudio externo que corresponde ao ID de stream especificado. É a contraparte do método addExternalAudioStream.

Quando chamar

Para usar o recurso de entrada de áudio personalizada, primeiro chame o método addExternalAudioStream para adicionar um stream de áudio e obter seu ID de stream. Em seguida, chame o método pushExternalAudioStreamRawData para enviar seus dados de áudio para o SDK. Quando quiser parar de usar a entrada de áudio personalizada, chame este método para remover o stream de áudio e liberar seus recursos.

Parâmetros

Parâmetro

Tipo

Descrição

streamId

int

ID do stream de áudio externo, o valor de retorno de uma chamada bem-sucedida ao método addExternalAudioStream.

Descrição do retorno

  • 0: A chamada foi bem-sucedida.

  • <0: A chamada falhou. Um código de erro é retornado.

getAudioFileInfo

Recupera informações do arquivo de áudio.

public abstract int getAudioFileInfo(String fileName);

Chame esta interface de forma assíncrona para recuperar a duração de um arquivo. Esta é uma interface assíncrona e você pode obter informações do arquivo de áudio usando onAudioFileInfo.

Parâmetros

Parâmetro

Tipo

Descrição

fileName

String

Caminho para o arquivo de áudio.

Retorno à Introdução

  • 0: A chamada foi bem-sucedida.

  • Diferente de zero: Um código de erro é retornado.

startAudioAccompany

Inicia a mixagem de acompanhamento de áudio.

public abstract int startAudioAccompany(String fileName, AliRtcAudioAccompanyConfig config) ;

Esta interface reproduz arquivos de acompanhamento locais ou online. É uma interface assíncrona. Após chamar esta interface, monitore o status de reprodução do acompanhamento usando AliRtcEngineNotify#onAudioAccompanyStateChanged.

Quando chamar

Chame este método apenas após entrar em um canal.

Limitações

Ao contrário dos efeitos sonoros, apenas um acompanhamento pode ser reproduzido por vez. Chamadas repetidas substituem a reprodução do acompanhamento anterior.

Parâmetros

Parâmetro

Tipo

Descrição

fileName

String

Caminho para o arquivo de acompanhamento.

config

AliRtcAudioAccompanyConfig

A configuração de reprodução do acompanhamento inclui opções para reprodução apenas local, substituição de microfone, contagem de loops, posição inicial de reprodução, volume e outras configurações.

Descrição do retorno

  • 0: A chamada foi bem-sucedida.

  • Diferente de zero: A chamada falhou e retorna um código de erro.

stopAudioAccompany

Define o fone de ouvido ou alto-falante como dispositivo de saída de áudio.

public abstract int stopAudioAccompany() ;

Esta interface é a contraparte de startAudioAccompany e interrompe a reprodução do acompanhamento de áudio.

Quando chamar

Chame este método antes ou depois de entrar em um canal.

Descrição da resposta

  • 0: A chamada foi bem-sucedida.

  • Diferente de zero: A chamada falhou e retorna um código de erro.

setAudioAccompanyVolume

Define o volume do acompanhamento de áudio tanto para reprodução local quanto para ingestão de stream.

public abstract int setAudioAccompanyVolume( int volume) ;

Esta API define o volume do acompanhamento de áudio para reprodução local e para publicação. Para definir apenas o volume de reprodução local, use setAudioAccompanyPlayoutVolume. Para definir apenas o volume de publicação, use setAudioAccompanyPublishVolume.

Parâmetros

Parâmetro

Tipo

Descrição

volume

int

Volume do acompanhamento. Valores válidos: [0, 100].

0: Mudo.

100: Volume original do arquivo.

Descrição da resposta

  • 0: A chamada foi bem-sucedida.

  • Valor diferente de zero: A chamada falhou e retorna um código de erro.

setAudioAccompanyPublishVolume

Define o volume do acompanhamento de áudio para ingestão de stream.

public abstract int setAudioAccompanyPublishVolume(int volume) ;

Parâmetros

Parâmetro

Tipo

Descrição

volume

int

Volume do acompanhamento. Intervalo: [0, 100].

0: Mudo.

100: Volume original do arquivo.

Descrição do retorno

  • 0: A chamada foi bem-sucedida.

  • Valor diferente de zero: A chamada falhou. O valor retornado é um código de erro.

getAudioAccompanyPublishVolume

Recupera o volume de ingestão do stream de acompanhamento.

public abstract int getAudioAccompanyPublishVolume() ;

Descrição da resposta

Volume de ingestão do stream de música de acompanhamento.

  • 0 a 100: Sucesso.

  • Outros valores: Código de erro.

setAudioAccompanyPlayoutVolume

Define o volume de reprodução local do acompanhamento.

public abstract int setAudioAccompanyPlayoutVolume(int volume) ;

Parâmetros

Parâmetro

Tipo

Descrição

volume

int

Volume do acompanhamento. Valores válidos: [0, 100].

0: Mudo.

100: Volume original do arquivo.

Descrição do retorno

  • 0: A chamada foi bem-sucedida.

  • Valor diferente de zero: A chamada falhou e um código de erro é retornado.

getAudioAccompanyPlayoutVolume

Consulta o volume de reprodução local do acompanhamento.

public abstract int getAudioAccompanyPlayoutVolume() ;

Descrição do retorno

Volume de reprodução local do acompanhamento.

  • [0-100]: Sucesso.

  • Outros valores: Código de erro.

pauseAudioAccompany

Pausa a mixagem de acompanhamento.

public abstract int pauseAudioAccompany();

Descrição do retorno

  • 0: A chamada foi bem-sucedida.

  • Diferente de zero: A chamada falhou e retornou um código de erro.

resumeAudioAccompany

Retoma a mixagem de acompanhamento.

public abstract int resumeAudioAccompany();

Descrição do retorno

  • Um valor 0 indica que a chamada foi bem-sucedida.

  • Um valor diferente de zero indica que a chamada falhou e retorna um código de erro.

getAudioAccompanyDuration

Recupera a duração do arquivo de acompanhamento, em milissegundos.

public abstract int getAudioAccompanyDuration();

Este método recupera a duração do arquivo de acompanhamento atual.

Descrição do retorno

  • >= 0: Duração do arquivo de acompanhamento.

  • < 0: A chamada falhou e retorna um código de erro.

getAudioAccompanyCurrentPosition

Obtém o progresso de reprodução do arquivo de acompanhamento, em milissegundos.

public abstract int getAudioAccompanyCurrentPosition();

Este método obtém o progresso de reprodução do arquivo de acompanhamento atual, em milissegundos.

Descrição da resposta

  • Valor maior ou igual a 0: Progresso de reprodução do arquivo de acompanhamento.

  • Valor menor que 0: A chamada falhou. Um código de erro é retornado.

setAudioAccompanyPosition

Define a posição de reprodução do acompanhamento.

public abstract int setAudioAccompanyPosition(int posMs);

Este método define o progresso de reprodução do acompanhamento. É útil para recursos como arrastar uma barra de progresso. Após a chamada bem-sucedida deste método, o acompanhamento é reproduzido a partir da posição especificada.

Parâmetros

Parâmetro

Tipo

Descrição

posMs

int

Posição da barra de progresso, em milissegundos.

Descrição do retorno

  • 0: A chamada foi bem-sucedida.

  • Valor diferente de zero: A chamada falhou. Um código de erro é retornado.

preloadAudioEffect

Pré-carrega um efeito sonoro.

public abstract int preloadAudioEffect(int soundId, String filePath);

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

ID atribuído pelo usuário para o arquivo de efeito sonoro.

filePath

String

Caminho do efeito sonoro.

Descrição do retorno

Um valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

unloadAudioEffect

Exclui um arquivo de efeito sonoro pré-carregado.

public abstract int unloadAudioEffect(int soundId);

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

ID atribuído pelo usuário ao arquivo de efeito sonoro.

Descrição do retorno

O valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

playAudioEffect

Inicia a reprodução de um efeito sonoro.

public abstract int playAudioEffect(int soundId, String filePath, int cycles, boolean publish);

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

ID atribuído pelo usuário ao arquivo de efeito sonoro.

filePath

String

Caminho do efeito sonoro.

cycles

int

Número de repetições. O valor -1 especifica repetição infinita.

publish

boolean

Especifica se o fluxo de áudio do efeito sonoro deve ser enviado para o lado remoto. Valores válidos:

  • true: envia o fluxo de áudio do efeito sonoro para o lado remoto.

  • false (padrão): não envia o fluxo de áudio do efeito sonoro para o lado remoto.

Descrição do retorno

O valor 0 indica que a chamada foi bem-sucedida. Um valor diferente de zero indica que a chamada falhou.

stopAudioEffect

Interrompe a reprodução de um efeito sonoro.

public abstract int stopAudioEffect(int soundId);

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

ID atribuído pelo usuário ao arquivo de efeito sonoro.

Descrição do retorno

Um valor de retorno 0 indica que a chamada foi bem-sucedida. Um valor diferente de zero indica que a chamada falhou.

stopAllAudioEffects

Interrompe a reprodução de todos os efeitos sonoros.

public abstract int stopAllAudioEffects();

Descrição do Retorno

O valor 0 indica que a chamada foi bem-sucedida. Um valor diferente de zero indica que a chamada falhou.

setAudioEffectPublishVolume

Define o volume para ingestão de fluxo do efeito sonoro.

public abstract int setAudioEffectPublishVolume(int soundId, int volume);

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

ID que o usuário atribui ao arquivo de efeito sonoro.

volume

int

Volume do áudio mixado. Valores válidos: 0 a 100. Valor padrão: 50.

Descrição do Retorno

Um valor de retorno 0 indica sucesso. Qualquer outro valor indica falha.

getAudioEffectPublishVolume

Consulta o volume de ingestão de fluxo do efeito sonoro.

public abstract int getAudioEffectPublishVolume(int soundId);

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

ID atribuído ao arquivo de efeito sonoro.

Descrição da resposta

O valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

setAudioEffectPlayoutVolume

Define o volume de reprodução local do efeito sonoro.

public abstract int setAudioEffectPlayoutVolume(int soundId, int volume);

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

ID que o usuário atribui ao arquivo de efeito sonoro.

volume

int

Volume do áudio mixado. Valores válidos: 0 a 100. Valor padrão: 50.

Descrição do retorno

Um valor de retorno 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

getAudioEffectPlayoutVolume

Obtém o volume de reprodução local do efeito sonoro em dispositivos Android e iOS.

public abstract int getAudioEffectPlayoutVolume(int soundId);

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

ID que o usuário atribui ao arquivo de efeito sonoro.

Descrição do retorno

Um valor de retorno 0 indica sucesso. Qualquer outro valor indica falha.

setAllAudioEffectsPublishVolume

Define o volume de mixagem para todos os efeitos sonoros na ingestão de fluxo.

public abstract int setAllAudioEffectsPublishVolume(int volume);

Parâmetros

Parâmetro

Tipo

Descrição

volume

int

Volume do áudio mixado. Valores válidos: 0 a 100. Valor padrão: 50.

Descrição do retorno

Um valor de retorno 0 indica sucesso. Qualquer outro valor indica falha.

setAllAudioEffectsPlayoutVolume

Define o volume de reprodução local para todos os efeitos sonoros (Android e iOS).

public abstract int setAllAudioEffectsPlayoutVolume(int volume);

Parâmetros

Parâmetro

Tipo

Descrição

volume

int

Volume do áudio mixado. Valores válidos: 0 a 100. Valor padrão: 50.

Descrição do retorno

O valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

startRecord

Inicia a gravação de um arquivo de mídia.

public abstract boolean startRecord(AliRtcRecordType recordType, AliRtcRecordFormat recordFormat, String filePath, AliRtcRecordAudioConfig audioConfig, AliRtcRecordVideoConfig videoConfig, long maxSize, long maxDuration);

Parâmetros

Parâmetro

Tipo

Descrição

recordType

AliRtcRecordType

Tipo de gravação.

recordFormat

AliRtcRecordFormat

Tipo de formato (wav, aac, mp4).

filePath

String

Nome do arquivo de gravação.

audioConfig

AliRtcRecordAudioConfig

Configuração de áudio.

videoConfig

AliRtcRecordVideoConfig

Configuração de vídeo.

maxSize

long

Tamanho máximo do arquivo.

maxDuration

long

Duração máxima do arquivo.

Valor de retorno

Um valor de retorno TRUE indica sucesso. Qualquer outro valor indica falha.

Nota
  • Chame este método após a publicação bem-sucedida do fluxo (onVideoPublishStateChanged) para gravar o fluxo de vídeo codificado localmente em um arquivo local.

  • Ao gravar um fluxo de áudio, este método grava um arquivo que contém uma mixagem de áudio local e remoto.

stopRecord

Interrompe a gravação de arquivos de mídia.

  public abstract void stopRecord();

Parâmetros

Nenhum.

pauseAudioEffect

Pausa um efeito sonoro.

public abstract int pauseAudioEffect(int soundId);

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

ID que o usuário atribui ao arquivo de efeito sonoro.

Descrição do Retorno

Um valor de retorno 0 indica sucesso. Qualquer outro valor indica falha.

pauseAllAudioEffects

Pausa todos os efeitos sonoros.

public abstract int pauseAllAudioEffects();

Descrição do Retorno

O valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

resumeAudioEffect

Retoma a reprodução de um efeito sonoro.

public abstract int resumeAudioEffect(int soundId);

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

ID que o usuário atribui ao arquivo de efeito sonoro.

Descrição do retorno

O valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

resumeAllAudioEffects

Retoma a reprodução de todos os efeitos sonoros.

public abstract int resumeAllAudioEffects();

Descrição do Retorno

O valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

createRenderSurfaceView

Cria uma visualização de renderização SurfaceView.

public abstract SophonSurfaceView createRenderSurfaceView(Context context);

É obrigatório chamar este método para exibir visualizações de vídeo em vez de criar um SurfaceView diretamente. Para usar este método:

  • Atribua o valor de retorno a AliRtcVideoCanvas#view.

  • Chame setLocalViewConfig para definir a visualização de pré-visualização local ou setRemoteViewConfig para definir a visualização de pré-visualização remota.

Momento da chamada

Este método pode ser chamado antes ou depois de entrar em um canal.

Limitações

A chamada deste método deve ser feita na thread principal.

Parâmetros

Parâmetro

Tipo

Descrição

context

Context

Contexto da activity do Android.

setLocalViewConfig

Define a janela de renderização e os parâmetros de desenho para a pré-visualização local.

public abstract int setLocalViewConfig(AliRtcVideoCanvas viewConfig, AliRtcVideoTrack track);

Este método define a visualização de pré-visualização local vinculando o fluxo de vídeo local a uma visualização e configurando o modo de renderização, o modo de espelhamento e o ângulo de rotação da visualização do usuário local. Isso afeta apenas a pré-visualização do usuário local, não o vídeo ingerido. Para definir a visualização da interface do usuário remoto, chame setRemoteViewConfig.

Nota
  • Se o parâmetro view em AliRtcVideoCanvas estiver vazio, a renderização será interrompida.

  • Para alterar o parâmetro renderMode de AliRtcVideoCanvas durante a reprodução, mantenha todos os outros parâmetros inalterados e modifique apenas renderMode.

  • Para atualizar o parâmetro mirrorMode de AliRtcVideoCanvas durante a reprodução, mantenha todos os outros parâmetros inalterados e modifique apenas mirrorMode.

  • Chame explicitamente startPreview() para iniciar a pré-visualização local.

Momento da chamada

Este método pode ser chamado antes ou depois de entrar em um canal.

Parâmetros

Parâmetro

Tipo

Descrição

viewConfig

AliRtcVideoCanvas

Parâmetros de renderização, incluindo a janela de renderização e o modo de renderização.

track

AliRtcVideoTrack

Tipo de fluxo de vídeo.

Instruções de Retorno

O valor 0 indica sucesso. Qualquer outro valor indica falha.

setRemoteViewConfig

Define a janela de renderização e os parâmetros de desenho para o vídeo remoto.

public abstract int setRemoteViewConfig(AliVideoCanvas canvas, String uid,AliRtcVideoTrack track);

Este método vincula a visualização de exibição para o fluxo de vídeo de um usuário remoto específico e configura o modo de renderização, o modo de espelhamento e o ângulo de rotação do vídeo desse usuário quando exibido localmente. Isso afeta apenas o vídeo mostrado ao usuário local. Para configurar a visualização de pré-visualização local, chame setLocalViewConfig.

  • Se o parâmetro view de AliRtcVideoCanvas estiver vazio, a renderização será interrompida.

  • Para redefinir o parâmetro renderMode de AliRtcVideoCanvas durante a reprodução, modifique o valor de renderMode mantendo todos os outros parâmetros inalterados.

  • Para alterar o parâmetro mirrorMode de AliRtcVideoCanvas durante a reprodução, modifique o valor de mirrorMode mantendo os outros parâmetros inalterados.

Momento da chamada

Recomendamos chamar esta função ao receber o callback onRemoteTrackAvailableNotify. A configuração pode ser feita quando o vídeo de um usuário remoto ficar disponível.

Parâmetros

Parâmetro

Tipo

Descrição

canvas

AliRtcVideoCanvas

Configuração de renderização, incluindo a janela de renderização e o modo de renderização.

uid

String

ID do usuário.

track

AliRtcVideoTrack

Tipo de fluxo de vídeo a ser definido.

Descrição do Retorno

O valor 0 indica que a chamada foi bem-sucedida, enquanto qualquer outro valor indica falha.

setCameraCapturerConfiguration

Define as preferências de captura da câmera, como a direção da câmera e a taxa de quadros de captura.

public abstract int setCameraCapturerConfiguration(AliEngineCameraCapturerConfiguration cameraCapturerConfiguration);

Este método configura as preferências de captura, como a direção da câmera e a taxa de quadros.

Momento da chamada

A chamada deste método deve ocorrer antes de ligar a câmera, por exemplo, antes de executar as seguintes operações:

  • startPreview (inicia a pré-visualização de vídeo)

  • joinChannel (entra em um canal)

Parâmetros

Parâmetro

Tipo

Descrição

cameraCapturerConfiguration

AliEngineCameraCapturerConfiguration

Preferências de captura da câmera, como direção da câmera e taxa de quadros. Valores padrão:

  • preference:

    • ALIRTC_CAPTURER_OUTPUT_PREFERENCE_AUTO: O SDK ajusta automaticamente os parâmetros de captura.

    • ALIRTC_CAPTURER_OUTPUT_PREFERENCE_PREVIEW: Pré-visualização em alta definição. A captura prioriza a qualidade da pré-visualização de vídeo.

    • ALIRTC_CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE: A captura usa a resolução mais próxima da resolução de ingestão de fluxo. O desempenho do dispositivo tem prioridade.

  • cameraDirection: AliRtcCameraDirection.CAMERA_FRONT. O padrão é a câmera frontal.

  • fps: -1 usa a configuração interna de taxa de quadros do codificador. O padrão é 15.

  • cameraCaptureProfile: 0 especifica uma resolução fixa para captura de vídeo.

  • disableVideoCaptureReverse: Controla se os quadros de vídeo capturados são invertidos com base na proporção da tela. -1: padrão. 0: desativado. 1: ativado.

  • captureObserverOriginal: Controla se o SDK entrega dados brutos de quadros de vídeo nos callbacks. -1: padrão. 0: desativado. 1: ativado.

  • textureEncode: Controla se a codificação de textura é usada. -1: padrão. 0: desativado. 1: ativado.

  • cameraTextureCapture: Controla se a câmera ativa a captura baseada em textura. -1: padrão. 0: desativado. 1: ativado.

"-1" indica o uso das configurações padrão do SDK.

Descrição do Retorno

Um valor de retorno 0 indica que a chamada do método foi bem-sucedida. Qualquer outro valor indica falha.

enableLocalVideo

Desativa ou reativa a captura de vídeo local.

public abstract int enableLocalVideo(boolean enable);

Este método controla a ativação e desativação da captura de vídeo local. Quando a captura de vídeo local está desativada, não há dados de vídeo para pré-visualização local ou ingestão de fluxo, mas isso não afeta o recebimento de vídeo remoto. Se você chamar este método para desativar a captura da câmera local, tanto a pré-visualização local quanto a ingestão de fluxo remoto permanecerão no último quadro.

Nota

A captura de vídeo local é ativada por padrão no SDK.

Momento da chamada

Este método pode ser chamado antes ou depois de entrar em um canal.

Callbacks relacionados

Uma chamada bem-sucedida a esta API notifica o usuário remoto por meio do callback onUserVideoEnabled.

Parâmetros

Parâmetro

Tipo

Descrição

enable

boolean

Especifica se a coleta de vídeo local deve ser desativada ou reativada. Valores válidos:

  • true (valor padrão): reativa.

  • False significa desativado.

Descrição do Retorno

O valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

muteLocalCamera

Interrompe ou retoma o envio de dados de vídeo local.

public abstract int muteLocalCamera(boolean mute, AliRtcVideoTrack track);

Durante a ingestão de fluxos, chame este método para enviar quadros de vídeo totalmente pretos. A pré-visualização local permanece normal, e os módulos de captura, codificação e envio continuam operando, mas o conteúdo do vídeo consiste em quadros pretos.

Nota

Esta API controla apenas o envio de quadros pretos no fluxo de vídeo especificado. A captura de vídeo e o envio de dados não serão interrompidos. Para parar a captura, use enableLocalVideo. Para abortar o envio de dados de vídeo, use publishLocalVideoStream ou invoque <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7558afe6accq4" id="ee17216e55r3t">enableLocalVideo</a> stop capturing.

Parâmetros

Parâmetro

Tipo

Descrição

mute

boolean

Interrompe ou retoma a publicação da faixa de vídeo local. Valores válidos:

  • true: Interromper.

  • false (padrão): O sistema retoma.

track

AliRtcVideoTrack

Tipo de fluxo de vídeo para o qual você deseja alterar o estado de publicação.

Descrição do Retorno

O valor 0 indica que a chamada foi bem-sucedida.

isCameraOn

Verifica se a câmera está ligada.

public abstract boolean isCameraOn();

Descrição do Retorno

O valor true indica que a câmera está ligada. O valor false indica que a câmera está desligada.

setVideoEncoderConfiguration

Define as propriedades de codificação de vídeo.

public abstract void setVideoEncoderConfiguration(AliRtcVideoEncoderConfiguration config);

Este método define as propriedades de codificação de vídeo para o fluxo de vídeo, como resolução, taxa de quadros, taxa de bits e orientação do vídeo. Recomendamos chamar este método para todos os cenários de vídeo.

Nota

Cada parâmetro possui um intervalo válido. Se você definir um parâmetro com um valor fora de seu intervalo válido, o SDK ajustará automaticamente o valor para dentro do intervalo.

Momento da chamada

Este método pode ser chamado antes ou depois de entrar em um canal. Se você precisar definir as propriedades de codificação de vídeo para o fluxo da câmera apenas uma vez por sessão, recomendamos chamar este método antes de entrar no canal.

Limitações

O parâmetro mirrorMode deste método e o método setVideoMirrorMode definem o espelhamento para ingestão de fluxo de vídeo. Recomendamos usar apenas um desses métodos. O uso de ambos pode causar sobreposição de efeitos de espelhamento, levando a falhas ou inconsistências no espelhamento.

Parâmetros

Parâmetro

Tipo

Descrição

config

AliRtcVideoEncoderConfiguration

Propriedades de codificação predefinidas. Valores padrão:

  • dimensions: [640,480]. O valor máximo é 1920x1080. Define a resolução.

  • frameRate: 15

  • bitrate: 0. Indica que o SDK calcula a taxa de bits de codificação apropriada com base na resolução e na taxa de bits do vídeo.

  • keyFrameInterval: Intervalo do Grupo de Imagens (GOP). Unidade: milissegundos. Valor padrão: 0. Indica que o SDK controla isso internamente.

  • forceStrictKeyFrameInterval: Força o codificador a gerar quadros-chave estritamente de acordo com o intervalo do Grupo de Imagens (GOP) definido. Valor padrão: false.

  • mirrorMode: 0

  • orientationMode: 0

  • rotation: 0

  • codecType: AliRtcVideoCodecTypeDefault

  • encoderType: AliRtcVideoEncodeCodecTypeDefault

  • seiForceFrontIFrame: -1

  • enableDynamicEncode: -1

  • disableDipenseResolutionChange: -1

  • enableDowngrade: -1

  • enableH264BFrame: -1

  • enableHevcBFrame: -1

O valor -1 indica o uso das configurações padrão internas do SDK.

setVideoDecoderConfiguration

Define as propriedades de decodificação de vídeo.

    public abstract void setVideoDecoderConfiguration(AliRtcVideoDecoderConfiguration config);

Este método define os parâmetros de vídeo para decodificar um fluxo de vídeo.

Momento da chamada

Recomendamos chamar este método antes de entrar em um canal.

Parâmetros

Nome

Tipo

Descrição

config

AliRtcVideoDecoderConfiguration

Propriedades de decodificação predefinidas. Valores padrão:

  • codecType: AliRtcVideoCodecTypeDefault. Tipo de decodificação, incluindo decodificação por software, decodificação por hardware e decodificação de textura por hardware.

  • enableDecoderBframe: -1. Se deve usar quadros B. Ativar isso cria uma fila de buffer durante a decodificação, o que aumenta a latência. Ative esta opção apenas se o remetente usar quadros B. Caso contrário, a decodificação falhará.

  • textureBindContext: -1. Se deve suportar a vinculação de um contexto para decodificação de textura.

O valor -1 significa o uso das configurações padrão internas do SDK.

switchCamera

Alterna entre as câmeras frontal e traseira. A câmera frontal é usada por padrão.

public abstract int switchCamera();

Este método controla se a câmera frontal ou traseira é usada. Por padrão, a câmera frontal é utilizada. É possível alternar dinamicamente entre as câmeras durante a execução do aplicativo, com base nas câmeras disponíveis, sem reiniciar o fluxo de vídeo ou reconfigurar a fonte de vídeo.

Momento da chamada

Este método só pode ser chamado após a câmera ser ativada com sucesso.

Limitações

Este método é suportado apenas no Android e iOS.

Descrição do retorno

O valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica que ela falhou.

getCurrentCameraDirection

Obtém a direção atual da câmera.

public abstract AliRTCCameraDirection getCurrentCameraDirection();

Instruções de Retorno

  • O valor CAMERA_REAR (0) indica a câmera traseira.

  • O valor CAMERA_FRONT (1) indica a câmera frontal.

  • O valor CAMERA_INVALID (-1) indica um valor inválido.

Nota

Este método só pode ser chamado após a câmera ser ativada. Caso contrário, ele retorna CAMERA_INVALID (-1).

startPreview

Inicia a pré-visualização local.

public abstract int startPreview();

Este método inicia uma pré-visualização de vídeo local e ativa automaticamente a câmera. Para parar a pré-visualização local, chame o método stopPreview.

Nota

leaveChannel Sair do canal interrompe automaticamente a pré-visualização local. Se você não estiver publicando um fluxo de câmera, a câmera será desligada.

Momento da invocação

  • Defina uma visualização para a pré-visualização local chamando setLocalViewConfig antes da chamada. Caso contrário, a pré-visualização não será exibida, mas a ingestão de fluxo não será afetada.

  • Se necessário, chame este método para iniciar a pré-visualização antes de chamar joinChannel. A câmera liga automaticamente.

Descrição do retorno

O valor 0 indica uma chamada bem-sucedida, enquanto qualquer outro valor indica falha.

stopPreview

Interrompe a pré-visualização local.

public abstract int stopPreview();

Este método interrompe a pré-visualização de vídeo local e desliga a câmera. Após a interrupção da pré-visualização, a visualização local exibe o último quadro capturado, e a ingestão de fluxo não é afetada.

Nota

Ao chamar leaveChannel, a pré-visualização local é interrompida automaticamente. Se você não estiver publicando um fluxo de câmera, a câmera também será desligada automaticamente.

Momento da chamada

Este método pode ser chamado após iniciar a pré-visualização local.

Descrição do Retorno

Um valor de retorno 0 indica sucesso. Qualquer outro valor indica falha.

setCameraZoom

Define a taxa de zoom da câmera.

public abstract int setCameraZoom(float zoom);

Defina o fator de zoom da câmera.

Limitações

Este método está disponível apenas em dispositivos iOS e Android.

Momento da chamada

Esta configuração entra em vigor somente após a ativação da câmera. O zoom é redefinido sempre que a câmera é reiniciada.

Parâmetros

Parâmetro

Tipo

Descrição

zoom

float

Fator de zoom da câmera. O valor varia de 1 até o valor máximo de zoom suportado pela câmera. Chame GetCameraMaxZoomFactor para obter o fator de zoom máximo do dispositivo atual.

Descrição do Retorno

  • 0: chamada bem-sucedida.

  • Diferente de zero: a chamada do método falhou.

GetCameraMaxZoomFactor

Obtém o fator de zoom máximo (zoom óptico) suportado pela câmera.

public abstract float GetCameraMaxZoomFactor();

Descrição do Retorno

O fator de zoom máximo suportado pela câmera do dispositivo.

GetCurrentZoom

Obtém a configuração atual do fator de zoom da câmera.

public abstract float GetCurrentZoom();

Descrição do Retorno

O fator de zoom atual da câmera do dispositivo.

SetExposure

Define a exposição da câmera.

public abstract int SetExposure(float exposure);

Quando o ambiente de filmagem está muito escuro ou muito claro, a qualidade da captura de vídeo é afetada. Para melhorar a qualidade do vídeo, use este método para ajustar o nível de exposição da câmera. Obtenha o intervalo de níveis de exposição suportados usando GetMinExposure e GetMaxExposure.

Parâmetros

Parâmetro

Tipo

Descrição

Exposure

float

Valor de exposição da câmera. O valor padrão é 0, o que indica que a câmera utiliza sua exposição padrão. Valores mais altos aumentam a exposição. Se a imagem do vídeo estiver superexposta, reduza o valor de exposição. Se a imagem estiver subexposta e detalhes escuros forem perdidos, aumente o valor de exposição. Caso o valor fornecido esteja fora do intervalo suportado pelo dispositivo, o SDK o ajustará automaticamente.

Descrição da resposta

  • 0: chamada bem-sucedida.

  • Um valor diferente de zero indica falha na chamada do método.

GetCurrentExposure

Obtém o nível de exposição da câmera.

public abstract float GetCurrentExposure();

Recupera a configuração atual do nível de exposição da câmera em uso.

Descrição do retorno

O nível de exposição atual da câmera.

GetMinExposure

Obtém a exposição mínima suportada pela câmera.

public abstract float GetMinExposure();

Descrição do retorno

O nível mínimo de exposição da câmera.

GetMaxExposure

Recupera o nível máximo de exposição suportado pela câmera.

public abstract float GetMaxExposure();

Descrição do Retorno

O nível máximo de exposição da câmera.

setCameraFlash

Ativa ou desativa o flash da câmera.

public abstract int setCameraFlash(boolean flash);

Habilita ou desabilita o flash.

Nota

Geralmente, apenas câmeras traseiras oferecem suporte à funcionalidade de flash.

Limitações

Este método é suportado apenas em iOS e Android.

Parâmetros

Parâmetro

Tipo

Descrição

flash

boolean

Ativa o flash.

  • true: Liga o flash.

  • false: Desliga o flash.

Descrição do Retorno

  • 0: Configuração aplicada com sucesso.

  • Valor diferente de zero: Falha na configuração.

isCameraFocusPointSupported

Consulta se o foco manual é suportado no dispositivo atual.

public abstract boolean isCameraFocusPointSupported();

Verifica se a câmera atual permite definir um ponto de foco para ajuste manual.

Limitações

Este método está disponível apenas em iOS e Android.

Descrição da resposta

  • true: O dispositivo suporta foco manual.

  • false: O dispositivo não suporta foco manual.

isCameraExposurePointSupported

Verifica se há suporte para definir o ponto de exposição da câmera.

public abstract boolean isCameraExposurePointSupported();

Determina se é possível definir um ponto de exposição no dispositivo atual.

Limitações

Este método está disponível apenas em iOS e Android.

Descrição do Retorno

  • true: É possível definir o ponto de exposição da câmera.

  • false: Não é possível definir o ponto de exposição da câmera.

setCameraFocusPoint

Define o ponto de foco manual da câmera.

public abstract int setCameraFocusPoint(float x, float y);

Estabelece o ponto de foco para a câmera atual. Após chamar esta operação, a câmera ajusta a exposição para o ponto especificado e mantém esse valor de foco. Antes de executar esta operação, recomendamos chamar isCameraFocusPointSupported para verificar se o dispositivo suporta foco manual.

Limitações

Este método está disponível apenas em iOS e Android.

Chame este método somente antes de entrar em um canal.

Parâmetro

Tipo

Descrição

x

float

O valor da coordenada x.

y

float

O valor da coordenada y.

Descrição do Retorno

  • 0: chamada bem-sucedida.

  • Diferente de zero: falha na chamada.

setCameraExposurePoint

Define o ponto de exposição da câmera.

public abstract int setCameraExposurePoint(float x, float y);

Esta operação configura o ponto de exposição da câmera. Após a chamada, a câmera ajusta a exposição uma única vez para o ponto especificado e mantém esse valor. Recomendamos chamar isCameraExposurePointSupported antes desta operação para confirmar se o dispositivo permite a definição manual do ponto de exposição.

Limitações

Este método está disponível apenas em dispositivos iOS e Android.

Parâmetros

Parâmetro

Tipo

Descrição

x

float

Valor da coordenada do eixo X

y

float

Valor da coordenada do eixo y

Descrição do Retorno

  • 0: Chamada do método bem-sucedida.

  • Diferente de zero: Falha na chamada do método.

isCameraAutoFocusFaceModeSupported

Verifica se a câmera suporta foco automático facial.

public abstract boolean isCameraAutoFocusFaceModeSupported();

Determina se a câmera oferece suporte ao foco automático em rostos.

Quando chamar

Este método só pode ser chamado após a ativação da câmera. Ele retorna true se a câmera estiver ativada e suportar tanto detecção facial quanto foco automático. Caso contrário, retorna false.

Limitações

Este método está disponível apenas em iOS e Android.

Descrição do retorno

  • true: Foco automático facial suportado.

  • false: Foco automático facial não suportado.

setCameraAutoFocusFaceModeEnabled

Configura o foco facial da câmera.

public abstract boolean setCameraAutoFocusFaceModeEnabled(boolean enable);

Esta interface habilita o foco automático em tempo real em rostos humanos. Antes de chamar este método, é obrigatório chamar isCameraAutoFocusFaceModeSupported para verificar se o dispositivo suporta este recurso.

Limitações

Este método está disponível apenas em iOS e Android.

Parâmetros

Parâmetro

Tipo

Descrição

enable

boolean

Ativa ou desativa o recurso de foco facial da câmera.

  • true: Ativar.

  • false: Desativar.

Descrição do retorno

  • true: Chamada bem-sucedida.

  • false: Falha na chamada.

setVideoMirrorMode

Configure o espelhamento de vídeo para pré-visualização e ingestão de stream.

public abstract int setVideoMirrorMode(AliRtcVideoPipelineMirrorMode mirrorMode);

Especifica se o modo de espelhamento deve ser ativado para o vídeo de pré-visualização local e para os streams de vídeo ingeridos.

Nota

Esta interface tem precedência sobre setLocalViewConfig e setVideoEncoderConfiguration. Para definir o modo de espelhamento de vídeo, chame esta interface.

Quando chamar

É possível definir este método dinamicamente antes ou depois de entrar em um canal. O SDK registra o estado internamente e aplica as operações de vídeo quando a pré-visualização e a codificação (ingestão de stream) estiverem disponíveis.

Limites de Chamada

Este método sobrepõe o parâmetro mirrorMode em setLocalViewConfig e setVideoEncoderConfiguration. Recomendamos utilizar apenas um desses métodos.

Chame este método antes de entrar em um canal.

Parâmetro

Tipo

Descrição

mirrorMode

AliRtcVideoPipelineMirrorMode

Define o modo de espelhamento.

Descrição da resposta

  • 0: A configuração foi aplicada com sucesso.

  • <0: Falha nas configurações.

    • AliRtcErrInner: Erro de estado interno do SDK. Verifique se a instância do SDK foi criada com sucesso.

setCapturePipelineScaleMode

Define o momento do redimensionamento na captura de vídeo.

public abstract void setCapturePipelineScaleMode(AliRtcCapturePipelineScaleMode mode);

Determina se o redimensionamento dos dados de captura de vídeo ocorre imediatamente após a captura ou durante a codificação. Por exemplo, quando a resolução de captura difere da resolução de codificação, defina o momento do redimensionamento para garantir a consistência entre os dados de pré-visualização e os dados de ingestão de stream.

Quando chamar

Defina este método antes de ativar a câmera. Por exemplo, configure-o antes de iniciar a pré-visualização com startPreview ou antes de entrar em um canal com joinChannel.

Parâmetros

Parâmetro

Tipo

Descrição

mode

AliRtcCapturePipelineScaleMode

Este modo controla o momento do redimensionamento da coleta. Por padrão, o redimensionamento ocorre imediatamente após a coleta.

Descrição do Retorno

Nenhum.

setExternalVideoSource

Habilita uma fonte de entrada de vídeo externa.

public abstract void setExternalVideoSource(boolean enable,boolean useTexture,
 AliRtcVideoTrack streamType,AliRtcRenderMode renderMode);

Parâmetros

Parâmetro

Tipo

Descrição

enable

boolean

Especifica se a fonte de entrada de vídeo externa deve ser habilitada. Valores válidos:

  • true: Habilitar.

  • false (padrão): Desabilitar.

useTexture

boolean

Especifica se o modo de textura deve ser usado.

  • true: Habilitar.

  • false (valor padrão): A configuração está desabilitada.

type

AliRtcVideoTrack

Tipo de stream de vídeo.

renderMode

AliRtcRenderMode

Modo de renderização.

pushExternalVideoFrame

Importa dados de vídeo.

public abstract int pushExternalVideoFrame(AliRtcRawDataFrame aliRawDataFrame,AliRtcVideoTrack streameType);

Parâmetros

Parâmetro

Tipo

Descrição

aliRawDataFrame

AliRtcRawDataFrame

Os dados do quadro.

streameType

AliRtcVideoTrack

Tipo de stream de vídeo.

Descrição da resposta

Um valor igual a 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

startPublishLiveStream

Inicia a transmissão ao vivo retransmitida.

public abstract int startPublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);

Parâmetros

Parâmetro

Tipo

Descrição

streamUrl

String

A URL de ingestão.

transcodingParam

AliRtcLiveTranscodingParam

Os parâmetros de ingestão de stream.

Descrição da resposta

Um valor igual a 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha.

updatePublishLiveStream

Atualize os parâmetros da transmissão ao vivo por bypass.

public abstract int updatePublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);

Parâmetros

Parâmetro

Tipo

Descrição

streamUrl

String

A URL de ingestão.

transcodingParam

AliRtcLiveTranscodingParam

Os parâmetros de ingestão de stream.

Instruções de retorno

Um valor igual a 0 indica sucesso. Qualquer outro valor indica falha.

stopPublishLiveStream

Interrompe o stream ao vivo por bypass.

public abstract int stopPublishLiveStream(String streamUrl);

Parâmetros

Parâmetro

Tipo

Descrição

streamUrl

String

A URL de ingestão.

Descrição do retorno

Um valor igual a 0 indica sucesso. Qualquer outro valor indica falha.

getPublishLiveStreamState

Recupera o status da transmissão ao vivo por bypass.

public abstract AliRtcEngine.AliRtcLiveTranscodingState getPublishLiveStreamState(String streamUrl);

Parâmetros

Parâmetro

Tipo

Observação

streamUrl

String

A URL de ingestão para transmissão ao vivo por bypass.

Instruções de Retorno

Retorna o status da transmissão ao vivo por bypass.

startNetworkQualityProbeTest

Habilite a sondagem de qualidade de rede.

public abstract int startNetworkQualityProbeTest(AlirtcNetworkQualityProbeConfig config);

Parâmetros

Parâmetro

Tipo

Descrição

config

AlirtcNetworkQualityProbeConfig

Os parâmetros da configuração de sondagem.

Descrição do retorno

Um valor igual a 0 indica sucesso, enquanto um valor diferente de zero indica falha.

stopNetworkQualityProbeTest

Interrompe o teste de qualidade de rede.

public abstract int stopNetworkQualityProbeTest();

Descrição do Retorno

Um valor igual a 0 indica sucesso. Qualquer outro valor indica falha.

sendMediaExtensionMsg

Envie informações de extensão de mídia.

public abstract int sendMediaExtensionMsg(byte[]message, int repeatCount, int delay, boolean isKeyFrame);

O SDK permite enviar e receber mensagens de extensão de mídia. O método de envio utiliza o protocolo de extensão SEI. Os receptores podem obter as mensagens ouvindo o evento onMediaExtensionMsgReceived.

Os casos de uso comuns incluem:

  • Utilizar informações de extensão de mídia para transmitir timestamps, calcular a latência de rede ponta a ponta ou sincronizar dados com outras operações de negócio.

  • Usar informações de extensão de mídia para transmitir dados descritivos. É possível transmitir até 4 KB de dados, adequado para pequenos volumes de informação. Recomendamos o uso de JSON ou strings simples.

Quando chamar

Este método pode ser chamado após o início da ingestão de stream.

Limitações

O uso de informações de extensão de mídia requer a reutilização do canal de dados de áudio e vídeo. Portanto, controle a frequência de envio das mensagens personalizadas e o tamanho dos dados da mensagem. As limitações são as seguintes:

  • É possível enviar até fps mensagens por segundo, conforme especificado no perfil, pois as informações SEI são incorporadas em streams H.264 ou H.265 e exigem codificação de quadros de vídeo para anexar as informações de extensão.

  • Para evitar impacto na qualidade da transmissão de dados de mídia, o corpo da mensagem personalizada é limitado a 4 KB, sendo adequado para pequenas quantidades de informação.

  • O parâmetro repeatCount na função sendMediaExtensionMsg especifica o nível de redundância das mensagens personalizadas. Se este valor for maior que 1, a mensagem será enviada múltiplas vezes.

  • Essa redundância ajuda a prevenir a perda de mensagens causada por perda de pacotes de rede. Nesses casos, outros participantes na sala recebem múltiplas mensagens idênticas e devem realizar a deduplicação.

  • Os assinantes na sala também recebem mensagens personalizadas durante a transmissão ao vivo retransmitida.

  • Apenas um MediaExtensionMsg é transmitido por vez. Múltiplas chamadas para sendMediaExtensionMsg sobrescrevem os dados previamente enfileirados.

Callbacks relacionados

O receptor do stream pode recuperar as informações de extensão de mídia enviadas pelo originador do stream ouvindo o callback onMediaExtensionMsgReceived.

Parâmetros

Parâmetro

Tipo

Descrição

message

byte[]

Informações de extensão de mídia. O comprimento máximo é de 4 KB.

repeatCount

int

A contagem de repetições indica a redundância da mensagem. Evita a perda de mensagens causada por perda de pacotes de rede. Um valor de -1 significa transmissão infinita.

Delay

int

Atraso em milissegundos. Este é o tempo mínimo de espera após chamar a API antes de enviar as informações de extensão.

isKeyFrame

boolean

Especifica se as informações de extensão devem ser anexadas apenas aos quadros-chave. Um valor true anexa as informações somente aos quadros-chave.

Instruções de Retorno

  • 0: Chamada bem-sucedida.

  • <0: Falha na chamada. Um código de erro é retornado.

    • ERR_INNER(-1): Erro interno do SDK. Causas possíveis: O SDK não foi inicializado ou foi chamado após ter sido destruído.

sendMediaExtensionMsgEx

Envia informações de extensão de mídia.

public abstract int sendMediaExtensionMsgEx(byte[]message, int repeatCount, int delay, boolean isKeyFrame, int payloadType);

O SDK fornece um recurso para enviar e receber informações de extensão de mídia. Este método envia tais informações usando o protocolo de extensão SEI. Você pode obtê-las ouvindo o evento onMediaExtensionMsgReceived. Quando payloadType é 5, isso equivale a usar a interface sendMediaExtensionMsg.

Os casos de uso comuns incluem:

  • Utilizar informações de extensão de mídia para transmitir timestamps, calcular a latência de rede ponta a ponta ou sincronizar dados com outras operações de negócio.

  • Usar informações de extensão de mídia para transmitir dados descritivos. É possível transmitir até 4 KB de dados, adequado para pequenos volumes de informação. Recomendamos o uso de JSON ou strings simples.

Quando chamar

Este método pode ser chamado após o início da ingestão de stream.

Limitações

O uso de informações de extensão de mídia requer a reutilização do canal de dados de áudio e vídeo. Portanto, controle a frequência de envio das mensagens personalizadas e o tamanho dos dados da mensagem. As limitações são as seguintes:

  • É possível enviar até fps mensagens por segundo, conforme especificado no perfil, pois as informações SEI são incorporadas em streams H.264 ou H.265 e exigem codificação de quadros de vídeo para anexar as informações de extensão.

  • Para evitar degradação na qualidade da transmissão de dados de mídia, o corpo da mensagem personalizada é limitado a 4 KB, sendo adequado para pequenas quantidades de informação.

  • O parâmetro repeatCount na função sendMediaExtensionMsg especifica o nível de redundância das mensagens personalizadas. Se este valor for maior que 1, a mensagem será enviada múltiplas vezes.

  • Essa redundância ajuda a prevenir a perda de mensagens causada por perda de pacotes de rede. Nesses casos, outros participantes na sala recebem múltiplas mensagens idênticas e devem realizar a deduplicação.

  • Os assinantes na sala também recebem mensagens personalizadas durante a transmissão ao vivo retransmitida.

  • Apenas um MediaExtensionMsg é transmitido por vez. Múltiplas chamadas para sendMediaExtensionMsg sobrescrevem os dados previamente enfileirados.

Descrição dos parâmetros

Parâmetro

Tipo

Descrição

Message

byte[]

Informações de extensão de mídia. Comprimento máximo: 4 KB.

repeatCount

int

Contagem de repetições, que representa a redundância da mensagem para evitar perdas causadas por perda de pacotes de rede. Um valor de -1 significa transmissão infinita.

Delay

int

Atraso, em milissegundos. Este é o menor tempo para enviar dados de extensão após uma chamada de API.

isKeyFrame

boolean

Apenas quadros-chave usam informações de extensão. Se true, as informações de extensão são anexadas somente aos quadros-chave.

payloadType

int

O intervalo [5, 100..254] para payloadType=5 equivale a usar a interface sendMediaExtensionMsg.

Descrição do retorno

  • 0: Chamada bem-sucedida.

  • <0: Falha na chamada e retorno de um código de erro.

    • ERR_INNER(-1): Ocorreu um erro interno do SDK. As causas possíveis incluem falha na inicialização do SDK ou chamada do SDK após ele ter sido destruído.

onConnectionStatusChange

Este callback é invocado quando o status da conexão de rede muda. É importante monitorar este callback.

public void onConnectionStatusChange(AliRtcEngine.AliRtcConnectionStatus status,
 AliRtcEngine.AliRtcConnectionStatusChangeReason reason);

Parâmetros

Parâmetro

Tipo

Descrição

status

AliRtcConnectionStatus

O status atual da conexão de rede.

reason

AliRtcConnectionStatusChangeReason

Motivo da alteração do status da conexão de rede.

OnLocalDeviceException

Callback invocado quando ocorre uma exceção no dispositivo local. Preste muita atenção a este callback.

public void OnLocalDeviceException(AliRtcEngine.AliRtcEngineLocalDeviceType deviceType, AliRtcEngine.AliRtcEngineLocalDeviceExceptionType exceptionType, String msg)

Parâmetros

Parâmetro

Tipo

Descrição

deviceType

AliRtcEngineLocalDeviceType

Tipo de dispositivo

exceptionType

AliRtcEngineLocalDeviceExceptionType

O tipo de exceção do dispositivo.

msg

String

As informações contidas na exceção.

onAuthInfoWillExpire

Este callback indica que a autenticação do usuário expirará em 30 segundos. Você deve tratar este callback.

public void onAuthInfoWillExpire();

Este callback sinaliza que as informações de autenticação do usuário expirarão em 30 segundos. Obtenha um novo token e atualize as informações de autenticação usando um dos seguintes métodos:

  • Chame <a baseurl="t2309760_v6_4_1.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#975b9af9ecq1a" id="8099ac5a509hn">refreshAuthInfo</a> para atualizar as informações de autenticação.

  • Chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="fe88be037dy4g">leaveChannel</a> para sair do canal atual e, em seguida, chame joinChannel para entrar novamente no canal.

Momento de Disparo

O SDK dispara este callback 30 segundos antes da expiração das informações de autenticação do usuário. Ao receber este callback, atualize as informações de autenticação prontamente.

onAuthInfoExpired

O usuário invoca uma interface que requer autenticação e o servidor retorna informações expiradas.

public void onAuthInfoExpired();

Este callback indica que as informações de autenticação do usuário expiraram. Para permanecer na sessão, gere um novo token no servidor e atualize as informações de autenticação usando o seguinte método:

  • Chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="c3b0cf2f19dgm">leaveChannel</a> para sair do canal atual. Em seguida, chame joinChannel para entrar novamente.

Momento de disparo

Este callback é acionado quando as informações de autenticação do usuário expiram.

onJoinChannelResult

Este callback retorna o resultado da entrada em um canal.

public void onJoinChannelResult(int result, String channel, String userId, int elapsed);

Parâmetros

Parâmetro

Tipo

Descrição

result

int

O resultado da solicitação para entrar no canal. Um valor igual a 0 indica sucesso. Um valor diferente de zero indica um código de erro listado em Códigos de erro. Códigos de erro comuns:

  • ERR_JOIN_BAD_APPID: O AppId não existe.

  • ERR_JOIN_INVALID_APPID: O AppId é inválido.

  • ERR_JOIN_BAD_CHANNEL: O canal não existe.

  • ERR_JOIN_INVALID_CHANNEL: O canal é inválido.

  • ERR_JOIN_BAD_TOKEN: O token não existe.

  • ERR_JOIN_TIMEOUT: A solicitação para entrar no canal atingiu o tempo limite.

  • ERR_JOIN_BAD_PARAM: Parâmetros inválidos para entrada no canal.

  • ERR_JOIN_FAILED: Falha ao entrar no canal.

  • ERR_JOIN_CONFIG_INVALID: Parâmetros de entrada inválidos, como um token vazio.

channel

String

O ID do canal.

userId

String

ID do Usuário.

elapsed

int

O tempo necessário para entrar no canal. Unidade: milissegundos.

onLeaveChannelResult

Callback que retorna o resultado da saída de um canal.

public void onLeaveChannelResult(int result, AliRtcEngine.AliRtcStats stats);

Condições de disparo

Este callback é acionado quando o aplicativo chama <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="7f3d2133c81tx">leaveChannel</a> com sucesso e o sistema retorna o resultado da saída do canal junto com as informações estatísticas da sessão.

Nota

Se você chamar <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="fdccda828dzqt">leaveChannel</a> e imediatamente depois chamar destroy para destruir o motor, este callback não será acionado.

Parâmetros

Parâmetro

Tipo

Descrição

result

int

O resultado da saída do canal. Um valor igual a 0 indica sucesso. Um valor diferente de zero indica um código de erro caso a operação falhe.

stats

AliRtcStats

Estatísticas de dados da sessão neste canal.

onRemoteUserOffLineNotify

Callback de desconexão para um usuário remoto.

public void onRemoteUserOffLineNotify(String uid, AliRtcUserOfflineReason reason);

Este callback notifica o usuário local que um usuário remoto saiu do canal porque ficou offline.

Condições de disparo

  • Quando um usuário remoto sai ativamente do canal, o callback é acionado.

  • Quando um streamer remoto chama <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#84f350f904s98" id="4c0adbe948tif">setClientRole</a> para mudar para a função de espectador (chamando AliRtcEngine#setClientRole e definindo a função como AliRTCSdkLive), o callback é acionado.

  • Quando um streamer remoto é considerado offline porque nenhum dado foi recebido dele por um longo período, o callback é acionado.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário remoto.

reason

AliRtcUserOfflineReason

O motivo pelo qual o usuário ficou offline.

onRemoteUserOnLineNotify

Este callback é invocado quando um usuário remoto fica online.

public void onRemoteUserOnLineNotify(String uid, int elapsed);

Este método notifica o cliente local que um usuário remoto entrou no canal.

Condições de disparo

  • Um usuário remoto entra no canal.

  • Após o usuário local entrar no canal, este callback é invocado para cada usuário que já está no canal. Isso permite que o usuário local identifique os usuários existentes.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário remoto.

elapsed

int

O tempo necessário para um usuário entrar no canal. Unidade: milissegundos.

onRemoteTrackAvailableNotify

Este callback é invocado quando os streams de áudio e vídeo de um usuário remoto mudam.

public void onRemoteTrackAvailableNotify(String uid, AliRtcAudioTrack audioTrack,
 AliRtcVideoTrack videoTrack);

Este callback é acionado quando o status de ingestão de stream de um usuário remoto muda. Por meio deste callback, os desenvolvedores podem obter informações em tempo real sobre se os usuários remotos estão ingerindo streams de áudio e vídeo e, consequentemente, exibir ou ocultar as informações de áudio e vídeo desses usuários.

Nota

Este callback retorna o status de ingestão de stream do usuário remoto. Para determinar qual stream ficou offline durante essa alteração, registre as mudanças de status antes e depois do callback.

Condições de disparo

Este callback é acionado nos seguintes cenários:

  • Quando um usuário remoto passa de não ingerir streams para ingerir streams (incluindo áudio e vídeo).

  • Quando o usuário remoto para de transmitir tanto áudio quanto vídeo.

  • No modo interativo, este callback é acionado quando um usuário remoto chama setClientRole para mudar da função de espectador para a função de streamer e configura a ingestão de stream.

Por exemplo, para vídeo, este callback não é acionado se o usuário remoto não realizar a ingestão de stream.

  • Quando um usuário remoto começa a ingerir um stream de câmera (status de ingestão: sem stream de vídeo -> apenas stream de câmera), o callback local retorna AliRtcVideoTrackCamera, indicando que o stream de câmera do usuário remoto está disponível.

  • Quando um usuário remoto também ingere um stream de compartilhamento de tela (status de ingestão: apenas stream de câmera -> stream de câmera e stream de compartilhamento de tela), o callback local retorna AliRtcVideoTrackBoth, indicando que tanto o stream de câmera quanto o stream de compartilhamento de tela do usuário remoto estão disponíveis.

  • Quando um usuário remoto para de ingerir o stream de câmera e mantém apenas o stream de compartilhamento de tela (status de ingestão: stream de câmera e stream de compartilhamento de tela -> apenas stream de compartilhamento de tela), o callback local retorna AliRtcVideoTrackScreen, indicando que apenas o stream de compartilhamento de tela está disponível no momento.

  • Quando um usuário remoto para de ingerir o stream de compartilhamento de tela (status de ingestão: apenas stream de compartilhamento de tela -> sem stream de vídeo), o callback local retorna AliRtcVideoTrackNo, indicando que nenhum stream de vídeo está disponível no momento.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário remoto.

audioTrack

AliRtcAudioTrack

O fluxo de áudio do usuário remoto após a alteração.

videoTrack

AliRtcVideoTrack

O fluxo de vídeo do usuário remoto após a alteração.

onBye

Callback invocado quando um usuário é forçado a sair de um canal ou quando o canal é fechado.

public void onBye(int code);

Este callback é acionado quando um usuário é desconectado ou quando uma sessão termina. Utilize o parâmetro code para identificar o motivo da desconexão e tratá-lo adequadamente.

Condições de acionamento

  • O servidor remove o usuário atual.

  • A sessão termina porque o servidor fechou o canal.

  • Ocorre uma desconexão inesperada, exigindo que o cliente tente restaurar a sessão ou reconectar.

Parâmetros

Parâmetro

Tipo

Descrição

code

int

O motivo pelo qual o usuário foi removido do canal. Definido em AliRtcOnByeType.

onAudioPublishStateChanged

Este callback é invocado quando o status de ingestão do fluxo de áudio muda.

public void onAudioPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , 
 AliRtcEngine.AliRtcPublishState newState,
 int elapseSinceLastState, String channel);

Este callback monitora alterações no status de ingestão do fluxo de áudio do usuário local.

Condições de acionamento

O callback é acionado quando o status de ingestão do fluxo de áudio do usuário muda, por exemplo:

  • O usuário interrompe a ingestão de fluxo.

  • O usuário chama <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#84f350f904s98" id="e6c8edfc45xbw">setClientRole</a> para mudar para espectador.

Parâmetros

Parâmetro

Tipo

Descrição

oldState

AliRtcPublishState

O estado anterior da ingestão de fluxo.

newState

AliRtcPublishState

O estado atual da ingestão de fluxo.

elapseSinceLastState

int

O intervalo entre as mudanças de estado. Unidade: milissegundos.

channel

String

O ID do canal.

onAudioSubscribeStateChanged

Callback invocado quando o status de assinatura de áudio muda.

public void onAudioSubscribeStateChanged(String uid,
 AliRtcEngine.AliRtcSubscribeState oldState,
 AliRtcEngine.AliRtcSubscribeState newState,
 int elapseSinceLastState, String channel);

Este callback notifica o usuário local sobre alterações no status de assinatura do fluxo de áudio de um usuário remoto. Ele também relata mudanças no status de assinatura do fluxo de câmera de um usuário remoto e fornece o tempo decorrido entre os estados anterior e atual.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário remoto.

oldState

AliRtcSubscribeState

O estado anterior da assinatura.

newState

AliRtcSubscribeState

O estado atual da assinatura.

elapseSinceLastState

int

Intervalo de tempo da mudança de estado. Unidade: milissegundos.

channel

String

O ID do canal atual.

onUserAudioMuted

Uma notificação é enviada quando o usuário remoto para de enviar dados de áudio.

public void onUserAudioMuted(String uid ,boolean isMute);

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário que silenciou a faixa de áudio.

isMute

boolean

Indica se a faixa de áudio está silenciada. Valores válidos:

  • true: silenciado

  • false: não silenciado

onUserAudioInterruptedBegin

Este callback é invocado quando o áudio de um usuário é interrompido.

public void onUserAudioInterruptedBegin(String uid);

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O usuário cujo áudio foi interrompido.

onUserAudioInterruptedEnded

Uma notificação é enviada quando a interrupção de áudio de um usuário termina.

public void onUserAudioInterruptedEnded(String uid);

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário cuja faixa de áudio foi interrompida.

onVideoPublishStateChanged

Callback para alterações na ingestão de fluxo de vídeo.

public void onVideoPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , 
 AliRtcEngine.AliRtcPublishState newState, 
 int elapseSinceLastState, String channel);

Este callback monitora alterações no status de ingestão do fluxo de vídeo do usuário local.

Parâmetros

Parâmetro

Tipo

Descrição

oldState

AliRtcPublishState

O estado anterior da ingestão de fluxo.

newState

AliRtcPublishState

O estado atual da ingestão de fluxo.

elapseSinceLastState

int

O intervalo de tempo entre as mudanças de estado. Unidade: milissegundos.

channel

String

O ID do canal.

onVideoSubscribeStateChanged

Este callback é invocado quando o status de assinatura do fluxo de câmera muda.

public void onVideoSubscribeStateChanged(String uid,
 AliRtcEngine.AliRtcSubscribeState oldState,
 AliRtcEngine.AliRtcSubscribeState newState,
 int elapseSinceLastState, String channel);

Este callback notifica o usuário local sobre alterações no status de assinatura do fluxo de câmera de um usuário remoto. Por meio dele, é possível obter informações sobre mudanças no status de assinatura do fluxo de câmera de um usuário remoto específico e o intervalo de tempo entre os estados anterior e atual.

Callbacks relacionados

Os fluxos de vídeo incluem fluxos de câmera e fluxos de compartilhamento de tela. Este método trata das alterações no status de assinatura do fluxo de câmera. O callback relacionado para fluxos de compartilhamento de tela é onScreenShareSubscribeStateChanged.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário remoto.

oldState

AliRtcSubscribeState

O estado anterior da assinatura.

newState

AliRtcSubscribeState

O estado atual da assinatura.

elapseSinceLastState

int

O intervalo de tempo entre as mudanças de status.

channel

String

O ID do canal atual.

onUserVideoMuted

O usuário remoto envia uma notificação ao transmitir quadros pretos de vídeo.

public void onUserVideoMuted(String uid, boolean isMute);

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O usuário que executa enableLocalVideo.

isMute

boolean

Especifica se devem ser enviados quadros pretos. Valores válidos:

  • true: Enviar quadros pretos.

  • false: Ingestão de fluxo normal.

onUserVideoEnabled

Uma notificação é enviada quando o usuário remoto interrompe o fluxo da câmera.

public void onUserVideoEnabled(String uid, boolean isMute);

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário remoto.

isMute

boolean

Ativa a captura da faixa da câmera. Valores válidos:

  • true: ativa a captura da faixa da câmera

  • false: desativa a captura da faixa da câmera

onUserWillResignActive

Este callback é invocado quando o aplicativo de um usuário remoto passa para o segundo plano.

public void onUserWillResignActive(String uid);

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário.

onUserWillBecomeActive

O aplicativo do usuário remoto retorna ao primeiro plano.

public void onUserWillBecomeActive(String uid);

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário.

onAliRtcStats

Este callback é acionado a cada dois segundos para relatar estatísticas da sessão atual.

public void onAliRtcStats(AliRtcEngine.AliRtcStats stats);

Parâmetros

Parâmetro

Tipo

Descrição

stats

AliRtcStats

Estatísticas da sessão.

onAudioEffectFinished

Este callback é invocado quando um efeito sonoro local termina de ser reproduzido.

void OnAudioEffectFinished(int soundId);

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

O ID atribuído pelo usuário ao arquivo de efeito sonoro.

onAudioFileInfo

Callback para informações de arquivo de áudio.

public void onAudioFileInfo(AliRtcEngine.AliRtcAudioFileInfo info, AliRtcEngine.AliRtcAudioAccompanyErrorCode errorCode);

Ao chamar getAudioFileInfo, este callback é acionado e retorna informações como a duração do arquivo de áudio ou uma mensagem de erro.

Parâmetros

Parâmetro

Tipo

Descrição

Information

AliRtcEngine.AliRtcAudioFileInfo

Informações do arquivo de áudio, incluindo o caminho e a duração do arquivo.

errorCode

AliRtcEngine.AliRtcAudioAccompanyErrorCode

Códigos de erro do acompanhamento de áudio, indicando principalmente falhas na abertura ou decodificação de arquivos.

onMediaExtensionMsgReceived

Este callback é invocado quando informações de extensão de mídia são recebidas.

public void onMediaExtensionMsgReceived(String uid, int payloadType, byte[]message);

Quando um endpoint chama sendMediaExtensionMsg para enviar uma mensagem, outros endpoints recebem os dados por meio deste callback.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário. O ID do usuário que envia as informações de mídia.

payloadType

int

Tipo de payload. sendMediaExtensionMsg retorna 5. sendMediaExtensionMsgEx retorna um tipo específico.

Message

byte[]

Informações de extensão de mídia.

onFirstRemoteVideoFrameDrawn

Este callback é invocado quando o primeiro quadro de vídeo de um usuário remoto é renderizado.

public void onFirstRemoteVideoFrameDrawn(String uid,AliRtcVideoTrack videoTrack, int width, int height, int elapsed);

Este callback indica a renderização do primeiro quadro de vídeo remoto. Ele é acionado quando o usuário local recebe e renderiza com sucesso o primeiro quadro de vídeo de um usuário remoto. Este callback ajuda os desenvolvedores a monitorar o tempo de estabelecimento do link de vídeo remoto, avaliar o desempenho da rede e do dispositivo e otimizar a experiência do usuário.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário remoto.

videoTrack

AliRtcVideoTrack

O tipo de fluxo de vídeo a ser aceito.

Width

int

Largura do fluxo de vídeo recebido.

Height

int

A altura do fluxo de vídeo recebido.

elapsed

int

Latência total em milissegundos desde o momento em que um usuário local entra no canal até o aparecimento do primeiro quadro do vídeo recebido.

onFirstLocalVideoFrameDrawn

Este callback é invocado quando o primeiro quadro de vídeo local é renderizado durante uma pré-visualização.

public void onFirstLocalVideoFrameDrawn(int width, int height, int elapsed);

Este callback é acionado após a câmera local ser ativada e o primeiro quadro de vídeo ser renderizado. Use este callback para monitorar a velocidade de renderização da pré-visualização de vídeo local, avaliar o desempenho do dispositivo e otimizar a experiência do usuário, como exibir uma mensagem de "Câmera pronta" ou ajustar o layout da pré-visualização.

Parâmetros

Parâmetro

Tipo

Descrição

width

int

Largura do vídeo de pré-visualização local.

height

int

A altura da pré-visualização de vídeo local.

Elapsed

int

O tempo total decorrido (em milissegundos) desde o momento em que o usuário local entra em um canal até a pré-visualização local exibir o primeiro quadro.

onFirstVideoFrameReceived

Este callback é invocado quando o primeiro quadro de vídeo de um usuário remoto é recebido.

public void onFirstVideoFrameReceived(String uid, AliRtcVideoTrack videoTrack, int timeCost);

Use este callback para monitorar o tempo de estabelecimento do link de vídeo, avaliar a qualidade da rede e otimizar a experiência do usuário. Por exemplo, você pode exibir uma mensagem de "Vídeo pronto" ou ajustar a lógica de reprodução.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário remoto.

videoTrack

AliRtcVideoTrack

O tipo de fluxo de vídeo a ser aceito.

timeCost

int

Tempo para enviar o primeiro pacote de vídeo, medido em milissegundos a partir do momento em que um usuário entra na reunião.

onFirstVideoPacketSent

Este callback é invocado quando o primeiro pacote de vídeo é enviado.

public void onFirstVideoPacketSent(String uid, AliRtcVideoTrack videoTrack, int timeCost);

Este callback é acionado quando o usuário local envia com sucesso o primeiro pacote de dados de vídeo. Ele ajuda os desenvolvedores a monitorar a velocidade de estabelecimento do link de envio de vídeo, avaliar o desempenho do dispositivo local e otimizar a experiência do usuário, por exemplo, exibindo "Vídeo enviado" ou ajustando a política de captura.

Parâmetros

Parâmetro

Tipo

Descrição

UID

String

O ID do usuário remoto.

videoTrack

AliRtcVideoTrack

Tipos de fluxo de vídeo a aceitar.

timeCost

int

O tempo desde a entrada na reunião até o envio do primeiro pacote de vídeo. Medido em milissegundos.

onFirstAudioPacketSent

Este callback é invocado quando o usuário local envia com sucesso o primeiro pacote de áudio.

public void onFirstAudioPacketSent(String uid, AliRtcAudioTrack track, int timeCost);

Os desenvolvedores podem usar este callback para monitorar a rapidez com que o link de envio de áudio é estabelecido, avaliar o desempenho do dispositivo local e do sistema, e otimizar a experiência do usuário.

Parâmetros

Parâmetros

Tipo

Descrição

UID

String

ID do usuário remoto.

track

AliRtcAudioTrack

Tipos de fluxo de áudio a aceitar.

timeCost

int

Duração do envio: O tempo decorrido desde a entrada em uma sessão até o envio do primeiro pacote de áudio. Unidade: milissegundos.

onFirstVideoPacketReceived

Este callback é invocado quando o primeiro pacote de vídeo é recebido.

public void onFirstVideoPacketReceived(String uid, AliRtcVideoTrack videoTrack, int timeCost)

Este callback indica o recebimento do primeiro pacote de vídeo remoto. Ele é acionado quando o usuário local recebe o primeiro pacote de vídeo de um usuário remoto. Os desenvolvedores podem usar este callback para monitorar a velocidade de estabelecimento do link de vídeo ou atualizar os componentes de UI do fluxo de reprodução.

Parâmetros

Parâmetros

Tipo

Descrição

uid

String

ID do usuário remoto.

video track

AliRtcVideoTrack

Tipo de fluxo de vídeo a aceitar.

timeCost

int

O tempo desde o momento em que o usuário local entra em um canal até o recebimento do primeiro pacote de vídeo (em milissegundos).

onFirstAudioPacketReceived

Este callback é acionado quando o primeiro pacote de áudio de um usuário remoto é recebido.

public void onFirstAudioPacketReceived(String uid, AliRtcAudioTrack track, int timeCost)

Este callback é acionado para notificar o usuário local quando o primeiro pacote de dados de áudio é recebido de um usuário remoto. Ele ajuda os desenvolvedores a monitorar a velocidade de estabelecimento do link de áudio, avaliar a qualidade da rede e otimizar a experiência do usuário — por exemplo, exibindo um aviso de "Áudio conectado" ou ajustando a política de reprodução.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário remoto.

track

AliRtcAudioTrack

Tipo de fluxo de áudio a aceitar.

timeCost

int

O tempo, em milissegundos, desde o momento em que o usuário local entra em um canal até o recebimento do primeiro pacote de áudio.

onFirstRemoteAudioDecoded

Este callback é invocado quando o primeiro quadro de áudio de um usuário remoto foi decodificado e está pronto para reprodução.

public void onFirstRemoteAudioDecoded(String uid, AliRtcAudioTrack track, int elapsed)

Este callback indica que o fluxo de áudio remoto está pronto. Use este callback para calcular o tempo até o primeiro quadro ou atualizar componentes de UI.

Parâmetros

Parâmetro

Tipo

Descrição

UID

String

O ID do usuário remoto.

track

AliRtcAudioTrack

Tipo de fluxo de áudio.

elapsed

int

A latência desde o momento em que o usuário local entra em um canal até a decodificação do primeiro quadro de áudio (em milissegundos).

onAudioAccompanyStateChanged

Este callback é invocado quando o estado de reprodução do acompanhamento de áudio local muda.

public void onAudioAccompanyStateChanged(AliRtcEngine.AliRtcAudioAccompanyStateCode playState, AliRtcEngine.AliRtcAudioAccompanyErrorCode errorCode);

Este callback relata alterações no estado de reprodução do acompanhamento local. Ele notifica os desenvolvedores em tempo real sobre o estado atual da reprodução do acompanhamento (como início, pausa ou fim) e quaisquer códigos de erro associados. Os desenvolvedores podem usar este callback para monitorar o progresso da reprodução, lidar com exceções e atualizar a interface do usuário.

Parâmetros

Parâmetro

Tipo

Descrição

playState

AliRtcEngine.AliRtcAudioAccompanyStateCode

Status de reprodução do acompanhamento.

errorCode

AliRtcEngine.AliRtcAudioAccompanyErrorCode

Códigos de erro de reprodução indicam principalmente erros ao abrir ou decodificar arquivos.

onRemoteAudioAccompanyStarted

Callback invocado quando um usuário remoto inicia a reprodução de acompanhamento de áudio.

public void onRemoteAudioAccompanyStarted(String uid);

Este callback notifica o aplicativo local quando um usuário remoto começa a reproduzir acompanhamento de áudio, como música de fundo. Use este callback para executar lógica de inicialização — por exemplo, atualizar a UI, ajustar o volume ou notificar outros usuários.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário remoto que iniciou a reprodução do acompanhamento.

onRemoteAudioAccompanyFinished

Este callback é invocado quando um usuário remoto termina a reprodução de acompanhamento de áudio.

public void onRemoteAudioAccompanyFinished(String uid);

Ele notifica o aplicativo local quando o acompanhamento de áudio de um usuário remoto (como música de fundo ou efeitos sonoros) termina de ser reproduzido. Os desenvolvedores podem usar este callback para executar lógicas subsequentes, como avisar o usuário ou atualizar o status.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário remoto quando a reprodução da faixa de apoio termina.

onVideoResolutionChanged

A resolução do vídeo remoto muda.

public void onVideoResolutionChanged(String uid,AliRtcVideoTrack videoTrack, int width, int height);

Este callback notifica sobre alterações na resolução do fluxo de vídeo de um usuário remoto. Ele é acionado quando o usuário remoto troca de câmera, ajusta a clareza do vídeo ou sofre degradação de resolução devido a flutuações na rede. Use este callback para ajustar dinamicamente a lógica de renderização de vídeo local, como layout da UI, dimensionamento do canvas ou otimização de desempenho.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário remoto cuja resolução mudou.

videoTrack

AliRtcVideoTrack

O tipo de fluxo de vídeo, como fluxo de câmera ou fluxo de tela.

width

int

Nova largura da resolução de vídeo.

height

int

A nova altura da resolução de vídeo.

onRtcLocalVideoStats

Callback que fornece estatísticas para fluxos de vídeo publicados localmente.

public void onRtcLocalVideoStats(AliRtcEngine.AliRtcLocalVideoStats aliRtcStats);

Este callback fornece informações em tempo real sobre o status de codificação e transmissão do fluxo de vídeo local, como taxa de bits e taxa de quadros. Use-o para monitorar a qualidade do vídeo, diagnosticar problemas de desempenho ou ajustar dinamicamente os parâmetros de codificação.

Parâmetros

Parâmetro

Tipo

Descrição

aliRtcStats

AliRtcEngine.AliRtcLocalVideoStats

Estatísticas de envio de vídeo local: taxa de bits de publicação e taxa de quadros. Definido em AliRtcLocalVideoStats.

onRtcRemoteVideoStats

Este callback fornece estatísticas para fluxos de vídeo remotos assinados.

public void onRtcRemoteVideoStats(AliRtcEngine.AliRtcRemoteVideoStats aliRtcStats);

Este callback fornece estatísticas de dados em tempo real para fluxos de vídeo remotos. Ele recupera informações em tempo real sobre o status de codificação e transmissão do vídeo remoto, como taxa de bits, taxa de quadros, resolução, latência e travamentos. Os desenvolvedores podem usar este callback para monitorar a qualidade do vídeo, diagnosticar problemas de desempenho ou ajustar dinamicamente os parâmetros de decodificação.

Parâmetros

Parâmetro

Tipo

Descrição

aliRtcStats

AliRtcEngine.AliRtcRemoteVideoStats

Estatísticas de recebimento de vídeo remoto: ID do usuário remoto, resolução de vídeo, taxa de quadros e contagem de travamentos. Definido em AliRtcRemoteVideoStats.

onRtcRemoteAudioStats

Estatísticas de dados para o fluxo de áudio remoto assinado.

public void onRtcRemoteAudioStats(AliRtcEngine.AliRtcRemoteAudioStats aliRtcStats);

Este callback fornece estatísticas em tempo real sobre um fluxo de áudio remoto, como qualidade de áudio, taxa de perda de pacotes e latência. Use este callback para monitorar a estabilidade da conexão de áudio remota, diagnosticar problemas de rede e ajustar dinamicamente as políticas de reprodução, como ativar redução de ruído ou solicitar aos usuários que otimizem sua rede.

Parâmetros

Parâmetro

Tipo

Descrição

aliRtcStats

AliRtcEngine.AliRtcRemoteAudioStats

Estatísticas de recebimento de áudio remoto: ID do usuário remoto, qualidade de áudio, taxa de perda de pacotes, contagem de travamentos e latência. Definido em AliRtcRemoteAudioStats.

onRtcLocalAudioStats

Relata estatísticas do fluxo de áudio local publicado.

public void onRtcLocalAudioStats(AliRtcEngine.AliRtcLocalAudioStats aliRtcStats);

Este callback fornece estatísticas em tempo real para a ingestão de fluxo de áudio local, incluindo status de codificação e transmissão, como taxa de bits, taxa de amostragem, número de canais de som e taxa de perda de pacotes. Use este callback para monitorar a estabilidade do link de áudio local, diagnosticar problemas de desempenho e ajustar dinamicamente as políticas de codificação — por exemplo, reduzindo a taxa de bits.

Parâmetros

Parâmetro

Tipo

Descrição

aliRtcStats

AliRtcEngine.AliRtcLocalAudioStats

Estatísticas de envio de áudio local: tipo de fluxo de áudio, taxa de bits de envio, taxa de amostragem e contagem de canais. Definido em AliRtcLocalAudioStats.

onAudioFocusChange

Callback invocado quando o foco de áudio muda (apenas Android).

public void onAudioFocusChange(int focusChange);

Notificações para alterações de foco de áudio. Por padrão, o SDK solicita automaticamente o foco de áudio. Se seu aplicativo precisar usar o foco de áudio novamente, você deve solicitá-lo novamente no callback que o SDK aciona quando o foco de áudio muda.

Momento da notificação

Este callback é acionado quando o dispositivo de saída de áudio muda, como ao conectar ou desconectar fones de ouvido, trocar para um dispositivo Bluetooth diferente ou alternar entre o auricular e o alto-falante.

Parâmetros

Parâmetro

Tipo

Descrição

focusChange

int

O tipo do estado de foco. O valor é o mesmo que o tipo de foco definido em android.media.AudioManager.

onAudioRouteChanged

Este callback é invocado quando o roteamento de áudio muda (apenas Android e iOS).

public void onAudioRouteChanged(AliRtcEngine.AliRtcAudioRouteType routing);

Este callback notifica sobre alterações no caminho de saída de áudio do dispositivo, como quando fones de ouvido são conectados ou a saída é alternada para o alto-falante. Use este callback para ajustar dinamicamente as políticas de saída de áudio, como alternar modos de microfone ou ajustar o volume.

Parâmetros

Parâmetro

Tipo

Descrição

routing

AliRtcEngine.AliRtcAudioRouteType

A rota de áudio atual.

onRemoteUserSubscribedDataChannel

Este callback é invocado quando um usuário remoto assina o Data Channel.

public void onRemoteUserSubscribedDataChannel(String uid);

Este callback é acionado quando um usuário remoto assina o Data Channel. Ele notifica que um usuário remoto específico está pronto para receber mensagens personalizadas. Neste ponto, você pode chamar com segurança sendDataChannelMsg para enviar dados a esse usuário. Este callback é um mecanismo crucial para garantir a entrega confiável de mensagens, pois evita perda de pacotes ou falhas que ocorreriam se você enviasse mensagens antes que o usuário alvo assinasse o Data Channel.

Nota

Este callback é acionado apenas em cenários de interação em tempo real com IA.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário remoto.

onDataChannelMessage

Este callback é invocado quando uma mensagem personalizada é recebida pelo canal de dados.

public void onDataChannelMessage(String uid, AliRtcEngine.AliRtcDataChannelMsg msg);

O ARTC SDK suporta mensagens personalizadas em tempo real juntamente com dados de áudio e vídeo. Este callback recebe mensagens personalizadas do canal de dados. Enviando e Recebendo Mensagens Personalizadas.

Nota
  • Em cenários interativos, os streamers podem enviar e receber mensagens, enquanto os espectadores podem apenas receber mensagens.

  • Este recurso está desativado por padrão. Para ativá-lo, chame setParameter para definir {"data":{"enablePubDataChannel":true,"enableSubDataChannel":true}} após criar o motor DPI.

  • O recurso de canal de dados exige que o remetente tenha um fluxo de áudio ou vídeo ativo. Certifique-se de que seu cenário possua fluxos de áudio ou vídeo ativos.

Momento do acionamento

Depois que um remetente chama sendDataChannelMsg para enviar uma mensagem personalizada, este callback é acionado no lado do receptor se o recurso de canal de dados estiver ativado.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID de usuário do remetente.

msg

AliRtcEngine.AliRtcDataChannelMsg

A mensagem personalizada recebida.

onAudioVolume

O volume do áudio assinado, o status de voz e o UID.

public void onAudioVolume(List<AliRtcEngine.AliRtcAudioVolume> speakers, int totalVolume);

Este callback está desativado por padrão. Ative-o chamando a interface <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="d1cae8ec5dc2w">enableAudioVolumeIndication</a>. Após a ativação, sempre que houver usuários transmitindo no canal, o SDK acionará este callback depois que você entrar no canal, no intervalo especificado em <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="e5e0d330423ax">enableAudioVolumeIndication</a>. O callback retorna informações de volume para os falantes locais e remotos.

Parâmetros

Parâmetro

Tipo

Descrição

speakers

List<AliRtcEngine.AliRtcAudioVolume>

Array que contém as informações de volume de cada usuário, incluindo UID, status de fala e volume.

  • O valor 0 para o UID indica um usuário local.

  • O valor 1 para o UID indica o volume mixado de todos os usuários remotos.

  • Outros valores indicam as informações de volume do usuário remoto com o UID especificado.

totalVolume

int

Volume após a mixagem de áudio. Valores válidos: 0 a 255.

Em um callback para um usuário local, totalVolume representa o volume após a mixagem do áudio do usuário local. Em um callback para um usuário remoto, totalVolume representa o volume após a mixagem do áudio de todos os falantes.

onActiveSpeaker

Permite assinar o falante atual.

public void OnActiveSpeaker(String uid);

Após chamar com sucesso <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="699faf2d18k2x">enableAudioVolumeIndication</a>, o SDK monitora continuamente os usuários remotos e identifica aquele com o maior volume de áudio. O SDK conta quantas vezes cada usuário remoto é identificado como tendo o volume mais alto. Dentro do período de tempo atual, o usuário remoto com a maior contagem acumulada é considerado o usuário mais ativo.

Condições de acionamento

Este callback é acionado quando o canal contém dois ou mais usuários e pelo menos um usuário remoto está ativo. O SDK relata o UID do usuário remoto mais ativo.

  • Se o usuário remoto mais ativo não mudar, o SDK não aciona o callback onActiveSpeaker novamente.

  • Caso o usuário remoto mais ativo mude, o SDK aciona este callback e relata o UID do novo usuário remoto mais ativo.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário que está falando. O valor 0 indica o usuário local. Este parâmetro retorna o ID do usuário com o maior volume no segmento de tempo atual, e não o ID do usuário com o maior volume instantâneo.

OnTestAudioVolume

Callback de detecção pré-chamada e informações de volume.

public void OnTestAudioVolume(int volume);

Este callback relata o volume do dispositivo de captura de áudio durante um teste pré-chamada, permitindo verificar se o dispositivo de captura de áudio local está funcionando corretamente. Ele é acionado quando você chama startAudioCaptureTest.

Parâmetros

Parâmetro

Tipo

Descrição

Volume

int

Valor do volume.

onCapturedAudioFrame

Callback invocado quando dados brutos de áudio capturado estão disponíveis.

boolean onCapturedAudioFrame(AliRtcAudioFrame frame);

Este callback fornece os dados brutos de áudio capturados pelo dispositivo atual. Ele vem desativado por padrão. Para receber esses dados de áudio:

  • Ative este callback chamando enableAudioFrameObserver(true, audioSource, config). É necessário especificar o parâmetro audioSource. O parâmetro config define a taxa de amostragem, o número de canais de som e o modo de leitura/gravação para os dados de áudio.

  • Chame registerAudioFrameObserver para registrar um objeto receptor de dados de áudio.

Nota

É possível definir a taxa de amostragem, o número de canais de som e o modo de leitura/gravação para este callback.

Limitações

Não execute operações demoradas nesta função de callback, pois isso pode causar anomalias no áudio.

Parâmetros

Parâmetro

Tipo

Observação

frame

AliRtcAudioFrame

Dados de áudio.

Descrição do retorno

  • true: Sucesso.

  • false: Falha.

onProcessCapturedAudioFrame

Callback invocado quando os dados de áudio ficam disponíveis após o processamento 3A.

boolean onProcessCapturedAudioFrame(AliRtcAudioFrame frame);

Este callback recupera dados de áudio após o processamento 3A. Ele vem desativado por padrão. Para recuperar esses dados de áudio:

  • Ative este callback chamando enableAudioFrameObserver(true, audioSource, config) e especificando o parâmetro audioSource. Use também o parâmetro config para definir a taxa de amostragem, o número de canais de som e o modo de leitura/gravação dos dados de áudio.

  • Chame registerAudioFrameObserver para registrar o objeto receptor de dados de áudio.

Nota

Use este método para definir a taxa de amostragem, o número de canais de som e o modo de leitura/gravação.

Restrições de chamada

Não execute operações demoradas nesta função de callback, pois isso pode causar anomalias no áudio.

Você pode chamar este método antes ou depois de entrar em um canal.

Parâmetro

Tipo

Observação

frame

AliRtcAudioFrame

Dados de áudio.

Descrição do retorno

  • True indica sucesso.

  • false: Falha.

onPublishAudioFrame

Callback de ingestão de fluxo de áudio

boolean onPublishAudioFrame(AliRtcAudioFrame frame);

Este callback obtém dados de áudio para ingestão de fluxo. Ele vem desativado por padrão. Para obter esses dados de áudio:

  • Ative este callback usando audioSource em enableAudioFrameObserver(true, audioSource, config). Além disso, o parâmetro config permite definir a taxa de amostragem e o número de canais de som para obtenção dos dados de áudio, o modo de leitura/gravação, entre outros.

  • Chame registerAudioFrameObserver para registrar um objeto receptor de dados de áudio.

Nota

Este método permite definir a taxa de amostragem e o número de canais de som, mas o modo só pode ser definido como somente leitura.

Limitações

Não execute operações demoradas nesta função de callback, pois isso pode causar problemas de áudio.

Parâmetros

Parâmetro

Tipo

Observação

Frame

AliRtcAudioFrame

Dados de áudio.

Descrição do retorno

  • true: A operação foi bem-sucedida.

  • false: Falha.

onPlaybackAudioFrame

Callback invocado quando os dados de áudio estão prontos para reprodução.

boolean onPlaybackAudioFrame(AliRtcAudioFrame frame);

Este callback recupera dados de áudio para reprodução. Ele vem desativado por padrão. Para recuperar esses dados de áudio:

  • Para ativar o callback atual, defina o parâmetro audioSource ao chamar enableAudioFrameObserver(true, audioSource, config). Use também o parâmetro config para definir a taxa de amostragem, o número de canais de som e o modo de leitura/gravação dos dados de áudio obtidos.

  • Chame registerAudioFrameObserver para registrar um objeto receptor de dados de áudio.

Nota

Este método suporta a definição da taxa de amostragem, número de canais de som e modo de leitura/gravação.

Limitações

Não execute operações demoradas nesta função de callback, pois isso pode causar anomalias no áudio.

Parâmetros

Parâmetro

Tipo

Observação

frame

AliRtcAudioFrame

Dados de áudio.

Descrição do retorno

  • true: A operação foi bem-sucedida.

  • False indica falha.

onRemoteUserAudioFrame

Callback invocado quando os dados de áudio de um usuário remoto estão disponíveis para pull de fluxo.

boolean onRemoteUserAudioFrame(String uid, AliRtcAudioFrame frame);

Este callback recupera os dados de áudio remoto do usuário especificado durante o pull de fluxo. Ele vem desativado por padrão. Para recuperar esses dados de áudio:

  • Use o parâmetro audioSource em enableAudioFrameObserver(true, audioSource, config) para ativar o callback atual. Use também o parâmetro config para especificar propriedades dos dados de áudio a serem recuperados, como taxa de amostragem, número de canais de som e modo de leitura/gravação.

  • Chame registerAudioFrameObserver para registrar um observador de quadros de áudio.

Nota

Este método não suporta a definição da taxa de amostragem ou do número de canais de som, mas permite definir o modo de leitura/gravação.

Limitações

Para evitar anomalias de áudio, não execute operações demoradas nesta função de callback.

Descrição do parâmetro

Parâmetro

Tipo

Observação

uid

String

ID do usuário.

Frame

AliRtcAudioFrame

Dados de áudio.

Descrição do retorno

  • true: A operação foi bem-sucedida.

  • false: Indica falha.

OnDestroyCompletion

Callback que o SDK invoca quando a destruição do mecanismo é concluída.

void OnDestroyCompletion();

Este callback indica que a instância do mecanismo SDK foi destruída e que você pode criar uma nova instância.

Momento de acionamento

Este callback é acionado após você chamar destroy[2/2] e o mecanismo DPI ser destruído.

onTextureCreate

Este callback é invocado quando o contexto OpenGL é criado.

void onTextureCreate(long context);
Nota

Este callback é acionado quando o SDK cria internamente o contexto OpenGL.

Condições de acionamento

Este callback é acionado quando o SDK cria internamente o contexto OpenGL. Use este callback para inicializar os recursos relevantes.

Parâmetros

Parâmetro

Tipo

Observação

Context

long

Contexto OpenGL.

onTextureUpdate

Callback invocado quando a textura OpenGL é atualizada.

int onTextureUpdate(int textureId, int width, int height, AliRtcVideoSample videoSample);

Condições de acionamento

Este callback é acionado após cada quadro de vídeo ser carregado na textura OpenGL. Ao registrar um observador externo de dados de textura OpenGL, você pode processar a textura neste callback e retornar o ID da textura processada.

Parâmetros

Parâmetro

Tipo

Observação

textureId

int

Contexto OpenGL.

width

int

Largura do vídeo.

Height

int

Altura do vídeo.

videoSample

AliRtcVideoSample

Dados do quadro de vídeo.

Descrição do retorno

Retorna o novo ID de textura ou o ID de textura original. Se o valor retornado for menor que zero, considera-se que o ID da textura não foi alterado.

onTextureDestroy

void onTextureDestroy();

Condição de acionamento

Este callback é acionado quando o SDK destrói internamente o contexto OpenGL. Use este callback para limpar os recursos relevantes.

onLocalVideoSample

Callback invocado quando os dados de vídeo capturados localmente ficam disponíveis.

public boolean onLocalVideoSample(AliRtcVideoSourceType sourceType, AliRtcVideoSample videoSample);

Este callback recupera quadros de vídeo brutos, como dados YUV, capturados pela câmera local. Use este callback para implementar lógica personalizada de processamento de vídeo, como adição de filtros, marcas d'água ou transcodificação. Para enviar os quadros de vídeo processados ao SDK para codificação ou renderização subsequente, retorne true.

Momento de acionamento

Após registrar um observador de dados de vídeo chamando <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="22a5a6bd53c77">registerVideoSampleObserver</a>, o SDK captura os quadros de vídeo correspondentes.

Parâmetros

Parâmetro

Tipo

Descrição

sourceType

AliRtcVideoSourceType

Tipo de fonte de vídeo.

videoSample

AliRtcVideoSample

Dados de vídeo.

Descrição da resposta

  • true: Grava os dados de volta no SDK. (Este é o comportamento padrão. A gravação de volta é necessária se você modificar AliRtcVideoSample.data.)

  • false: Os dados não são gravados de volta no SDK. Esta opção é usada quando você precisa manipular diretamente AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU ou AliRtcVideoSample.dataFrameV.

onPreEncodeVideoSample

Callback para dados de vídeo local pré-codificação assinados.

public boolean onPreEncodeVideoSample(AliRtcVideoSourceType sourceType, AliRtcVideoSample videoRawData);

Este callback recupera dados brutos de vídeo local, como dados no formato YUV, antes de o SDK codificar os quadros de vídeo. Isso permite implementar lógica de processamento personalizada, como adicionar marcas d'água, ajustar cores ou transcodificar, e então decidir se deve retornar os dados processados ao SDK para codificação.

Parâmetros

Parâmetro

Tipo

Descrição

sourceType

AliRtcVideoSourceType

Tipo de fluxo de vídeo

videoRawData

AliRtcVideoSample

Dados brutos de vídeo

Descrição do retorno

  • true: Os dados devem ser gravados de volta no SDK quando você opera em AliRtcVideoSample.data. Esta é a configuração padrão.

  • false: Não grava os dados de volta no SDK. (Use esta opção se quiser manipular diretamente AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU e AliRtcVideoSample.dataFrameV.)

onRemoteVideoSample

Callback para dados de vídeo remoto assinados.

public boolean onRemoteVideoSample(String callId,AliRtcVideoSourceType sourceType, AliRtcVideoSample videoSample);

Este callback recebe dados de vídeo remoto assinados. Ele obtém dados brutos de quadros de vídeo (como formato YUV) de usuários remotos. Os desenvolvedores podem usar este callback para implementar lógica de processamento personalizada (como adicionar filtros, marcas d'água ou transcodificação) e determinar se devem retornar os dados processados ao SDK para renderização subsequente.

Parâmetros

Parâmetro

Tipo

Descrição

callId

String

ID do usuário

sourceType

AliRtcVideoSourceType

Tipo de fluxo de vídeo

videoSample

AliRtcVideoSample

Dados brutos de vídeo

Descrição do retorno

  • true: Os dados são gravados de volta no SDK. Esta é a configuração padrão e é necessária quando você opera em AliRtcVideoSample.data.

  • Se false, os dados não precisam ser gravados de volta no SDK. (Isso é usado ao operar diretamente em AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU ou AliRtcVideoSample.dataFrameV.)

onGetVideoFormatPreference

Formato de saída de vídeo

public AliRtcVideoFormat onGetVideoFormatPreference();

Descrição da resposta

O formato de saída de vídeo desejado.

onGetObservedFramePosition

Conteúdo de saída de dados de vídeo

public int onGetObservedFramePosition();

Este callback obtém o conteúdo ou tipo de saída dos dados de vídeo. Os desenvolvedores podem usar este callback para obter o estágio de processamento dos quadros de vídeo de saída do SDK, como após a captura, antes da codificação ou após o pull de fluxo.

Descrição do retorno

O conteúdo de saída de vídeo esperado é um valor de enumeração de AliRtcVideoObserPosition, indicando dados capturados, dados de pull de fluxo e dados de pré-codificação.

onPublishLiveStreamStateChanged

Este callback é invocado quando o status do stream ao vivo retransmitido muda.

public void onPublishLiveStreamStateChanged(String streamUrl, AliRtcLiveTranscodingState state, AliEngineLiveTranscodingErrorCode errorCode);

Parâmetros

Parâmetro

Tipo

Descrição

streamUrl

String

URL de ingestão.

state

AliRtcLiveTranscodingState

Status da transmissão ao vivo bypass.

errorCode

AliEngineLiveTranscodingErrorCode

Código de erro.

onPublishTaskStateChanged

Invocado quando o status da tarefa retransmitida muda.

public void onPublishTaskStateChanged(String streamUrl, AliRtcTrascodingPublishTaskStatus state);

Parâmetros

Parâmetro

Tipo

Descrição

streamUrl

String

URL de ingestão.

state

AliRtcTrascodingPublishTaskStatus

Status da tarefa de transmissão ao vivo retransmitida.

onNetworkQualityChanged

Callback invocado quando a qualidade da rede muda.

public void onNetworkQualityChanged(String uid, AliRtcNetworkQuality upQuality, AliRtcNetworkQuality downQuality);

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário. Um valor vazio indica o status da rede upstream e downstream do usuário local.

upQuality

AliRtcNetworkQuality

Status da rede upstream.

downQuality

AliRtcNetworkQuality

Integridade da rede downstream.

onNetworkQualityProbeTest

Callback invocado aproximadamente 3 segundos após o início do teste de qualidade da rede.

public void onNetworkQualityProbeTest(AliRtcNetworkQuality quality){}

Parâmetros

Parâmetro

Tipo

Descrição

quality

AliRtcNetworkQuality

Qualidade da rede.

onNetworkQualityProbeTestResult

Callback que relata os resultados do teste de qualidade da rede, invocado aproximadamente 30 segundos após o início do teste.

public void onNetworkQualityProbeTestResult(int code, AliRtcEngine.AlirtcNetworkQualityProbeResult result){}

Parâmetros

Parâmetro

Tipo

Descrição

code

int

O valor retornado é 0 se a sondagem for bem-sucedida e -1 se falhar porque condições ruins de rede causaram a queda da conexão.

result

AlirtcNetworkQualityProbeResult

Qualidade da rede.

onSnapshotComplete

Callback invocado quando uma operação de captura de tela é concluída.

public void onSnapshotComplete(String userId, AliRtcVideoTrack trackType, Bitmap bitmap, boolean success)

Este callback fornece o resultado e os detalhes da captura de tela.

Parâmetros

Parâmetro

Tipo

Descrição

userId

String

ID do usuário.

trackType

AliRtcVideoTrack

Tipo do fluxo de vídeo para capturas de tela.

bitmap

Bitmap

Dados da captura de tela.

Success

boolean

Indica se a captura de tela foi bem-sucedida.

onScreenSharePublishStateChanged

Callback para alterações na ingestão de fluxo de compartilhamento de tela.

public void onScreenSharePublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , AliRtcEngine.AliRtcPublishState newState, int elapseSinceLastState, String channel)

Este callback fornece notificações sobre alterações no status de ingestão de fluxo de compartilhamento de tela e é acionado quando o status muda.

Descrição do parâmetro

Parâmetro

Tipo

Descrição

oldState

AliRtcEngine.AliRtcPublishState

Estado anterior antes da alteração do status de ingestão de fluxo.

newState

AliRtcEngine.AliRtcPublishState

Novo status de ingestão de fluxo após a alteração.

elapseSinceLastState

int

Intervalo de tempo para alterações de status (ms).

channel

String

Nome do canal atual.

onScreenShareSubscribeStateChanged

Callback invocado quando o status de assinatura de um fluxo de compartilhamento de tela muda.

public void onScreenShareSubscribeStateChanged(String uid,
                                                    AliRtcEngine.AliRtcSubscribeState oldState,
                                                    AliRtcEngine.AliRtcSubscribeState newState,
                                                    int elapseSinceLastState, String channel);

Este callback é acionado quando o status de assinatura do usuário atual para um fluxo de compartilhamento de tela de um usuário remoto muda.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário remoto.

oldState

AliRtcEngine.AliRtcSubscribeState

Status de assinatura anterior.

newState

AliRtcEngine.AliRtcSubscribeState

Status de assinatura atual.

elapseSinceLastState

int

Intervalo de alteração de estado (milissegundos).

channel

String

Canal atual.

onOccurError

Notificações de falha.

public void onOccurError(int error, String message);

O callback global de notificação de erros do ARTC SDK notifica a camada de aplicação quando ocorre um erro crítico no mecanismo interno do SDK. Os desenvolvedores podem usar este callback para obter o código de erro e a mensagem de erro para tratamento de exceções, registro de logs ou notificação ao usuário.

Descrição da resposta

Parâmetro

Tipo

Descrição

Error

int

Tipo de erro. Definido na lista de códigos de erro.

message

String

Mensagem de erro.

OnLocalAudioStateChanged

Este callback é invocado quando o estado do dispositivo de áudio local muda.

public void OnLocalAudioStateChanged(int state);

O callback é acionado quando o estado do dispositivo de captura de áudio local muda, como quando você chama startAudioCapture para iniciar a captura de áudio ou stopAudioCapture para parar a captura de áudio.

Parâmetros

Parâmetro

Tipo

Descrição

State

int

  • 0: Não criado

  • 1: Coletando

  • 2: Desligando

  • 3: Coleta desligada

setParameter

Configurar parâmetros personalizados

public abstract int setParameter(String param);

Parâmetros

Parâmetro

Tipo

Descrição

param

String

Parâmetro personalizado.

getParameter

Recupera parâmetros personalizados.

public abstract String getParameter(String param);

Parâmetros

Parâmetro

Tipo

Descrição

param

String

Parâmetro personalizado.

registerAudioVolumeObserver

Registra um objeto usado para exportar dados de volume.

public abstract void registerAudioVolumeObserver(AliRtcAudioVolumeObserver observer);

Este método registra um objeto para exportação de dados de volume. Para cancelar o registro, chame unRegisterAudioVolumeObserver.

Quando chamar

  • Para obter informações de volume, chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="85a734d2596vf">enableAudioVolumeIndication</a> para definir a frequência do callback e o coeficiente de suavização, e chame esta API para registrar o objeto que recebe os dados relevantes.

  • Ao chamar <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#ae07dc986abf3" id="29e92857a5iv8">startAudioCaptureTest</a> antes de entrar em uma reunião para detecção de dispositivo de áudio pré-chamada, você pode chamar esta API e implementar o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e375c31bdez6j" id="e5cb797b7cg5p">OnTestAudioVolume</a>.

Parâmetros

Parâmetro

Tipo

Descrição

observer

AliRtcAudioVolumeObserver

Objeto que aceita dados de volume de áudio.

unRegisterAudioVolumeObserver

Cancela o registro do objeto que exporta dados de volume.

public abstract void unRegisterAudioVolumeObserver();

Este método corresponde a registerAudioVolumeObserver e remove o objeto registrado que exporta dados de volume.

Quando chamar

Chame este método para cancelar o registro de um observador de volume de áudio caso tenha registrado um anteriormente usando registerAudioVolumeObserver.

enableAudioFrameObserver

Permite definir os parâmetros de callback de áudio.

public abstract int  enableAudioFrameObserver(boolean enable, AliRtcAudioSource audioSource, AliRtcAudioFrameObserverConfig config);

Este método ativa ou desativa callbacks de dados de áudio para tipos especificados, permitindo que os desenvolvedores obtenham vários dados de áudio brutos e codificados. Ele vem desativado por padrão. Para ativá-lo, chame este método.

Nota

Ao chamar esta API para ativar o callback de dados de áudio para o AliRtcAudioSource correspondente, você deve usar o método registerAudioFrameObserver para passar o objeto que receberá os dados de áudio.

Quando chamar

Chame este método para ativar a recuperação de dados de áudio quando necessário.

Parâmetros

Parâmetros

Tipo

Descrição

enable

boolean

Se deve permitir callbacks de dados de áudio.

audioSource

AliRtcAudioSource

Os tipos de fonte de dados de callback incluem: após captura (0), após 3A (1), ingestão de fluxo (2), reprodução (3), após mixagem de ingestão de fluxo e reprodução (4) e dados de áudio puxados (5).

Nota
  • Dados de áudio de ingestão de fluxo e dados de áudio após mixagem de ingestão de fluxo e reprodução suportam apenas o modo somente leitura (ReadOnly).

  • Dados de áudio puxados não suportam a modificação de parâmetros de áudio, como taxa de amostragem e número de canais.

config

AliRtcAudioFrameObserverConfig

Parâmetros de callback de áudio, como taxa de amostragem, número de canais de som e modo de leitura-gravação do callback (somente leitura, somente gravação ou leitura-gravação). Se você definir esses parâmetros como null, os valores padrão serão 48000 Hz, 1 canal e somente leitura.

Descrição do retorno

  • 0: A chamada do método foi bem-sucedida.

  • <0: A chamada do método falhou.

registerAudioFrameObserver

Permite registrar um callback de dados de áudio.

public abstract void registerAudioFrameObserver(AliRtcAudioFrameObserver observer);

Este método registra um objeto para receber dados de callback de áudio.

Momento da invocação

Para receber dados de áudio através dos callbacks onCapturedAudioFrame, onProcessCapturedAudioFrame, onPublishAudioFrame, onPlaybackAudioFrame e onRemoteUserAudioFrame, você deve chamar este método para fornecer um objeto receptor de dados de áudio. Para cancelar o registro do receptor, chame este método novamente e passe null.

Limites de chamada

O observador não pode recuperar dados a menos que você chame enableAudioFrameObserver para ativar o callback para um AliRtcAudioSource específico.

Descrição do parâmetro

Instruções

  1. Leia o inglês para entender O QUE precisa ser comunicado

  2. Escreva o português brasileiro DO ZERO — esqueça a estrutura da frase em inglês

  3. Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão

  4. Tags xref (<a data-tag="xref" ...>texto</a>) — preserve a tag INTEIRA com todos os atributos na ordem e caixa originais, APENAS traduza o texto visível entre > e

  5. Aplique todas as regras específicas do idioma rigorosamente

  6. Aplique as regras de stopwords com tolerância zero

  7. Use o modo imperativo em etapas numeradas e listas de procedimentos

  8. Garanta a consistência da terminologia — mesmo termo = mesma tradução em todo o documento

  9. Varie os inícios de frase em listas/tabelas — nenhum início repetido 3+ vezes

  10. Retorne APENAS o documento markdown em português brasileiro, sem explicações

    Parâmetro

    Tipo

    Descrição

    observer

    AliRtcAudioFrameObserver

    Instância do objeto receptor de callback de dados de áudio. Se null for passado, o registro é cancelado.

registerVideoSampleObserver

Registra um objeto para exportar dados de vídeo.

public abstract void registerVideoSampleObserver(AliVideoObserver observer);

Este método registra um objeto para exportação de dados de vídeo. Para cancelar o registro do objeto, chame o método unRegisterVideoSampleObserver.

Quando chamar

Para obter dados brutos de vídeo (como nos formatos YUV ou RGBA), chame este método para registrar um observador de dados de vídeo e capturar esses dados em várias etapas. AliRtcVideoObserver é a classe observadora de dados de vídeo.

Callbacks relacionados

Após registrar com sucesso um observador de saída de dados de vídeo, o SDK aciona os callbacks implementados na interface AliRtcVideoObserver para cada quadro de vídeo capturado. Implemente os callbacks correspondentes conforme necessário:

Parâmetros

Parâmetro

Tipo

Descrição

observer

AliRtcVideoObserver

Objeto de saída para dados de vídeo.

Descrição do retorno

O callback AliVideoObserver retorna os dados de saída.

unRegisterVideoSampleObserver

Cancela o registro de um objeto usado para exportar dados de vídeo.

public abstract void unRegisterVideoSampleObserver();

Esta interface corresponde à interface <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="dcf635790da7v">registerVideoSampleObserver</a> e serve para cancelar o registro do objeto de saída de dados de vídeo.

registerLocalVideoTextureObserver

Registra um objeto que exporta os dados de textura OpenGL da faixa de câmera local.

public abstract void registerLocalVideoTextureObserver(AliTextureObserver observer);

Para recuperar dados brutos de vídeo, chame a API <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="4f1f5a423ch4j">registerVideoSampleObserver</a> e registre o callback correspondente. Para recuperar dados internos de textura, utilize esta API. Para cancelar o registro do observador de textura, chame a API unRegisterLocalVideoTextureObserver.

Nota

Este método aplica-se apenas a vídeo proveniente de um fluxo de câmera local.

Callbacks relacionados

Após registrar com sucesso um observador de dados de textura OpenGL para o fluxo de vídeo da câmera local, o SDK aciona os callbacks implementados na interface AliRtcTextureObserver para cada quadro de vídeo capturado. Implemente os callbacks correspondentes conforme necessário:

  • onTextureCreate: Este callback é acionado quando o SDK cria seu contexto OpenGL.

  • onTextureUpdate: Acionado após o upload dos dados de vídeo de cada quadro para uma textura OpenGL. Caso você registre um observador externo de dados de textura OpenGL, processe a textura neste callback e retorne o ID da textura processada. O valor de retorno deve ser um ID de textura válido. Se nenhum processamento for realizado, retorne o parâmetro textureId original.

  • onTextureDestroy: Este callback é acionado quando o contexto OpenGL interno do SDK é destruído.

Parâmetros

Parâmetro

Tipo

Descrição

observer

AliRtcTextureObserver

Observador de dados de textura OpenGL.

Descrição do retorno

Os dados de saída são retornados no callback AliVideoObserver.

unRegisterLocalVideoTextureObserver

Cancela o registro do observador de dados de textura OpenGL de uma faixa de câmera local.

public abstract void unRegisterLocalVideoTextureObserver();

Este método cancela o registro do observador registrado por registerLocalVideoTextureObserver.

snapshotVideo

Recurso de captura de instantâneo de vídeo.

public abstract int snapshotVideo(String userId, AliRtcVideoTrack trackType);

Chame este método para capturar uma imagem de um fluxo de vídeo de um usuário específico.

Limitações

Este método é assíncrono. Um valor de retorno 0 indica que a chamada foi bem-sucedida, mas a captura de tela ainda não foi concluída.

Callbacks relacionados

Após chamar este método com sucesso, monitore o callback onSnapshotComplete para obter o status de sucesso e os detalhes da captura.

Parâmetros

Parâmetro

Tipo

Descrição

user ID

String

ID do usuário. Se userId for null ou uma string vazia (""), a captura será feita do usuário local.

trackType

AliRtcVideoTrack

Tipo de fluxo de vídeo para a captura. Os seguintes valores são suportados:

  • AliRtcVideoTrackCamera: Fluxo de câmera

  • AliRtcVideoTrackScreen: Fluxo de compartilhamento de tela

Descrição do retorno

  • 0: Indica apenas que a chamada do método foi bem-sucedida. O resultado da captura de tela é informado pelo callback onSnapshotComplete.

  • Diferente de zero: A chamada falhou e retorna um código de erro.

setLogDirPath

Define o caminho de salvamento para o arquivo de log do SDK.

public static int setLogDirPath(String logDirPath);

Parâmetros

Parâmetro

Tipo

Descrição

logDirPath

String

Caminho absoluto para armazenamento dos arquivos de log. O caminho padrão é o diretório do aplicativo.

Descrição do retorno

Um valor 0 indica que a chamada foi bem-sucedida. Qualquer outro valor indica falha. Nota: Para usar este método, defina-o antes de chamar qualquer outro método do SDK para evitar perda de logs. O aplicativo deve garantir que o caminho especificado exista e tenha permissão de escrita.

setLogLevel

Define o nível de log.

public static void setLogLevel(AliRtcLogLevel logLevel);

Parâmetros

Parâmetro

Tipo

Descrição

logLevel

AliRtcLogLevel

Nível de log.

setDeviceOrientationMode

Define a orientação do dispositivo.

public abstract void setDeviceOrientationMode(AliRtcOrientationMode mode);

Este método define o modo de orientação do dispositivo, o que afeta a forma como o vídeo é exibido.

Limitações

Disponível apenas para Android e iOS.

Parâmetros

Parâmetro

Tipo

Descrição

mode

AliRtcOrientationMode

Direção do dispositivo.

Descrição do retorno

Nenhum.

requestAudioFocus

Define o volume de reprodução local do efeito sonoro.

public abstract int requestAudioFocus();

Quando chamar

O SDK solicita automaticamente o foco de áudio ao iniciar, portanto, geralmente não é necessário solicitá-lo manualmente. No entanto, se você tiver chamado abandonAudioFocus, utilize esta API para recuperar o foco de áudio.

Limitações

Apenas Android.

Parâmetros

Nenhum.

Descrição do retorno

  • 0: Indica falha.

  • 1: Indica sucesso.

abandonAudioFocus

Libera o foco de áudio.

public abstract int abandonAudioFocus();

Quando chamar

O SDK chama automaticamente esta interface para liberar o foco de áudio durante sua destruição. Contudo, em alguns cenários, pode ser necessário liberar explicitamente o foco de áudio chamando esta interface. Após a liberação do foco de áudio, alguns dispositivos podem ficar sem som ou com volume reduzido. Para restaurar o foco de áudio, chame requestAudioFocus.

Limites de invocação

Apenas Android.

Descrição do retorno

  • 0: Falha.

  • 1: Sucesso.

getNetworkTime

Obtém a hora atual da rede.

public abstract long getNetworkTime();

Este método retorna a hora atual da rede em milissegundos, correspondendo ao timestamp atual ajustado pela calibração NTP e pelo deslocamento de tempo.

Momento da invocação

Ao sincronizar o comportamento de múltiplos dispositivos, obtenha a hora sincronizada da rede como linha de base para calibrar a hora atual.

Descrição do retorno

Hora atual, em milissegundos, conforme o Network Time Protocol (NTP).

sendDataChannelMsg

Envia uma mensagem personalizada pelo canal de dados.

public abstract int sendDataChannelMsg(AliRtcDataChannelMsg Msg);

O SDK ARTC suporta o envio e recebimento de mensagens personalizadas em tempo real juntamente com dados de áudio e vídeo, como instruções de controle, dados de sincronização de estado ou outras mensagens de negócios. Envio e recebimento de mensagens personalizadas.

Nota
  • O canal de mensagens personalizadas está desativado por padrão. Para usar esse recurso, chame o método setParameter para ativar o canal definindo {"data":{"enablePubDataChannel":true,"enableSubDataChannel":true}}. A ativação pode ocorrer antes ou depois de entrar em um canal.

  • As mensagens podem conter quaisquer dados, como texto.

  • A funcionalidade DataChannel do ARTC exige que a parte ingestora esteja ingerindo fluxos de áudio ou vídeo. Certifique-se de que seu cenário inclua fluxos ativos de áudio ou vídeo.

Callbacks relacionados

  • Depois que o remetente abrir com sucesso um canal de mensagens personalizadas, chame esta API para enviar mensagens personalizadas. O destinatário obtém essas mensagens ouvindo o callback onDataChannelMessage.

Limitações

  • Streamers podem enviar e receber mensagens, enquanto espectadores podem apenas recebê-las.

  • Chame setParameter para ativar o canal de mensagens personalizadas.

  • O envio de dados possui os seguintes limites:

    • Taxa de bits máxima: 30 KB/s.

    • Taxa máxima de pacotes: 60 pacotes por segundo, com tamanho máximo de pacote de 1 KB.

Parâmetros

Parâmetro

Tipo

Descrição

Msg

AliRtcDataChannelMsg

Conteúdo da mensagem.

Descrição do retorno

  • 0: Chamada bem-sucedida.

  • Valor diferente de zero: A chamada falhou e retorna um código de erro.

startScreenShare

Importante

Esta API será descontinuada em breve. Recomendamos o uso da nova API startScreenShare.

Inicia o compartilhamento da tela e do fluxo de áudio.

public abstract int startScreenShare(Intent intent);

Parâmetros

Nome

Descrição

intent

É possível fornecer uma Activity externa para iniciar o compartilhamento de tela. No entanto, recomendamos passar null.

Valor de retorno

  • Um valor 0 indica sucesso.

  • Qualquer outro valor indica falha.

startScreenShare

Importante

Esta API está descontinuada. Recomendamos o uso da nova API startScreenShare.

Este método inicia o compartilhamento de tela.

public abstract int startScreenShare();

Valor de retorno

  • 0: Sucesso.

  • Outros valores: Falha.

startScreenShare

Inicia o compartilhamento do fluxo de vídeo da tela.

public abstract int startScreenShare(Intent intent, AliRtcScreenShareMode screenShareMode);

Parâmetros

Nome

Descrição

intent

Uma Activity criada externamente para iniciar o compartilhamento de tela. Se nenhuma Activity externa for criada, passe null. Recomenda-se passar null.

screenShareMode

Modo de compartilhamento de tela. Definido em AliRtcScreenShareMode.

Valor de retorno

  • 0: Sucesso.

  • Outros valores: Falha.

stopScreenShare

Interrompe o fluxo de compartilhamento de tela, incluindo o fluxo de áudio.

public abstract int stopScreenShare();

Valor de retorno

  • Um valor 0 indica sucesso.

  • Qualquer outro valor indica falha.

setAudioShareVolume

Define o volume do fluxo de áudio para ingestão de fluxo.

public abstract int setAudioShareVolume(int volume);

Parâmetros

Nome

Descrição

volume

Volume.

Valores válidos: 0 a 100. Valor padrão: 50.

Valor de retorno

  • 0: Sucesso.

  • Outros valores: Falha.

isScreenSharePublished

Verifica se a ingestão de fluxo de compartilhamento de tela está em andamento.

public abstract boolean isScreenSharePublished();

Valor de retorno

  • true: Um fluxo de compartilhamento de tela está sendo ingerido.

  • false: Nenhum fluxo de compartilhamento de tela está sendo ingerido.

setScreenShareEncoderConfiguration

Define as propriedades de codificação de vídeo para fluxos de compartilhamento de tela.

public abstract void setScreenShareEncoderConfiguration(AliRtcScreenShareEncoderConfiguration config);

Este método configura parâmetros de vídeo para fluxos de compartilhamento de tela, como resolução, taxa de quadros, taxa de bits e orientação do vídeo.

Nota

Todos os parâmetros possuem limites de intervalo correspondentes. Se um parâmetro for definido fora de seu intervalo válido, o SDK o ajustará automaticamente. Portanto, a configuração real pode diferir das suas definições.

Quando chamar

Chame este método antes ou depois de entrar em um canal. Se precisar definir as propriedades de codificação de vídeo do fluxo de compartilhamento de tela apenas uma vez por sessão, recomendamos chamá-lo antes de entrar.

Parâmetros

Parâmetro

Tipo

Descrição

config

AliRtcScreenShareEncoderConfiguration

Propriedades de codificação de compartilhamento de tela predefinidas, como resolução, taxa de quadros, taxa de bits e orientação do vídeo.

setGlobalEnvironment

Define o ambiente global.

public int setGlobalEnvironment(GlobalEnv env);

Este método especifica o ambiente operacional global do SDK, afetando principalmente o destino de transmissão do relatório de logs e dos dados de instrumentação:

  • Quando definido para o ambiente da China continental, logs e dados de instrumentação são reportados a data centers na China continental.

  • Quando definido para o ambiente internacional, os dados relacionados são roteados para data centers no exterior (como Singapura).

Quando chamar

Recomendamos chamar este método no início da inicialização do aplicativo, por exemplo, no método onCreate() da Application.

Limites de chamada

  • Trata-se de uma configuração global. Chame-o apenas uma vez.

  • Múltiplas chamadas sobrescrevem a configuração de ambiente anterior. Isso pode afetar conexões estabelecidas ou estados de sessão. Não altere a configuração dinamicamente durante a execução.

Exemplo de chamada

AlivcEnv.GlobalEnv env = ENV_DEFAULT; // If you need an environment outside China, use ENV_SEA.
AlivcBase.getEnvironmentManager().setGlobalEnvironment(env);

Parâmetros

Parâmetro

Tipo

Descrição

env

GlobalEnv

Especifique o ambiente global. Os valores de enumeração suportados incluem: • ENV_DEFAULT: Ambiente da China continental. • ENV_SEA: Ambiente fora da China, como Singapura.

Valor de retorno Retorna um código de resultado do tipo int:

  • 0: Indica sucesso.

  • Qualquer valor diferente de 0: Indica falha.