Todos os produtos
Search
Central de documentação

ApsaraVideo Live:Interface AliRtcEngine

Última atualização: Oct 09, 2026

Este tópico descreve as interfaces do SDK do ApsaraVideo Real-time Communication para Android.

Sumário

Interfaces básicas

API

Descrição

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

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

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

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

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

Destrua o objeto AliRtcEngine.

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

Destrua o objeto AliRtcEngine.

setH5CompatibleMode

Defina o modo compatível com H5.

getH5CompatibleMode

Verifique se o modo atual é compatível com H5.

setRtcEngineEventListener

Defina o listener para callbacks de eventos de comportamento do usuário local.

setRtcEngineNotify

Defina o listener para eventos de notificação de comportamento do usuário remoto.

getSdkVersion

Consulte a versão atual do SDK.

Interfaces de canal

API

Descrição

setChannelProfile

Defina o modo do canal.

setAudioProfile

Defina o modo de codificação de áudio e o modo de cenário.

isAudioOnly

Consulte se o modo atual é apenas de áudio.

setAudioOnlyMode

Defina o modo para apenas á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 em um canal.

leaveChannel

Saia de um canal.

isInCall

Verifique se o usuário está em um canal.

setClientRole

Defina a função do usuário.

getCurrentClientRole

Obtenha a função do usuário.

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

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

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

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

Interfaces de publicação e subscrição

API

Descrição

publishLocalAudioStream

Interrompa ou retome a publicação do fluxo de vídeo local. A publicação vem ativada por padrão.

isLocalAudioStreamPublished

Consulte se o fluxo de áudio está sendo publicado.

setDefaultSubscribeAllRemoteAudioStreams

Defina se deve subscrever aos fluxos de áudio remotos por padrão. Por padrão, o sistema subscreve a todos os fluxos de áudio remotos. Chame este método antes de entrar em um canal.

subscribeRemoteAudioStream

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

subscribeAllRemoteAudioStreams

Interrompa ou retome a subscrição a todos os fluxos de áudio remotos.

publishLocalVideoStream

Especifique se deve publicar o fluxo de vídeo local. O SDK publica o fluxo por padrão.

isLocalVideoStreamPublished

Consulte se o fluxo de vídeo está sendo publicado.

setDefaultSubscribeAllRemoteVideoStreams

Defina se deve subscrever aos fluxos de vídeo remotos por padrão. Por padrão, o sistema subscreve a todos os fluxos de vídeo remotos. Chame este método antes de entrar em um canal.

subscribeRemoteVideoStream

Interrompa ou retome a subscrição a um fluxo de vídeo remoto específico.

subscribeAllRemoteVideoStreams

Interrompa ou retome a subscrição a todos os fluxos de vídeo remotos.

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

Interrompa ou retome o fluxo de mídia de um usuário remoto específico. Use este método quando houver áudio e vídeo e for necessário controlá-los.

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

Interrompa ou retome o fluxo de mídia de um usuário remoto específico. Use este método quando houver áudio e vídeo e for necessário controlá-los.

subscribeRemoteDestChannelStream

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

subscribeRemoteDestChannelAllStream

Interrompa ou retome a subscrição aos fluxos de todos os usuários entre canais.

setRemoteAudioVolume

Ajuste o volume de reprodução de um fluxo recebido.

Interfaces de gerenciamento de dispositivos de áudio

API

Descrição

muteLocalMic

Defina se deve interromper a publicação de áudio local.

muteRemoteAudioPlaying

Defina se deve interromper a reprodução de fluxos de áudio remotos.

muteAllRemoteAudioPlaying

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

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

Ative a coleta de áudio.

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

Ative a coleta de áudio.

stopAudioCapture

Desative a coleta de áudio.

setDefaultAudioRoutetoSpeakerphone

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

enableSpeakerphone

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

isSpeakerOn

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

enableAudioVolumeIndication

Ative o recurso de detecção de volume.

enableEarBack

Ative o monitoramento intra-auricular.

setEarBackVolume

Defina o volume do monitoramento intra-auricular.

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 um arquivo de áudio.

stopAudioFileTest

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

startAudioCaptureTest

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

stopAudioCaptureTest

Desative a detecção de coleta de áudio.

Alteração de voz e reverberação de áudio

API

Descrição

setAudioEffectVoiceChangerMode

Defina o modo de efeito do modificador de voz.

setAudioEffectPitchValue

Defina o parâmetro de alteração de tom.

setAudioEffectReverbMode

Defina o modo de efeito de reverberação.

setAudioEffectReverbParamType

Defina o tipo de efeito de reverberação e os parâmetros específicos.

setAudioEffectBeautifyMode

Defina o modo de efeito predefinido de embelezamento de voz.

setAudioEffectEqualizationParam

Defina os parâmetros do equalizador (EQ) de áudio para ajustar o ganho de uma banda de frequência especificada.

Entrada de áudio personalizada

API

Descrição

addExternalAudioStream

Adicione um fluxo de áudio externo.

pushExternalAudioStreamRawData

Insira dados de fluxo de áudio externo.

setExternalAudioStreamPublishVolume

Defina o volume de ingestão.

getExternalAudioStreamPublishVolume

Obtenha o volume de ingestão.

setExternalAudioStreamPlayoutVolume

Defina o volume de reprodução do fluxo de áudio externo.

getExternalAudioStreamPlayoutVolume

Obtenha o volume de reprodução do fluxo de áudio externo.

removeExternalAudioStream

Exclua um fluxo de áudio externo.

Acompanhamento musical

API

Descrição

getAudioFileInfo

Obtenha informações do arquivo de áudio.

startAudioAccompany

Inicie a mixagem de acompanhamento.

stopAudioAccompany

Interrompa a mixagem de acompanhamento.

setAudioAccompanyVolume

Defina o volume do acompanhamento, incluindo o volume de reprodução local e o volume de ingestão.

setAudioAccompanyPublishVolume

Defina o volume de ingestão do acompanhamento.

getAudioAccompanyPublishVolume

Obtenha o volume de ingestão 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 de acompanhamento.

resumeAudioAccompany

Retome a mixagem de acompanhamento.

getAudioAccompanyDuration

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

getAudioAccompanyCurrentPosition

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

setAudioAccompanyPosition

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

Arquivos de efeitos sonoros

API

Descrição

preloadAudioEffect

Pré-carregue um arquivo de efeito sonoro.

unloadAudioEffect

Exclua um arquivo de efeito sonoro pré-carregado.

playAudioEffect

Inicie a reprodução de um efeito sonoro.

stopAudioEffect

Interrompa a reprodução de um efeito sonoro.

stopAllAudioEffects

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

pauseAudioEffect

Pause um efeito sonoro.

pauseAllAudioEffects

Pause todos os efeitos sonoros.

resumeAudioEffect

Retome um arquivo de efeito sonoro especificado.

resumeAllAudioEffects

Retome todos os arquivos de efeitos sonoros.

setAudioEffectPublishVolume

Defina o volume de mixagem de ingestão do efeito sonoro.

getAudioEffectPublishVolume

Obtenha o volume de mixagem de ingestão do efeito sonoro.

setAllAudioEffectsPublishVolume

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

setAudioEffectPlayoutVolume

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

getAudioEffectPlayoutVolume

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

setAllAudioEffectsPlayoutVolume

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

Gravar arquivos de áudio e vídeo

API

Descrição

startRecord

Grave arquivos de áudio e vídeo (AAC, WAV, MP4).

stopRecord

Interrompa a gravação de arquivos de áudio e vídeo.

Interfaces de gerenciamento de dispositivos de vídeo

API

Descrição

createRenderSurfaceView

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

setLocalViewConfig

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

setRemoteViewConfig

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

setCameraCapturerConfiguration

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

enableLocalVideo

Desative ou reative a coleta de vídeo local.

muteLocalCamera

Defina se deve interromper a publicação do fluxo 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

Alterne entre as câmeras frontal e traseira. O sistema usa a câmera frontal por padrão.

getCurrentCameraDirection

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

startPreview

Inicie a pré-visualização local.

stopPreview

Interrompa a pré-visualização local.

setCameraZoom

Defina a taxa de zoom da câmera.

GetCameraMaxZoomFactor

Obtenha a taxa máxima de zoom suportada pela câmera.

GetCurrentZoom

Obtenha a configuração atual da taxa de zoom da câmera.

SetExposure

Defina a exposição da câmera.

GetCurrentExposure

Obtenha a exposição da câmera.

GetMinExposure

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

GetMaxExposure

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

setCameraFlash

Defina o flash da câmera como ligado ou desligado.

isCameraFocusPointSupported

Verifique se o dispositivo atual suporta foco manual.

setCameraFocusPoint

Defina o ponto de foco manual para a câmera.

isCameraExposurePointSupported

Verifique se a definição do ponto de exposição da câmera é suportada.

setCameraExposurePoint

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

isCameraAutoFocusFaceModeSupported

Verifique se o foco automático no rosto da câmera é suportado.

setCameraAutoFocusFaceModeEnabled

Defina o foco no rosto da câmera.

setVideoMirrorMode

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

setCapturePipelineScaleMode

Defina o tempo de dimensionamento da captura de vídeo.

Configure callbacks de dados de vídeo

API

Descrição

registerVideoSampleObserver

Registre um objeto de saída de dados de vídeo.

unRegisterVideoSampleObserver

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

registerLocalVideoTextureObserver

Registre um observador de dados de textura OpenGL para o vídeo do fluxo da câmera local.

unRegisterLocalVideoTextureObserver

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

snapshotVideo

Recurso de captura de vídeo.

Configure callbacks de dados de áudio

API

Descrição

registerAudioVolumeObserver

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

unRegisterAudioVolumeObserver

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

enableAudioFrameObserver

Defina os parâmetros de callback de áudio.

registerAudioFrameObserver

Registre um callback de dados de áudio.

Entrada de vídeo personalizada

API

Descrição

setExternalVideoSource

Ative uma fonte de entrada de vídeo externa.

pushExternalVideoFrame

Insira dados de vídeo.

Interfaces de compartilhamento de área de trabalho

API

Descrição

startScreenShare

Inicie a publicação do fluxo de compartilhamento de tela.

startScreenShare

Inicie o compartilhamento da tela e do fluxo de áudio.

Nota

Esta interface será descontinuada.

startScreenShare

Inicie o compartilhamento de tela.

Nota

Esta interface será descontinuada.

stopScreenShare

Interrompa a publicação do fluxo de compartilhamento de tela.

setAudioShareVolume

Defina o volume do fluxo de áudio compartilhado.

isScreenSharePublished

Consulte se o compartilhamento de tela está definido para ser publicado.

setScreenShareEncoderConfiguration

Defina as propriedades de codificação de vídeo para o fluxo da tela.

Interfaces de transmissão ao vivo por bypass

API

Descrição

startPublishLiveStream

Inicie a transmissão ao vivo por bypass.

updatePublishLiveStream

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

stopPublishLiveStream

Interrompa a transmissão ao vivo por bypass.

getPublishLiveStreamState

Obtenha o status da transmissão ao vivo por bypass.

Interfaces de sondagem de qualidade de rede

API

Descrição

startNetworkQualityProbeTest

Inicie uma sondagem de qualidade de rede.

stopNetworkQualityProbeTest

Interrompa uma sondagem de qualidade de rede.

SEI

API

Descrição

sendMediaExtensionMsg

Envie um fluxo SEI.

sendMediaExtensionMsgEx

Envie um fluxo SEI (estendido).

Outras interfaces

API

Descrição

setParameter

Defina parâmetros personalizados.

getParameter

Obtenha parâmetros personalizados.

setLogDirPath

Defina o caminho para salvar os arquivos de log do SDK.

setLogLevel

Defina o nível de log.

setDeviceOrientationMode

Defina a orientação do dispositivo.

requestAudioFocus

Solicite o foco de áudio.

abandonAudioFocus

Abandone o foco de áudio.

getNetworkTime

Obtenha a hora atual da rede.

sendDataChannelMsg

Envie uma mensagem de canal de dados personalizada.

Interface AliveEnc

API

Descrição

setGlobalEnvironment

Defina o ambiente global.

Callbacks

AliRtcEngineEventListener

API

Descrição

onConnectionStatusChange

Callback para alterações no status de conexão de rede. Você precisa lidar com este callback.

OnLocalDeviceException

Callback para exceções de dispositivos locais. Você precisa lidar com este callback.

onJoinChannelResult

Callback para o resultado da entrada em um canal.

onLeaveChannelResult

Callback para o resultado da saída de um canal.

onAudioPublishStateChanged

Callback para alterações no estado de publicação de áudio.

onAudioSubscribeStateChanged

Callback para alterações no estado de subscrição de áudio.

onVideoPublishStateChanged

Callback para alterações no estado de publicação de vídeo.

onVideoSubscribeStateChanged

Callback para alterações no estado de subscrição do fluxo da câmera.

onPublishLiveStreamStateChanged

Callback para alterações no estado de publicação de fluxo por bypass.

onPublishTaskStateChanged

Callback para alterações no estado da tarefa de bypass.

onNetworkQualityChanged

Callback para alterações na qualidade da rede.

onNetworkQualityProbeTest

Callback para uma sondagem de qualidade de rede. Este callback é fornecido cerca de 3 segundos após o início da sondagem.

onNetworkQualityProbeTestResult

Callback para o resultado de uma sondagem de qualidade de rede. Este callback é fornecido cerca de 30 segundos após o início da sondagem.

onSnapshotComplete

Interface de callback para resultados de captura.

onScreenSharePublishStateChanged

Callback para alterações no estado de publicação de compartilhamento de tela.

onScreenShareSubscribeStateChanged

Callback para alterações no estado de subscrição do fluxo de compartilhamento de tela.

onOccurError

Notificação de erro.

OnLocalAudioStateChanged

Callback para o status do dispositivo de áudio local.

AliRtcEngineNotify

API

Descrição

onAuthInfoWillExpire

Notificação de que as informações de autenticação do usuário estão prestes a expirar. A autenticação expira 30 segundos após o recebimento deste callback. Você precisa lidar com este callback.

onAuthInfoExpired

O servidor retorna que as informações expiraram quando o usuário chama uma interface que requer autenticação.

onRemoteUserOffLineNotify

Notificação de que um usuário remoto ficou offline.

onRemoteUserOnLineNotify

Notificação de que um usuário remoto ficou online.

onRemoteTrackAvailableNotify

Notificação de informações de publicação de fluxo remoto.

onBye

Mensagem indicando que o usuário foi expulso do servidor ou que o canal foi encerrado.

onUserAudioMuted

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

onUserAudioInterruptedBegin

Notificação de que uma interrupção do dispositivo de áudio começou.

onUserAudioInterruptedEnded

Notificação de que uma interrupção do dispositivo de áudio terminou.

onUserVideoMuted

Notificação de que o usuário remoto está enviando quadros de vídeo pretos.

onUserVideoEnabled

Notificação de que o usuário remoto desativou a coleta do fluxo da câmera.

onUserWillResignActive

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

onUserWillBecomeActive

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

onAudioEffectFinished

Callback para quando a reprodução do efeito sonoro local termina.

onAudioFileInfo

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

onMediaExtensionMsgReceived

Callback para o recebimento de uma mensagem de extensão de mídia.

onFirstRemoteVideoFrameDrawn

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

onFirstLocalVideoFrameDrawn

Esta mensagem é acionada quando o primeiro quadro de vídeo é exibido na pré-visualização.

onFirstVideoFrameReceived

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

onFirstVideoPacketSent

Callback para o primeiro pacote de vídeo enviado.

onFirstAudioPacketSent

Callback para o primeiro pacote de áudio enviado.

onFirstVideoPacketReceived

Callback para o primeiro pacote de vídeo recebido.

onFirstAudioPacketReceived

Callback para o primeiro pacote de áudio recebido.

onFirstRemoteAudioDecoded

Callback para o primeiro quadro de áudio remoto decodificado.

onAudioAccompanyStateChanged

Callback para o estado de reprodução do acompanhamento local.

onRemoteAudioAccompanyStarted

Callback para quando o acompanhamento de um usuário remoto começa a ser reproduzido.

onRemoteAudioAccompanyFinished

Callback para quando o acompanhamento de um usuário remoto termina de ser reproduzido.

onAliRtcStats

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

onRtcLocalVideoStats

Estatísticas de dados para o fluxo de vídeo local publicado (acionado a cada 2 segundos).

onRtcRemoteVideoStats

Estatísticas de dados para o fluxo de vídeo remoto subscrito (acionado a cada 2 segundos).

onRtcRemoteAudioStats

Estatísticas de dados para o fluxo de áudio remoto subscrito (acionado a cada 2 segundos).

onRtcLocalAudioStats

Estatísticas de dados para o fluxo de áudio local publicado (acionado a cada 2 segundos).

onAudioFocusChange

Callback para alterações de foco de áudio (apenas Android).

onAudioRouteChanged

Callback para alterações de rota de áudio (apenas Android e iOS).

onRemoteUserSubscribedDataChannel

Callback indicando que você pode começar a enviar mensagens de canal de dados.

onDataChannelMessage

Callback para o recebimento de mensagens de canal de dados personalizadas.

AliRtcAudioVolumeObserver

API

Descrição

onAudioVolume

Callback para indicação de volume do usuário.

onActiveSpeaker

Detecção de atividade de voz. Callback quando um usuário ativo é detectado.

OnTestAudioVolume

Teste pré-chamada. Callback para informações de volume.

AliRtcAudioFrameObserver

API

Descrição

onCapturedAudioFrame

Callback para dados brutos de coleta de áudio.

onProcessCapturedAudioFrame

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

onPublishAudioFrame

Callback para dados de áudio publicados.

onPlaybackAudioFrame

Callback para dados de reprodução.

onRemoteUserAudioFrame

Callback para dados de fluxo remoto recebido.

AliRtcDestroyCompletionObserver

API

Descrição

OnDestroyCompletion

Callback para quando o motor é destruído.

AliRtcTextureObserver

API

Descrição

onTextureCreate

Callback para criação de contexto OpenGL.

onTextureUpdate

Callback para atualizações de textura OpenGL.

onTextureDestroy

Callback para destruição de contexto OpenGL.

AliRtcVideoObserver

API

Descrição

onLocalVideoSample

Callback para dados de coleta de vídeo local subscritos.

onPreEncodeVideoSample

Callback para dados de vídeo local pré-codificação subscritos.

onRemoteVideoSample

Callback para dados de vídeo remoto subscritos.

onGetVideoFormatPreference

Formato de saída de dados de vídeo.

onGetObservedFramePosition

Conteúdo de saída de dados de vídeo.

Detalhes da interface

getInstance[1/2]

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

public static AliRtcEngineImpl getInstance(Context context);
Nota
  • Tanto este método quanto [getInstance[2/2]](#42a076dfc63yy) podem criar uma instância do AliRtcEngine. A diferença é que getInstance[2/2] permite aplicar configurações adicionais durante a criação da instância.

Quando chamar

Chame este método para criar uma instância do AliRtcEngine antes de chamar outras APIs do ARTC SDK.

Limites

O SDK permite a criação de apenas uma instância do AliRtcEngine para cada aplicativo.

Parâmetros

Parâmetro

Tipo

Descrição

context

Context

O contexto da Activity do Android.

Valor de retorno

Uma instância de AliRtcEngineImpl.

getInstance[2/2]

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

public static AliRtcEngineImpl getInstance(Context context, String extras);
Nota
  • Tanto este método quanto <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 ser usados para criar uma instância do AliRtcEngine. A diferença é que este método permite que você especifique mais configurações ao criar a instância.

Quando chamar

Chame este método para criar uma instância do AliRtcEngine antes de chamar outras APIs do ARTC SDK.

Limites

O SDK permite a criação de apenas uma instância do AliRtcEngine para cada aplicativo.

Parâmetros

Parâmetro

Tipo

Descrição

context

Context

O contexto da Activity do Android.

extras

String

Usado para receber parâmetros de grayscale do cliente e configurar recursos especiais do SDK por meio de JSON Configurations. Pode ser uma string vazia.

Valor de retorno

Retorna uma instância singleton da classe AliRtcEngineImpl. A classe AliRtcEngineImpl é uma classe filha da classe AliRtcEngine.

destroy[1/2]

Destrói o objeto AliRtcEngine.

public abstract void destroy();

Este método destrói o objeto singleton do AliRtcEngine. Após chamar este método, todos os recursos internos são liberados e não é mais possível usar nenhum outro método ou callback do AliRtcEngine. Para usar o engine novamente, chame getInstance mais uma vez para criar uma nova instância.

Nota
  • Tanto este método quanto destroy[2/2] podem destruir a instância do engine. A diferença é que o destroy[2/2] permite passar um objeto listener para a conclusão da destruição.

  • Para criar outra instância do AliRtcEngine após destruir uma, certifique-se de que a execução deste método foi concluída antes de criar a nova instância.

Quando chamar

Após o término de uma sessão de comunicação em tempo real, quando o AliRtcEngine não for mais necessário, chame este método para liberar a instância e liberar recursos.

Limites

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

  • Após chamar este método, defina o objeto do engine como nulo. Exemplo:

    mAliRtcEngine.destroy();
    mAliRtcEngine = null;

destroy[2/2]

Destrói o objeto AliRtcEngine.

public abstract void destroy(AliRtcDestroyCompletionObserver observer);

Destrói o objeto singleton do AliRtcEngine. Este método libera todos os recursos internos. Não é mais possível usar outros métodos do AliRtcEngine ou qualquer callback. Para usar o engine novamente, chame getInstance para criar uma nova instância.

Nota

Este é um método assíncrono. Ele fornece um observer para informar os desenvolvedores quando a operação de destruição for concluída. Crie uma nova instância apenas após o retorno do callback OnDestroyCompletion. A instância não será destruída até que o callback do observer seja acionado.

Quando chamar

Após o término de uma sessão de comunicação em tempo real, chame este método para liberar a instância.

Limites

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

Callbacks relacionados

Após a destruição do objeto do engine do SDK, o callback OnDestroyCompletion é acionado, indicando que uma nova instância pode ser criada.

Parâmetros

Parâmetro

Tipo

Descrição

observer

AliRtcDestroyCompletionObserver

Um callback de notificação para quando o engine é destruído. Escute este callback para garantir que os recursos sejam completamente liberados.

setH5CompatibleMode

Define se a compatibilidade com H5 será ativada.

public static int setH5CompatibleMode(int enable);

Parâmetros

Parâmetro

Tipo

Descrição

enable

int

Define se a compatibilidade com H5 será ativada. Valores válidos:

  • 0 (padrão): H5 não é compatível.

  • 1: H5 é compatível.

Importante

A versão atual não oferece suporte à alteração do modo de compatibilidade com H5 após a criação de uma instância do AliRtcEngine. Chame este método antes de criar a instância.

getH5CompatibleMode

Verifica se o modo atual é compatível com H5.

public static int getH5CompatibleMode();

Valor de retorno

  • 1: H5 é compatível.

  • 0: H5 não é compatível.

setRtcEngineEventListener

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

public abstract void setRtcEngineEventListener(AliRtcEngineEventListener listener);

Este método define o listener para eventos relacionados ao usuário local. Esses eventos incluem os resultados de entrada ou saída de um canal, alterações de função do usuário, alterações no estado de publicação de áudio e vídeo, alterações no estado de assinatura de áudio e vídeo, alterações na qualidade da rede e resultados de sondagem, resultados de snapshot, notificações de status e exceções de dispositivos, e notificações de erros do SDK. Ao implementar os métodos de callback desta classe, você gerencia o ciclo de vida e as alterações de estado relacionadas ao usuário local e ao RTC.

Nota
  • Por padrão, todas as interfaces possuem uma implementação vazia. Não é necessário implementar todos os callbacks. Implemente os métodos de evento correspondentes de acordo com as necessidades do seu negócio.

  • Para implementar callbacks para usuários remotos, eventos de primeiro quadro e primeiro pacote, status de reprodução de efeitos sonoros e acompanhamento, e informações de autenticação, implemente os callbacks relevantes da classe AliRtcEngineNotify e chame a interface setRtcEngineNotify.

  • Não execute operações demoradas nos métodos de callback, como chamar o próprio método destroy do engine. Isso pode causar bloqueios desnecessários e afetar a operação do SDK.

Quando chamar

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

Callbacks relacionados

Se ocorrer uma exceção durante a operação, o SDK tenta primeiro usar seu mecanismo interno de nova tentativa para se recuperar automaticamente. Para erros que não podem ser resolvidos internamente, o SDK notifica seu aplicativo por meio de interfaces de callback predefinidas. A seguir estão os principais callbacks para problemas que o SDK não consegue tratar e que exigem que a camada do aplicativo escute e responda:

Motivo da exceção

Callback e parâmetros

Solução

Descrição

Falha na autenticação

O resultado no callback onJoinChannelResult retorna AliRtcErrJoinBadToken.

Se ocorrer esse erro, o aplicativo precisa verificar se o token está correto.

Quando um usuário chama ativamente uma API e a autenticação falha, o sistema retorna uma mensagem de erro de falha de autenticação no callback da API.

Exceção de conexão de rede

O callback onConnectionStatusChange retorna AliRtcConnectionStatusFailed.

Se ocorrer essa exceção, o aplicativo precisa entrar novamente no canal.

O SDK pode se recuperar automaticamente de uma desconexão de rede por um determinado período. No entanto, se o tempo de desconexão exceder um limiar predefinido, um timeout é acionado e a conexão é perdida. Nesse caso, o aplicativo deve verificar o status da rede e orientar o usuário a entrar novamente na sessão.

Exceção de dispositivo local

onLocalDeviceException

Se ocorrer essa exceção, o aplicativo precisa verificar se as permissões e o hardware do dispositivo estão normais.

O service RTC oferece suporte à detecção de dispositivos e diagnóstico de exceções. Quando ocorre uma exceção de dispositivo local, o service RTC notifica o cliente por meio de um callback. Se o SDK não conseguir resolver o problema por conta própria, o aplicativo precisa intervir para verificar se o dispositivo está normal.

Parâmetros

Parâmetro

Tipo

Descrição

listener

AliRtcEngineEventListener

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

setRtcEngineNotify

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

public abstract void setRtcEngineNotify(AliRtcEngineNotify listener);

Este método define o listener para eventos relacionados a usuários remotos. Esses eventos incluem notificações de usuários remotos entrando ou saindo, status de publicação de áudio e vídeo de usuários remotos, alterações de resolução de usuários remotos, status de envio e recebimento dos primeiros quadros e pacotes de áudio/vídeo para usuários remotos e locais, status de reprodução de efeitos sonoros e acompanhamento locais e remotos, status de mute, estatísticas de streams de áudio/vídeo locais e remotos, recepção de SEI, recepção de mensagens personalizadas e alterações nas informações de autenticação. Ao implementar os métodos de callback desta classe, você gerencia as informações de eventos relacionadas à interação com usuários remotos.

Nota
  • Por padrão, todas as interfaces possuem uma implementação vazia. Não é necessário implementar todos os métodos. Implemente os métodos de evento correspondentes de acordo com as necessidades do seu negócio.

  • Não execute operações demoradas nos métodos de callback, como chamar o próprio método destroy do engine. Isso pode causar bloqueios desnecessários e afetar a operação do SDK.

Quando chamar

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

Callbacks relacionados

Se ocorrer uma exceção durante a operação, o SDK tenta primeiro usar seu mecanismo interno de nova tentativa para se recuperar automaticamente. Para erros que não podem ser resolvidos internamente, o SDK notifica seu aplicativo por meio de interfaces de callback predefinidas. A seguir estão os principais callbacks para problemas que o SDK não consegue tratar e que exigem que a camada do aplicativo escute e responda:

Motivo da exceção

Callback e parâmetros

Solução

Descrição

Expulso da sessão

onBye

  • AliRtcOnByeUserReplaced: Se ocorrer essa exceção, verifique se os IDs de usuário são iguais.

  • AliRtcOnByeBeKickedOut: Se ocorrer essa exceção, significa que o usuário foi expulso pela lógica de negócio. O usuário precisa entrar novamente no canal.

  • AliRtcOnByeChannelTerminated: Se ocorrer essa exceção, significa que o canal foi destruído. O usuário precisa entrar novamente no canal.

O service RTC fornece um recurso para que os administradores removam participantes ativamente.

Autenticação prestes a expirar

onWillAuthInfoExpire

Se ocorrer essa exceção, o aplicativo precisa obter as informações de autenticação mais recentes e, em seguida, chamar refreshAuthInfo para atualizá-las.

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

Autenticação expirada

onAuthInfoExpired

Se ocorrer essa exceção, o aplicativo precisa entrar novamente no canal.

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

Parâmetros

Parâmetro

Tipo

Descrição

listener

AliRtcEngineNotify

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

getSdkVersion

Consulta a versão atual do SDK.

public static String getSdkVersion();

Valor de retorno

O número da versão atual do SDK em formato de string, por exemplo, "2.5.0.x".

setChannelProfile

Define o modo do canal.

public abstract int setChannelProfile(AliRTCSdkChannelProfile channelProfile);

Este método define o modo do canal. Atualmente, oferece dois cenários: chamada de vídeo e transmissão ao vivo interativa:

  • Modo de chamada de vídeo: Todos os usuários são streamers e podem publicar e assinar streams.

  • Modo de stream interativo: Chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#84f350f904s98" id="18edf3ea54po4">setClientRole</a> para definir a função do usuário. Os usuários que ingerem streams no canal recebem a função de streamer (AliRTCSdkInteractive). Se um usuário apenas precisar puxar streams e não ingerir streams, ele recebe a função de espectador (AliRTCSdkLive). Este modo é recomendado para cenários de RTC.

Nota
  • Recomendamos o uso do modo de stream interativo para todos os cenários de RTC. Para isso, chame esta API e defina o modo como AliRTCSdkInteractiveLive.

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

Quando chamar

Chame este método apenas antes de entrar em um canal. Não é possível redefinir o modo do canal após entrar nele. Redefina o modo após sair do canal.

Parâmetros

Parâmetro

Tipo

Descrição

channelProfile

AliRTCSdkChannelProfile

O tipo de canal. O modo interativo é recomendado para todos os cenários de RTC.

Valor de retorno

0 indica que a chamada do método foi bem-sucedida. Qualquer outro valor indica falha. 1: O SDK não foi inicializado ou foi destruído.

setAudioProfile

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

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

Este método define o modo de codificação de áudio e o modo de cenário de áudio. Para mais informações, consulte Common audio operations and configurations. 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 às suas necessidades, chame este método para alterá-las.

Quando chamar

Chame este método apenas antes de entrar em um canal. Não é possível redefinir as configurações após entrar nele. Redefina-as após sair do canal.

Parâmetros

Parâmetro

Tipo

Descrição

profile

AliRtcAudioProfile

O parâmetro do modo de coleta ou codificação de áudio. O modo de áudio de alta qualidade (AliRtcEngineHighQualityMode) é recomendado.

Nota

Para interoperar com um cliente Web, defina a taxa de amostragem para 48k.

  • AliRtcEngineLowQualityMode: Modo de áudio de baixa qualidade. A taxa de amostragem padrão é 8000 Hz, canal único, taxa de bits máxima de 12 kbps.

  • AliRtcEngineBasicQualityMode: Modo de áudio de qualidade padrão. A taxa de amostragem padrão é 16000 Hz, canal único, taxa de bits máxima de 24 kbps.

  • AliRtcEngineHighQualityMode: A taxa de amostragem padrão é 48000 Hz, canal único, taxa de bits máxima de 64 kbps.

  • AliRtcEngineStereoHighQualityMode: Modo de áudio estéreo de alta qualidade. A taxa de amostragem padrão é 48000 Hz, canal duplo, taxa de bits máxima de 80 kbps.

  • AliRtcEngineSuperHighQualityMode: Modo de áudio de qualidade super alta. A taxa de amostragem padrão é 48000 Hz, canal único, taxa de bits máxima de 96 kbps.

  • AliRtcEngineStereoSuperHighQualityMode: Modo de áudio estéreo de qualidade super alta. A taxa de amostragem padrão é 48000 Hz, canal duplo, taxa de bits máxima de 128 kbps.

scenario

AliRtcAudioScenario

O parâmetro do modo de cenário de áudio. Inclui:

  • AliRtcSceneMusicMode (recomendado): Cenário de música. Usa algoritmos 3A baseados em software e coleta áudio do celular para uma qualidade de áudio superior.

  • AliRtcSceneDefaultMode: Usa algoritmos 3A baseados em hardware e pode coletar áudio de dispositivos Bluetooth.

Valor de retorno

0: Sucesso. Um valor menor que 0: Falha.

isAudioOnly

Verifica se o modo atual é apenas de áudio.

public abstract boolean isAudioOnly();

Valor de retorno

true: modo apenas de áudio. false: modo de áudio e vídeo.

setAudioOnlyMode

Define se o modo apenas de áudio deve ser ativado.

public abstract int setAudioOnlyMode(boolean audioOnly);

Parâmetros

Parâmetro

Tipo

Descrição

audioOnly

boolean

Define o modo como apenas áudio ou áudio e vídeo. Valores válidos:

  • true: Apenas o áudio é publicado e puxado.

  • false (padrão): Tanto o áudio quanto o vídeo são suportados.

Valor de retorno

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

joinChannel[1/3]

Entra em um canal (entrada com parâmetro único).

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

Esta interface é usada para entrar em um canal. O ARTC usa canais para organizar os usuários. Entre em um canal para publicar ou assinar streams de áudio e vídeo. Esta interface, joinChannel[2/3] e joinChannel[3/3] podem ser usadas para entrar em um canal. Elas diferem no método de autenticação e nas informações do usuário passadas, conforme descrito abaixo:

  • Esta API é um método de entrada com parâmetro único. Passe um token gerado para uma entrada com parâmetro único usando Token-based authentication para entrar no canal. Esta API é recomendada para entrar em canais em cenários de RTC.

  • joinChannel[2/3] é uma interface de múltiplos parâmetros para entrar em um canal. Para usar esta interface, passe um token de entrada no canal com múltiplos parâmetros gerado usando Token-based authentication e as informações do usuário usadas para gerar o token.

  • O método joinChannel[3/3] é usado para cenários de IA Conversacional em Tempo Real. Passe um token de entrada com parâmetro único e defina a propriedade do usuário capabilityProfile com base no cenário.

Nota

Por padrão, ao entrar em um canal, você assina os streams de áudio e vídeo de todos os outros usuários no canal e envia seus próprios streams de áudio e vídeo para usuários remotos. Para cancelar a 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 chamar esta API para desativar a assinatura de streams de áudio ou vídeo.

Quando chamar

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

Limites

  • Após entrar com sucesso em um canal, se precisar entrar em outro canal, 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 e certifique-se de receber o callback AliRtcEngineEventListener's <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="70c68b0236xdt">onLeaveChannelResult</a> antes de entrar em outro canal.

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

  • Aplicativos que usam App IDs diferentes não podem se comunicar entre si.

  • Não é necessário chamar este método novamente se o SDK estiver tentando entrar novamente no canal após uma falha.

Callbacks relacionados

Chamar este método com sucesso aciona os seguintes callbacks:

  • O resultado da entrada do cliente local em um canal é retornado por meio do callback AliRtcEngineEventListener's <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#89f5ad2d0bnd1" id="712006e223y8z">onJoinChannelResult</a>.

  • Após entrar com sucesso em um canal, o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="40a9273affui1">onRemoteUserOnLineNotify</a> é acionado.

Parâmetros

Parâmetro

Tipo

Descrição

token

String

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

channelId

String

O canal a ser acessado. Deve ser o mesmo valor usado para gerar o token.

userId

String

O ID do usuário para entrar no canal. Deve ser o mesmo valor usado para gerar o token.

userName

String

O nome de exibição do usuário (não o ID do usuário).

Valor de retorno

0 indica que a chamada do método foi bem-sucedida. Um valor diferente de zero indica falha.

joinChannel[2/3]

Entra em um canal (entrada com múltiplos parâmetros).

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

Esta operação é usada para entrar em um canal. O ARTC usa canais para organizar os usuários, e um usuário deve entrar em um canal para publicar ou assinar streams de áudio e vídeo. Esta operação, junto com joinChannel[1/3] e joinChannel[3/3], pode ser usada para entrar em um canal. As diferenças estão no método de autenticação e nas informações do usuário passadas, conforme detalhado abaixo:

  • joinChannel[1/3] é a API de parâmetro único para entrar em um canal. Passe um token gerado para uma entrada com parâmetro único via Token authentication para entrar no canal. Esta API é recomendada para entrar em um canal em cenários de RTC.

  • Esta API é uma interface de entrada com múltiplos parâmetros. Passe um token de entrada com múltiplos parâmetros gerado usando Token-based authentication e as informações do usuário que foram usadas para gerar o token.

  • joinChannel[3/3] é usado para cenários de IA Conversacional em Tempo Real e exige que você passe um token de entrada com parâmetro único e defina a propriedade do usuário capabilityProfile com base no cenário.

Nota
  • Por padrão, ao entrar em um canal, você assina os streams de áudio e vídeo de todos os outros usuários no canal e publica seus próprios streams de áudio e vídeo. Para cancelar 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 API para desativar a assinatura de streams de áudio ou vídeo.

  • Este é um método de entrada com múltiplos parâmetros. Antes de chamá-lo, gere um token de entrada com múltiplos parâmetros conforme descrito em Token-based authentication.

Limites

  • Se precisar mudar para outro canal após entrar em um, 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 e 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> do AliRtcEngineEventListener antes de entrar em outro canal.

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

  • Aplicativos que usam App IDs diferentes não podem se comunicar entre si.

Callbacks relacionados

Chamar este método com sucesso aciona os seguintes callbacks:

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

  • Após entrar com sucesso no canal, o usuário 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 é um token de múltiplos parâmetros. Outros parâmetros relacionados à geração do token devem ser consistentes com os usados durante a geração do token e não podem estar vazios.

userName

String

O nome de exibição do usuário (não o ID do usuário). Pode estar vazio.

Valor de retorno

0 indica que a chamada do método foi bem-sucedida. Um valor diferente de zero indica falha.

joinChannel[3/3]

Entra em um canal (entrada com parâmetro único).

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

Esta interface é usada para entrar em um canal. O Alibaba Real-Time Communication (ARTC) utiliza canais para organizar os usuários. Você precisa entrar em um canal para publicar ou assinar fluxos de áudio e vídeo. Esta interface, joinChannel[1/3] e joinChannel[2/3] podem ser usadas para entrar em um canal. As diferenças estão no método de autenticação e nas informações do usuário transmitidas, conforme detalhado abaixo:

  • joinChannel[1/3] é a API recomendada para entrar em um canal com um único parâmetro em cenários RTC. Entre em um canal transmitindo um token gerado com Token authentication.

  • joinChannel[2/3] é a API para entrar em um canal com vários parâmetros. Para usar esta API, utilize Token authentication para gerar um token de entrada com múltiplos parâmetros e, em seguida, transmita o token gerado junto com as informações do usuário usadas para criá-lo.

  • Esta API é voltada para o cenário de IA Conversacional em Tempo Real, em que você transmite o token para entrar em uma sessão como um único parâmetro e define a propriedade de usuário capabilityProfile de acordo com o cenário. Para interagir com um agente de IA, defina esta propriedade como AliCapabilityProfileAiHuman.

Nota

Por padrão, ao entrar em um canal, você assina os fluxos de áudio e vídeo de todos os outros usuários no canal e envia seus próprios fluxos de áudio e vídeo para os usuários remotos. Para cancelar 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> e <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="0112175788ybe">setDefaultSubscribeAllRemoteVideoStreams</a> antes de chamar este método, desativando assim a assinatura de fluxos de áudio ou vídeo.

Limites

  • Se precisar entrar em outro canal após entrar em um com sucesso, 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 entrar em um canal novamente.

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

  • Aplicativos que usam App IDs diferentes não podem se comunicar entre si.

  • Não é necessário chamar este método novamente se o SDK estiver tentando entrar no canal após uma falha.

Callbacks relacionados

A chamada bem-sucedida deste método aciona os seguintes callbacks:

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

  • Após entrar no canal com sucesso, o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="9b5662c5a0nvf">onRemoteUserOnLineNotify</a> é acionado.

Parâmetros

Parâmetro

Tipo

Descrição

token

String

O token de entrada de parâmetro único.

channelParam

AliRTCSdkChannelParam

Os parâmetros para entrar em um canal. Usado principalmente para cenários de IA Conversacional em Tempo Real, inclui:

  • channelId: O ID do canal. Deve ser consistente com o valor usado durante a geração do token. Este parâmetro pode ser omitido.

  • userId: O ID do usuário usado para entrar no canal. Deve ser igual ao valor usado durante a geração do token. Este parâmetro pode ser omitido.

  • userName: Qualquer nome de exibição para o usuário (não o ID do usuário). Este parâmetro pode ser omitido.

  • capabilityProfile: A propriedade do usuário. Configure isso especificamente para cenários de comunicação com agente de IA. Use o valor padrão para cenários sem agente de IA.

Valor de retorno

0 indica que a chamada do método foi bem-sucedida. Um valor diferente de zero indica falha.

leaveChannel

Sai de um canal. Após chamar este método, o SDK encerra a interação de áudio e vídeo em tempo real e sai do canal atual.

public abstract int leaveChannel();
Nota
  • Este método é uma operação assíncrona. Uma chamada bem-sucedida não significa que você já saiu do canal. A saída do canal ocorre somente após o recebimento do callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="7e49937108skj">onLeaveChannelResult</a>.

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

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

Quando chamar

  • Chame este método quando precisar sair do canal após ter entrado nele.

  • Se você já entrou em um canal e precisa entrar em outro, chame este método primeiro para sair do canal atual.

Callbacks relacionados

  • Cliente local: Após chamar este 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 API, os usuários remotos recebem o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#75c700a2376c1" id="69bf5ff199oda">onRemoteUserOffLineNotify</a>.

Valor de retorno

0 indica que a chamada do método foi bem-sucedida. Um valor diferente de zero indica falha.

isInCall

Verifica se o usuário está em um canal.

public abstract boolean isInCall();

Valor de retorno

true: O usuário está em um canal. false: O usuário 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 (transmissor) ou viewer (espectador).

No modo interativo, antes de entrar em um canal:

  • Se você definir a função do usuário como streamer, o SDK publica automaticamente os fluxos de áudio e vídeo locais por padrão e recebe os fluxos de áudio e vídeo de outros streamers.

  • Se você definir a função do usuário como viewer, o SDK não publica os fluxos de áudio e vídeo locais, mas recebe os fluxos de áudio e vídeo de outros streamers.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal. Chame-o antes de entrar para definir a função do usuário ou depois de entrar para alterar a função.

Limites

Este método é eficaz apenas no modo interativo, o que significa que você deve chamar o método setChannelProfile para definir o perfil do canal como AliRTCSdkInteractiveLive.

No modo interativo, recomendamos definir explicitamente a função do usuário antes de entrar em uma sessão.

Parâmetros

Parâmetro

Tipo

Descrição

clientRole

AliRTCSdkClientRole

O tipo de função do usuário. Válido apenas no modo interativo.

getCurrentClientRole

Obtém a função do usuário.

public abstract AliRTCSdkClientRole getCurrentClientRole();

Valor de 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. Os tokens expiram após um determinado período e o SDK não consegue estabelecer conexão com o servidor após a expiração.

Nota

Tanto esta API quanto a operação refreshAuthInfo[2/2] atualizam as informações de autenticação. Esta API é usada para atualizar tokens de reuniões com múltiplos participantes, enquanto refreshAuthInfo[2/2] é usada para atualizar tokens de reuniões com um único participante. Para mais informações sobre a geração de tokens, consulte Token Authentication.

Quando chamar

Nas seguintes situações:

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

  • Se você não atualizar o token 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, indicando que a autenticação expirou. Nesse caso, gere o token novamente e chame joinChannel para entrar no canal outra vez.

Parâmetros

Parâmetro

Tipo

Descrição

authInfo

AliRtcAuthInfo

Informações de autenticação.

Valor de retorno

0 indica que a chamada do método foi bem-sucedida. 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. Os tokens expiram após um determinado período e o SDK não consegue estabelecer conexão com o servidor após a expiração.

Nota

Tanto esta API quanto refreshAuthInfo[1/2] são usadas para atualizar informações de autenticação. Esta API atualiza o token para entrada em reuniões com parâmetro único, enquanto refreshAuthInfo[1/2] atualiza o token para entrada em reuniões com múltiplos parâmetros. Para mais informações sobre a geração de tokens, consulte Token Authentication.

Quando chamar

Nas situações a seguir, recomendamos gerar um novo token no servidor e chamar este método para transmitir o novo token:

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

  • Se o Token não for atualizado a tempo, isso aciona <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8fa7e60f9f5qq" id="3fd674e985gl8">onAuthInfoExpired</a>, indicando que a autenticação expirou. Nesse caso, chame joinChannel para entrar no canal novamente.

Parâmetros

Parâmetro

Tipo

Descrição

token

String

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

Valor de retorno

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

publishLocalAudioStream

Interrompe ou retoma 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 local. Por padrão, o SDK publica o fluxo de áudio. Para desativar esse comportamento, chame publishLocalAudioStream(false) antes de entrar em uma reunião.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal. Se chamá-lo antes de entrar, a configuração entra em vigor no momento da entrada no canal.

Callbacks relacionados

Quando o estado de ingestão do fluxo de áudio local muda, o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#b7e3bb51c2ga9" id="4ced92c3f5hmj">onAudioPublishStateChanged</a> é acionado no cliente local para relatar o estado mais recente da ingestão do fluxo de áudio, e o callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7078e15087a0z" id="2b5460d448ga9">onRemoteTrackAvailableNotify</a> é acionado no cliente remoto para relatar que os fluxos de áudio e vídeo do usuário remoto foram alterados.

Parâmetros

Parâmetro

Tipo

Descrição

enable

boolean

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

Valor de retorno

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

isLocalAudioStreamPublished

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

public abstract boolean isLocalAudioStreamPublished();

Valor de retorno

true: O fluxo de áudio está sendo publicado. false: O fluxo de áudio não está sendo publicado.

setDefaultSubscribeAllRemoteAudioStreams

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

public abstract int setDefaultSubscribeAllRemoteAudioStreams(boolean sub);

Este método configura se o sistema assina os fluxos de áudio de usuários remotos por padrão. Essa configuração afeta o comportamento de assinatura de fluxos de áudio dos usuários que entrarem no canal posteriormente. Recomendamos definir como true, a menos que você tenha requisitos específicos.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal.

  • Antes de entrar em um canal:

    • 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 de entrar no canal.

  • Depois de entrar em um canal:

    • Para interromper a assinatura padrão, chame setDefaultSubscribeAllRemoteAudioStreams(false). Você não assinará os fluxos de áudio dos usuários que entrarem no canal subsequentemente.

    • Após interromper a assinatura padrão, se quiser retomar a assinatura do fluxo de áudio de um usuário específico, chame o método subscribeRemoteAudioStream. Para retomar a assinatura de vários usuários, chame este método várias vezes.

    • Após interromper a assinatura padrão, chamar setDefaultSubscribeAllRemoteAudioStreams(true) retoma apenas os fluxos de áudio dos usuários que entrarem no canal depois disso. Os fluxos de áudio dos usuários remotos que entraram no canal enquanto a assinatura estava interrompida não serão assinados.

Parâmetros

Parâmetro

Tipo

Descrição

sub

boolean

Especifica se a assinatura de fluxos de áudio remotos deve ocorrer por padrão. Valores válidos:

  • true (padrão): Assina os fluxos de áudio remotos por padrão.

  • false: Não assina os fluxos de áudio remotos por padrão.

Valor de retorno

0 indica que a chamada do método foi bem-sucedida. 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. Recomendamos definir como true, a menos que você tenha requisitos específicos.

Nota

Por padrão, o SDK assina os fluxos de áudio de todos os usuários remotos quando você entra 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="#0155f66448env" id="d319c7806ej0h">setDefaultSubscribeAllRemoteAudioStreams</a>(false) antes de entrar na reunião e cancelar essa configuração padrão.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O ID do usuário remoto.

sub

boolean

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

  • true (padrão): Retomar.

  • false: Interromper.

Valor de retorno

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

subscribeAllRemoteAudioStreams

Define se todos os fluxos de áudio remotos devem ser assinados.

public abstract int subscribeAllRemoteAudioStreams(boolean sub);

Este método é o interruptor principal para a assinatura de fluxos de áudio remotos. Recomendamos defini-lo como true. Se você defini-lo como false, ocorrerá o seguinte:

  • O SDK interrompe a assinatura de todos os fluxos de áudio remotos na sessão atual.

  • Novos usuários que entrarem no canal posteriormente não serão assinados.

  • Você não pode 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

Por padrão, o SDK assina os fluxos de áudio de todos os usuários remotos quando você entra em um canal. Para alterar 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 no canal e desativar essa configuração padrão.

Parâmetros

Parâmetro

Tipo

Descrição

sub

boolean

Especifica se todos os fluxos de áudio remotos devem ser assinados. Valores válidos:

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

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

Valor de retorno

0 indica que a chamada do método foi bem-sucedida. 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 coletado 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 em um canal.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal.

Se chamá-lo antes de entrar, a configuração entra em vigor no momento da entrada no canal.

Callbacks relacionados

Quando o estado de ingestão do fluxo de vídeo local muda, o cliente 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 do fluxo de vídeo, 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="176ee94b46lb7">onRemoteTrackAvailableNotify</a> para notificar alterações no fluxo de áudio e vídeo do usuário remoto.

Parâmetros

Parâmetro

Tipo

Descrição

enable

boolean

Especifica se o fluxo da câmera deve ser publicado. Valores válidos:

  • true (padrão): Publica o fluxo da câmera.

  • false: Não publica o fluxo da câmera.

Valor de retorno

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

isLocalVideoStreamPublished

Consulta se o fluxo da câmera está sendo publicado.

public abstract boolean isLocalVideoStreamPublished();

Valor de retorno

true: O fluxo da câmera está sendo publicado. false: O fluxo da câmera não está sendo publicado.

setDefaultSubscribeAllRemoteVideoStreams

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

public abstract int setDefaultSubscribeAllRemoteVideoStreams(boolean sub);

Este método define se a assinatura de fluxos de vídeo remotos deve ocorrer por padrão. O SDK assina por padrão.

Quando chamar

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

Após interromper o recebimento dos fluxos de vídeo, se quiser retomar, chame subscribeRemoteVideoStream e especifique o ID do usuário remoto que deseja receber. Para retomar o recebimento de fluxos de vídeo de vários usuários, chame subscribeRemoteVideoStream várias vezes. Chamar setDefaultSubscribeAllRemoteVideoStreams(true) retoma apenas o recebimento dos fluxos de vídeo dos usuários que entrarem no canal depois disso.

Este método define se a assinatura dos fluxos de vídeo de usuários remotos deve ocorrer 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 no canal.

Parâmetros

Parâmetro

Tipo

Descrição

sub

boolean

Especifica se a assinatura de fluxos de vídeo remotos deve ocorrer por padrão. Valores válidos:

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

  • false: Não assina por padrão.

Valor de retorno

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

subscribeRemoteVideoStream

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

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 quando você entra 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 e cancelar essa configuração padrão.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

UID do usuário

track

AliRtcVideoTrack

Tipo de fluxo de vídeo.

sub

boolean

Especifica se o fluxo de vídeo do usuário especificado 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.

Valor de retorno

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

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

subscribeAllRemoteVideoStreams

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

public abstract int subscribeAllRemoteVideoStreams(boolean sub);

Este método é o interruptor principal para a assinatura de fluxos de vídeo remotos. Se você defini-lo como false, ocorrerá o seguinte:

  • O SDK interrompe a assinatura de todos os fluxos de vídeo remotos na sessão atual.

  • Novos usuários que entrarem na reunião posteriormente também não serão assinados (mesmo que você defina <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="8661e30c89dum">setDefaultSubscribeAllRemoteVideoStreams</a>(true) para assinar por padrão).

  • Você não pode 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 quando você entra em uma reunião. Para modificar esse comportamento, chame setDefaultSubscribeAllRemoteVideosStreams(false) antes de entrar na reunião e cancelar essa configuração padrão.

Parâmetros

Parâmetro

Tipo

Descrição

sub

boolean

Interrompe ou retoma o recebimento de todos os fluxos de vídeo remotos. Valores válidos:

  • true (padrão): Retomar.

  • false: Interromper.

Valor de retorno

0 indica que a chamada do método foi bem-sucedida. 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 unifica a assinatura de streams de áudio e vídeo remotos.

Nota

Nesta interface, o valor AliRtcVideoTrackNo de AliRtcVideoTrack é inválido e defini-lo não surte efeito.

Interfaces relacionadas

Ao contrário de <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 os dois parâmetros booleanos subVideo e subAudio para determinar se deve assinar os streams de áudio e vídeo remotos, enquanto o parâmetro videoTrack controla qual stream de vídeo será puxado.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário remoto.

videoTrack

AliRtcVideoTrack

Tipo de stream de vídeo.

subVideo

boolean

Interrompe ou retoma o pull do stream de vídeo de um usuário remoto específico. Valores válidos:

  • true (padrão): Retomar.

  • false: Interromper.

subAudio

boolean

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

  • true (padrão): Retomar.

  • false: Interromper.

Valor de retorno

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

subscribeRemoteMediaStream[2/2]

Interrompe ou retoma a assinatura dos streams de áudio e vídeo de um usuário remoto.

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

Este método unifica a assinatura de streams de áudio e vídeo remotos.

Interfaces relacionadas

Em comparação com subscribeRemoteMediaStream[1/2], esta interface utiliza uma única chamada com os parâmetros videoTrack e audioTrack para informar ao SDK o estado de assinatura desejado. Por exemplo:

  • Para assinar os streams da câmera e do microfone, defina videoTrack como AliRtcVideoTrackCamera e audioTrack como AliRtcAudioTrackMic ao fazer a chamada.

  • Para cancelar a assinatura do stream da câmera, mas manter o microfone, defina videoTrack como AliRtcVideoTrackNo e audioTrack como AliRtcAudioTrackMic ao chamar o método novamente.

  • Para cancelar ambos, defina videoTrack e audioTrack como AliRtcVideoTrackNo e AliRtcAudioTrackNo, respectivamente, em uma chamada subsequente.

  • Para assinar simultaneamente o stream da câmera e o stream de compartilhamento de tela, defina videoTrack como AliRtcVideoTrackBoth. O mesmo se aplica ao áudio.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

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

videoTrack

AliRtcVideoTrack

Tipo de stream de vídeo.

audioTrack

AliRtcAudioTrack

Tipo de stream de áudio.

Valor de retorno

  • 0: Sucesso.

  • <0: Falha.

subscribeRemoteDestChannelStream

Assina o stream 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

ID do canal remoto.

uid

String

ID do usuário remoto.

track

AliRtcVideoTrack

Stream de vídeo a ser assinado.

sub_audio

boolean

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

  • true (padrão): Retomar.

  • false: Interromper.

sub

boolean

Interrompe ou retoma a assinatura do stream de um usuário específico entre canais.

Valor de retorno

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

subscribeRemoteDestChannelAllStream

Interrompe ou retoma a assinatura dos streams 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

ID do canal de destino remoto.

videoTrack

AliRtcVideoTrack

Tipo de stream de vídeo a ser assinado.

sub_audio

boolean

Especifica se deve assinar os streams de áudio dos usuários remotos.

  • true: Assinar os streams de áudio dos usuários no canal de destino.

  • false: Interromper a assinatura dos streams de áudio dos usuários no canal de destino.

sub

boolean

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

  • true: Assinar.

  • false: Cancelar assinatura.

Valor de retorno

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

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

setRemoteAudioVolume

Ajusta o volume de reprodução de um stream puxado.

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

Com esta interface, o usuário local pode ajustar o volume de reprodução do stream de áudio de um usuário especificado 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. O intervalo é [0, 100].

  • 0: Mudo.

  • 100: Volume original.

Valor de retorno

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

  • Diferente de zero: A chamada do método falhou. Por exemplo, o valor do volume é inválido.

muteLocalMic

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

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

Silenciar significa enviar quadros silenciosos no stream de áudio. Os módulos de captura e codificação continuam funcionando.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal.

Callbacks relacionados

Após a chamada ser 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 esse usuário está silenciado.

Parâmetros

Parâmetro

Tipo

Descrição

mute

boolean

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

  • true: Enviar quadros silenciosos para o áudio local.

  • false (padrão): Retomar.

mode

AliRtcMuteLocalAudioMode

Modo de silenciamento. O padrão é o modo de silenciamento do microfone.

Valor de retorno

0 indica que a chamada do método foi bem-sucedida. Qualquer outro valor indica falha. O silenciamento envia apenas quadros silenciosos para os dados de áudio. Os módulos de captura e codificação continuam funcionando.

muteRemoteAudioPlaying

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

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

Esta API é usada apenas para interromper ou retomar a reprodução de áudio de um usuário remoto especificado. Ela não afeta o pull ou a decodificação do stream de áudio remoto. Para cancelar a assinatura do stream 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

ID do usuário.

mute

boolean

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

  • true: Interromper a reprodução.

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

Valor de retorno

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

muteAllRemoteAudioPlaying

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

public abstract int muteAllRemoteAudioPlaying(boolean mute);

Este método interrompe ou retoma toda a reprodução de áudio remoto.

Nota

Este método apenas interrompe a reprodução. O pull e a decodificação do stream 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 toda a reprodução de áudio remoto. Valores válidos:

  • true: Interromper a reprodução.

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

Valor de retorno

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

startAudioCapture[1/2]

Ativa a captura de áudio.

public abstract int startAudioCapture();

Esta interface é usada para iniciar a captura de áudio. Você pode chamar esta interface antes de entrar em uma reunião para iniciar a captura de áudio antecipadamente. Se você não chamar esta interface, o SDK controla automaticamente o dispositivo de captura de áudio. Para iniciar a captura de áudio novamente após interrompê-la chamando stopAudioCapture, chame esta interface.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal.

Interfaces relacionadas

<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

Depois de chamar este método para alterar o status de captura de áudio local, você pode obter a alteração de status por meio do callback onLocalAudioStateChanged.

Valor de retorno

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

startAudioCapture[2/2]

Ativa a captura de áudio.

public abstract int startAudioCapture(boolean keepAlive);

O silenciamento desativa a captura do microfone.

Este método controla a ativação da captura de áudio. Você também pode chamá-lo antes de entrar em um canal para ativar a captura de áudio antecipadamente. Se você não definir isso, o SDK controla automaticamente o dispositivo de captura de áudio.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal.

Interfaces relacionadas

Em comparação com startAudioCapture[1/2], esta API permite usar o parâmetro keepAlive para controlar se o dispositivo de captura permanece ligado após você sair da sessão.

Callbacks relacionados

Depois de chamar este método para alterar o status de captura de áudio local, você pode obter a alteração de status por meio do callback onLocalAudioStateChanged.

Parâmetros

Parâmetro

Tipo

Descrição

keepAlive

boolean

O status do dispositivo de captura após sair do canal. Valores válidos:

  • true: O dispositivo de captura permanece ativado após sair do canal.

  • false (padrão): O dispositivo de captura é desativado após sair do canal.

Valor de retorno

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

stopAudioCapture

Desativa a captura de áudio.

public abstract int stopAudioCapture();

O SDK ativa a captura de áudio por padrão. Sem uma configuração especial, ações como iniciar uma pré-visualização ou entrar em um canal iniciam automaticamente a captura de áudio. Para interromper a captura do dispositivo de áudio, chame este método.

Callbacks relacionados

Depois de chamar este método para alterar o status de captura de áudio local, você pode obter a alteração de status por meio do callback onLocalAudioStateChanged.

Valor de retorno

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

setDefaultAudioRoutetoSpeakerphone

Define se a saída de áudio padrão é o alto-falante.

public abstract int setDefaultAudioRoutetoSpeakerphone(boolean defaultToSpeakerphone);

Este método define o dispositivo de roteamento de áudio padrão antes de entrar em um canal. Você pode escolher a saída padrão para o auricular ou o alto-falante. O SDK usa o alto-falante como padrão. Se quiser alterar essa configuração padrão, chame este método antes de entrar em um canal.

A prioridade de roteamento de áudio é predefinida no SDK e alterna automaticamente com base no status de conexão dos periféricos. A ordem de prioridade é a seguinte: Wired headset > Bluetooth headset > User settings > Default settings. Portanto, se nenhum periférico estiver conectado e a rota de áudio não for definida usando enableSpeakerphone, as configurações padrão serão usadas.

Para mais informações sobre as configurações de roteamento de áudio, consulte Audio routing settings.

Os dispositivos móveis geralmente possuem dois dispositivos de roteamento de áudio: o auricular e o alto-falante.

  • Quando a rota de áudio é o auricular, o som é mais baixo e só pode ser ouvido claramente quando o ouvido está próximo. Oferece maior privacidade e é adequado para atender chamadas.

  • Quando a rota de áudio é o alto-falante, o som é mais alto e pode ser ouvido sem precisar levar o telefone ao rosto, ativando o recurso "viva-voz".

Interfaces relacionadas

Esta API é usada para modificar as configurações padrão de roteamento de áudio. A API enableSpeakerphone é usada para definir o dispositivo de roteamento atual.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal.

Parâmetros

Parâmetro

Tipo

Descrição

defaultToSpeakerphone

boolean

Especifica se deve usar o alto-falante por padrão.

  • true: Modo alto-falante (alto-falante padrão).

  • false: Modo auricular.

Valor de retorno

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

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

enableSpeakerphone

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

public abstract int enableSpeakerphone(boolean enable);

Este método define o dispositivo de reprodução de áudio atual após entrar em um canal, escolhendo entre o auricular e o alto-falante. Se esse recurso não for definido, o dispositivo configurado pelo roteamento de áudio padrão será usado para reprodução.

A prioridade de roteamento de áudio é predefinida no SDK e alterna automaticamente com base no status de conexão dos periféricos. A prioridade é a seguinte: Wired headset > Bluetooth headset > User settings > Default settings. Portanto, quando um periférico está conectado, esta chamada de API não tem efeito. Para mais informações sobre as configurações de roteamento de áudio, consulte Audio Routing Settings.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal.

Interfaces relacionadas

<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. Esta API define o dispositivo de roteamento atual.

Parâmetros

Parâmetro

Tipo

Descrição

enable

boolean

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

  • true (padrão): Modo alto-falante.

  • false: Modo auricular.

Valor de retorno

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

isSpeakerOn

Obtém se a saída de áudio atual é o auricular ou o alto-falante.

public abstract boolean isSpeakerOn();

Valor de retorno

true: Alto-falante. false: Auricular.

enableAudioVolumeIndication

Ativa a indicação de volume do usuário.

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

Esta interface permite que o SDK relate periodicamente informações de volume ao seu aplicativo sobre o usuário local que está publicando um stream e o usuário remoto com o maior volume instantâneo. Para usar este recurso, implemente a classe AliRtcAudioVolumeObserver e chame a interface registerAudioVolumeObserver para registrar o objeto receptor.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal.

Callbacks relacionados

Após este método ser chamado com sucesso, se houver usuários publicando no canal, o SDK aciona os dois callbacks a seguir no intervalo de tempo definido:

  • O volume de áudio do falante é notificado por meio do callback AliRtcAudioVolumeObserver#onAudioVolume. A frequência do callback é determinada pelo intervalo.

  • Detecção de atividade de voz. Quando um usuário ativo é detectado, o uid do falante é retornado por meio do callback AliRtcAudioVolumeObserver#onActiveSpeaker.

Parâmetros

Parâmetro

Tipo

Descrição

interval

int

Intervalo de tempo.

  • Unidade: ms.

  • Valor padrão: 300 ms.

  • Intervalo: Valor mínimo ≥ 10 ms. Recomendamos definir entre 300 ms e 500 ms. Um valor ≤ 0 desativa os recursos de indicação de volume e de falante.

smooth

int

Coeficiente de suavização. Um valor maior significa um maior grau de suavização, enquanto um valor menor significa um menor grau de suavização e melhor desempenho em tempo real.

  • Valor padrão: 3.

  • Intervalo: 0 a 9. Recomendamos definir como 3.

reportVad

int

Alternador de detecção de atividade de voz local.

Valor de retorno

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

enableEarBack

Ativa o monitoramento in-ear.

public abstract int enableEarBack(boolean enable);

Este método ativa ou desativa o recurso de monitoramento in-ear. Recomendamos ativar o monitoramento in-ear ao usar fones de ouvido (com fio ou Bluetooth) para obter melhores resultados.

Quando chamar

Você pode chamar 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: Ativar o monitoramento in-ear.

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

Valor de retorno

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

setEarBackVolume

Define o volume do monitoramento in-ear.

public abstract int setEarBackVolume(int volume) ;

Este método define o volume do monitoramento in-ear. Ele só entra em vigor após você ativar o recurso de monitoramento in-ear chamando enableEarBack.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal.

Parâmetros

Parâmetro

Tipo

Descrição

volume

int

Volume. O intervalo é [0, 100]. O valor padrão é 100.

  • 0: Mudo.

  • 100: (Padrão) Volume original.

Valor de retorno

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

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

startAudioPlayer

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

public abstract int startAudioPlayer();

Este método permite controlar a ativação da reprodução de áudio antecipadamente. Se você não definir isso, o SDK ativa automaticamente a reprodução de áudio após a assinatura de um fluxo de áudio.

Valor de retorno

  • 0: Sucesso.

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

stopAudioPlayer

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

 public abstract int stopAudioPlayer();

Este método interrompe a reprodução de áudio e corresponde a startAudioPlayer.

Valor de retorno

  • 0: Sucesso.

  • Diferente de zero: Falha. 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 reprodução. O intervalo é [0, 400].

  • 0: Mudo.

  • 100: Volume original.

  • >100: Aumentar volume.

Valor de retorno

  • 0: Sucesso.

  • Diferente de zero: Falha.

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 é [0, 400].

  • 0: Mudo.

  • 100: Volume original.

  • >100: Aumentar volume.

Valor de retorno

  • 0: Sucesso.

  • Diferente de zero: Falha.

playAudioFileTest

Reproduz um arquivo de áudio.

public abstract int playAudioFileTest(String filePath) ;

Este método reproduz um arquivo de áudio antes de entrar em um canal para testar a reprodução de áudio.

Quando chamar

Você só pode chamar este método antes de entrar em um canal.

Limites

Múltiplas chamadas se substituirão. Uma nova chamada interrompe qualquer arquivo que esteja sendo reproduzido no momento.

Parâmetros

Parâmetro

Tipo

Descrição

filePath

filePath

O caminho do arquivo.

Valor de retorno

  • 0: Sucesso.

  • Diferente de zero: Falha.

stopAudioFileTest

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

public abstract int stopAudioFileTest();

Este método corresponde a playAudioFileTest e interrompe a reprodução do arquivo de áudio.

Limites

Você só pode chamar este método antes de entrar em um canal.

Valor de retorno

  • 0: Sucesso.

  • Diferente de zero: Falha.

startAudioCaptureTest

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

public abstract int startAudioCaptureTest();

Você pode usar este método para iniciar um teste de captura de áudio e verificar se o seu dispositivo local de captura de áudio está funcionando corretamente antes de uma chamada. Após chamar este método, o SDK relata as informações de volume do dispositivo de captura para você por meio do callback AliRtcAudioVolumeObserver::OnTestAudioVolume.

Quando chamar

Chame este método antes de entrar em um canal. Após a conclusão do teste, certifique-se de chamar stopAudioCaptureTest para interromper a detecção do dispositivo e evitar problemas causados pela ocupação do dispositivo.

Valor de retorno

  • 0: Sucesso.

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

stopAudioCaptureTest

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

public abstract int stopAudioCaptureTest();

Este método interrompe a detecção do dispositivo de captura de áudio. Você deve chamar este método para interromper o teste após chamar startAudioCaptureTest.

Quando chamar

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

Valor de retorno

  • 0: Sucesso.

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

setAudioEffectVoiceChangerMode

Define o modo de efeito de modificador de voz.

public abstract int setAudioEffectVoiceChangerMode(AliRtcAudioEffectVoiceChangerMode mode);

Parâmetros

Parâmetro

Tipo

Descrição

mode

AliRtcAudioEffectVoiceChangerMode

Modo de efeito de modificador de voz. O valor padrão é AliRtcSdk_AudioEffect_Voice_Changer_OFF (desativado).

Valor de retorno

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

setAudioEffectPitchValue

Define o parâmetro de mudança de tom.

public abstract int setAudioEffectPitchValue(double value);

Parâmetros

Parâmetro

Tipo

Descrição

value

double

O intervalo do parâmetro é [0,5, 2,0]. O valor padrão é 1,0, o que significa que o tom permanece inalterado.

Valor de retorno

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

setAudioEffectReverbMode

Define o modo de efeito de reverberação.

public abstract int setAudioEffectReverbMode(AliRtcAudioEffectReverbMode mode);

Parâmetros

Parâmetro

Tipo

Descrição

mode

AliRtcAudioEffectReverbMode

Modo de efeito de reverberação. O valor padrão é AliRtcAudioEffectReverb_Off (desativado).

Valor de retorno

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

setAudioEffectReverbParamType

Define o tipo de efeito de reverberação e parâmetros específicos.

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

Parâmetros

Parâmetro

Tipo

Descrição

type

AliRtcAudioEffectReverbParamType

Parâmetro de efeito de reverberação.

value

float

Valor específico do parâmetro.

Valor de retorno

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

setAudioEffectBeautifyMode

Define o modo de efeito de embelezamento de voz predefinido.

public abstract int setAudioEffectBeautifyMode(AliRtcAudioEffectBeautifyMode mode);

Este método define alguns modos predefinidos de embelezamento de voz no SDK. É adequado para cenários que precisam de embelezamento de voz, como transmissão ao vivo de voz, karaokê e redes sociais de voz. Ao selecionar diferentes modos de embelezamento, você pode alterar o efeito auditivo da voz humana, como aumentar o magnetismo ou melhorar a clareza, aprimorando assim a experiência de audição para usuários remotos.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal.

Parâmetros

Parâmetro

Tipo

Descrição

mode

AliRtcAudioEffectBeautifyMode

Modo de efeito de embelezamento de voz. Consulte a definição da enumeração para obter detalhes.

Valor de retorno

  • 0: Sucesso.

  • Diferente de zero: Falha.

setAudioEffectEqualizationParam

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

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

Este método ajusta o equalizador gráfico para a voz humana ou sinais de áudio coletados localmente. Ao ajustar o ganho (em dB) de uma das 10 bandas de frequência fixas, você pode personalizar o timbre. É adequado para cenários como otimização de clareza de voz, aprimoramento de voz humana e assistência na redução de ruído.

O equalizador suporta o ajuste de todo o espectro de áudio de 31 Hz a 16 kHz, com um total de 10 bandas de frequência padrão. O ganho para cada banda pode ser definido de forma independente, variando de -15 a 15 dB, com um padrão de 0 dB (sem aprimoramento ou atenuação).

Limites

  • Você não pode usar o equalizador antes que o modo de embelezamento seja ativado. Você deve chamar esta interface após chamar setAudioEffectBeautifyMode.

Parâmetros

Parâmetro

Tipo

Descrição

bandIndex

AliRtcAudioEffectEqualizationBandFrequency

O índice da banda de frequência a ser ajustada, correspondendo a um segmento da frequência central (31 Hz a 16 kHz).

gain

float

Valor de ganho em dB. O intervalo é [-15, 15].

Valor de retorno

0: Sucesso.

Diferente de zero: Falha.

addExternalAudioStream

Adiciona um fluxo de áudio externo.

public abstract int addExternalAudioStream(AliRtcExternalAudioStreamConfig config);

Este método adiciona um novo fluxo de áudio externo. As etapas são as seguintes:

  1. Chame 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 fluxo de áudio externo e obter o ID do fluxo de áudio externo.

  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 fluxo de áudio criado.

  3. Quando a chamada terminar, você precisará chamar <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 fluxo de áudio externo.

Para publicar áudio coletado de forma personalizada em um canal, consulte Custom audio collection.

Parâmetros

Parâmetro

Tipo

Descrição

config

AliRtcExternalAudioStreamConfig

Configuração do fluxo de áudio externo.

Valor de retorno

Um valor maior que 0 indica que a chamada do método foi bem-sucedida e corresponde ao ID do fluxo de áudio externo. Qualquer outro valor indica falha.

pushExternalAudioStreamRawData

Insere dados no fluxo de áudio externo.

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

Este método insere dados em um fluxo de áudio especificado. As etapas são as seguintes:

  1. Chame a API <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 fluxo de áudio externo e obter o ID do fluxo 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 fluxo de áudio criado.

  3. Quando a chamada terminar, você precisará chamar <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 fluxo de áudio externo.

Para publicar áudio coletado de forma personalizada em um canal, consulte Custom audio collection.

Quando chamar

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

Parâmetros

Parâmetro

Tipo

Descrição

streamId

int

ID do fluxo de áudio externo.

rawData

AliRtcAudioFrame

Dados de áudio.

Valor de retorno

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

setExternalAudioStreamPublishVolume

Define o volume de ingestão do fluxo de áudio externo.

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

Parâmetros

Parâmetro

Tipo

Descrição

streamId

int

ID do fluxo de áudio externo.

publishVolume

int

Volume de ingestão. O intervalo é [0, 100].

Valor de retorno

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

getExternalAudioStreamPublishVolume

Obtém o volume de ingestão do fluxo de áudio externo.

public abstract int getExternalAudioStreamPublishVolume(int streamId);

Parâmetros

Parâmetro

Tipo

Descrição

streamId

int

ID do fluxo de áudio externo.

Valor de retorno

[0, 100] Volume de ingestão. < 0: Falha.

setExternalAudioStreamPlayoutVolume

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

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

Parâmetros

Parâmetro

Tipo

Descrição

streamId

int

ID do fluxo de áudio externo.

playoutVolume

int

Volume de reprodução. O intervalo é [0, 100].

Valor de retorno

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

getExternalAudioStreamPlayoutVolume

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

public abstract int getExternalAudioStreamPlayoutVolume(int streamId);

Parâmetros

Parâmetro

Tipo

Descrição

streamId

int

ID do fluxo de áudio externo.

Valor de retorno

[0, 100] Volume de reprodução. < 0 indica falha.

removeExternalAudioStream

Exclui um fluxo de áudio externo.

public abstract int removeExternalAudioStream(int streamId);

Este método remove o fluxo de áudio externo correspondente com base no streamId fornecido. Ele corresponde ao método addExternalAudioStream.

Quando chamar

Se você quiser usar o recurso de entrada de áudio personalizada, precisará chamar o método addExternalAudioStream para adicionar um fluxo de áudio e obter o ID do fluxo de áudio externo. Em seguida, chame o método pushExternalAudioStreamRawData para inserir seus dados de áudio no SDK. Quando quiser interromper a entrada de áudio personalizada, chame este método para remover o fluxo de áudio externo correspondente e limpar os recursos.

Parâmetros

Parâmetro

Tipo

Descrição

streamId

int

ID do fluxo de áudio externo. Este é o valor de retorno quando o método addExternalAudioStream é chamado com sucesso.

Valor de retorno

  • 0: Sucesso.

  • <0: Falha. Um código de erro é retornado.

getAudioFileInfo

Obtém informações do arquivo de áudio.

public abstract int getAudioFileInfo(String fileName);

Você pode chamar esta API assíncrona para obter as informações de duração de um arquivo. Você pode obter as informações do arquivo de áudio por meio de onAudioFileInfo.

Parâmetros

Parâmetro

Tipo

Descrição

fileName

String

Caminho do arquivo de áudio.

Valor de retorno

  • 0: Sucesso.

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

startAudioAccompany

Inicia a mixagem de acompanhamento.

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

Este método reproduz um arquivo de acompanhamento local ou online. É um método assíncrono. Após chamar este método, você pode ouvir o status de reprodução do acompanhamento por meio de AliRtcEngineNotify#onAudioAccompanyStateChanged.

Quando chamar

Você pode chamar este método após entrar em um canal.

Limites

Diferente dos efeitos sonoros, apenas um acompanhamento pode ser reproduzido por vez. Chamadas repetidas substituirão a reprodução do acompanhamento anterior.

Parâmetros

Parâmetro

Tipo

Descrição

fileName

String

Caminho do arquivo de acompanhamento.

config

AliRtcAudioAccompanyConfig

Configuração de reprodução do acompanhamento, incluindo se deve reproduzir apenas localmente, se deve substituir o microfone, número de loops, posição inicial, volume e outras configurações.

Valor de retorno

  • 0: Sucesso.

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

stopAudioAccompany

Interrompe a mixagem de acompanhamento.

public abstract int stopAudioAccompany() ;

Este método corresponde a startAudioAccompany e interrompe a reprodução do acompanhamento.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal.

Valor de retorno

  • 0: Sucesso.

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

setAudioAccompanyVolume

Define o volume do acompanhamento, incluindo o volume de reprodução local e o volume de ingestão.

public abstract int setAudioAccompanyVolume( int volume) ;

Este método define o volume do acompanhamento tanto para a reprodução local quanto para a ingestão de fluxo. Além disso, setAudioAccompanyPlayoutVolume e setAudioAccompanyPublishVolume definem apenas o volume de reprodução local e o volume de ingestão do fluxo de acompanhamento, respectivamente.

Parâmetros

Parâmetro

Tipo

Descrição

volume

int

Volume do acompanhamento. O intervalo é [0, 100].

0: Mudo.

100: Volume original do arquivo.

Valor de retorno

  • 0: Sucesso.

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

setAudioAccompanyPublishVolume

Define o volume de ingestão do acompanhamento.

public abstract int setAudioAccompanyPublishVolume(int volume) ;

Parâmetros

Parâmetro

Tipo

Descrição

volume

int

Volume do acompanhamento. O intervalo é [0, 100].

0: Mudo.

100: Volume original do arquivo.

Valor de retorno

  • 0: Sucesso.

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

getAudioAccompanyPublishVolume

Obtém o volume de ingestão do acompanhamento.

public abstract int getAudioAccompanyPublishVolume() ;

Valor de retorno

O volume de ingestão da música de acompanhamento.

  • [0-100]: Sucesso.

  • Outro: 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. O intervalo é [0, 100].

0: Mudo.

100: Volume original do arquivo.

Valor de retorno

  • 0: Sucesso.

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

getAudioAccompanyPlayoutVolume

Obtém o volume de reprodução local do acompanhamento.

public abstract int getAudioAccompanyPlayoutVolume() ;

Valor de retorno

O volume de reprodução local da música de acompanhamento.

  • [0-100]: Sucesso.

  • Outro: Código de erro.

pauseAudioAccompany

Pausa a mixagem de acompanhamento.

public abstract int pauseAudioAccompany();

Valor de retorno

  • 0: Sucesso.

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

resumeAudioAccompany

Retoma a mixagem de acompanhamento.

public abstract int resumeAudioAccompany();

Valor de retorno

  • 0: Sucesso.

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

getAudioAccompanyDuration

Obtém a duração do arquivo de acompanhamento, em milissegundos.

public abstract int getAudioAccompanyDuration();

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

Valor de retorno

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

  • <0: Falha. Um código de erro é retornado.

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.

Valor de retorno

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

  • <0: Falha. Um código de erro é retornado.

setAudioAccompanyPosition

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

public abstract int setAudioAccompanyPosition(int posMs);

Este método define ativamente o progresso de reprodução do acompanhamento, para recursos como arrastar uma barra de progresso. Após a chamada bem-sucedida deste método, o arquivo de acompanhamento será reproduzido a partir da posição posMs correspondente.

Parâmetros

Parâmetro

Tipo

Descrição

posMs

int

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

Valor de retorno

  • 0: Sucesso.

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

preloadAudioEffect

Pré-carrega um arquivo de efeito sonoro.

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

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

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

filePath

String

Caminho do arquivo de efeito sonoro.

Valor de retorno

0 indica que a chamada do método 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

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

Valor de retorno

0 indica que a chamada do método 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

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

filePath

String

Caminho do arquivo de efeito sonoro.

cycles

int

Número de loops. -1 significa loop infinito.

publish

boolean

Especifica se deve publicar o fluxo de áudio do efeito sonoro para usuários remotos. Valores válidos:

  • true: Publica o fluxo de áudio do efeito sonoro para usuários remotos.

  • false (padrão): Não publica o fluxo de áudio do efeito sonoro para usuários remotos.

Valor de retorno

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

stopAudioEffect

Interrompe a reprodução de um efeito sonoro.

public abstract int stopAudioEffect(int soundId);

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

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

Valor de retorno

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

stopAllAudioEffects

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

public abstract int stopAllAudioEffects();

Valor de retorno

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

setAudioEffectPublishVolume

Define o volume de mixagem de ingestão do efeito sonoro.

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

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

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

volume

int

Volume de mixagem. O intervalo é de 0 a 100. O valor padrão é 50.

Valor de retorno

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

getAudioEffectPublishVolume

Obtém o volume do efeito sonoro de ingestão.

public abstract int getAudioEffectPublishVolume(int soundId);

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

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

Valor de retorno

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

setAudioEffectPlayoutVolume

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

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

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

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

volume

int

Volume de mixagem. O intervalo é de 0 a 100. O valor padrão é 50.

Valor de retorno

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

getAudioEffectPlayoutVolume

Obtém o volume de reprodução local para um efeito sonoro (Android e iOS).

public abstract int getAudioEffectPlayoutVolume(int soundId);

Parâmetros

Parâmetro

Tipo

Descrição

soundId

int

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

Valor de retorno

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

setAllAudioEffectsPublishVolume

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

public abstract int setAllAudioEffectsPublishVolume(int volume);

Parâmetros

Parâmetro

Tipo

Descrição

volume

int

Volume de mixagem. O intervalo é de 0 a 100. O valor padrão é 50.

Valor de retorno

0 indica que a chamada do método foi bem-sucedida. Qualquer outro valor indica uma 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 de mixagem. O intervalo é de 0 a 100. O valor padrão é 50.

Valor de retorno

0 indica que a chamada do método foi bem-sucedida. Qualquer outro valor indica uma 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

TRUE: Sucesso. Outro: Falha.

Nota
  • Ao gravar um stream de vídeo, chame esta API após a ingestão do stream ser bem-sucedida (onVideoPublishStateChanged). Esta API grava o stream de vídeo codificado localmente e o salva localmente.

  • Ao gravar um stream de áudio, o arquivo gravado é uma mixagem de áudio local e remoto.

stopRecord

Interrompe a gravação de um arquivo 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

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

Valor de retorno

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

pauseAllAudioEffects

Pausa todos os efeitos sonoros.

public abstract int pauseAllAudioEffects();

Valor de retorno

0 indica que a chamada do método foi bem-sucedida. Qualquer outro valor indica uma 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

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

Valor de retorno

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

resumeAllAudioEffects

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

public abstract int resumeAllAudioEffects();

Valor de retorno

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

createRenderSurfaceView

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

public abstract SophonSurfaceView createRenderSurfaceView(Context context);

Você deve chamar este método para exibir a visualização de vídeo, em vez de criar um SurfaceView diretamente. O método de chamada é o seguinte:

  • Atribua o valor de retorno a AliRtcVideoCanvas#view.

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

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal.

Limites

Chame este método na thread principal.

Parâmetros

Parâmetro

Tipo

Descrição

context

Context

O 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 é usado para definir a visualização da pré-visualização local. Chamar este método anexa a janela de exibição (view) para o stream de vídeo local e define parâmetros para a visualização do usuário local, como o modo de renderização, modo de espelhamento e ângulo de rotação. Isso afeta apenas a tela de pré-visualização do usuário local e não afeta o stream de 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 redefinir o parâmetro renderMode de AliRtcVideoCanvas durante a reprodução, mantenha os outros parâmetros inalterados e modifique apenas o renderMode.

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

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

Quando chamar

Você pode chamar este método 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 método de renderização.

track

AliRtcVideoTrack

Tipo de stream de vídeo.

Valor de retorno

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

setRemoteViewConfig

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

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

Este método anexa uma visualização de exibição a um stream de vídeo especificado de um usuário remoto e define as configurações de exibição para a visualização remota, como o modo de renderização, modo de espelhamento e ângulo de rotação. Isso afeta apenas a imagem de vídeo que o usuário local vê. Para definir a visualização da pré-visualização local, chame setLocalViewConfig.

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

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

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

Quando chamar

Recomendamos chamar este método ao receber o callback onRemoteTrackAvailableNotify, que é quando o vídeo do usuário remoto fica disponível.

Parâmetros

Parâmetro

Tipo

Descrição

canvas

AliRtcVideoCanvas

Parâmetros de renderização, incluindo a janela de renderização e o método de renderização.

uid

String

ID do usuário.

track

AliRtcVideoTrack

O tipo de stream de vídeo a ser definido.

Valor de retorno

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

setCameraCapturerConfiguration

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

public abstract int setCameraCapturerConfiguration(AliEngineCameraCapturerConfiguration cameraCapturerConfiguration);

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

Quando chamar

Você deve definir isso antes de ligar a câmera. Por exemplo, chame-o antes das seguintes operações:

  • startPreview (iniciar pré-visualização)

  • joinChannel (entrar no canal)

Parâmetros

Parâmetro

Tipo

Descrição

cameraCapturerConfiguration

AliEngineCameraCapturerConfiguration

Preferências de captura da câmera, incluindo direção da câmera, taxa de quadros e muito mais. 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 do vídeo.

    • ALIRTC_CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE: A captura seleciona a resolução mais próxima da resolução de publicação, priorizando o desempenho do dispositivo.

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

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

  • cameraCaptureProfile: 0. Especifica uma resolução específica para a captura de vídeo.

  • disableVideoCaptureReverse: Não inverta o quadro de vídeo capturado com base na configuração da proporção da tela. -1: Padrão. 0: Não efetivo. 1: Efetivo.

  • captureObserverOriginal: Se deve fazer o callback dos dados originais do videoframe. -1: Padrão. 0: Desativado. 1: Ativado.

  • textureEncode: Se deve usar a codificação de textura. -1: Padrão. 0: Desativado. 1: Ativado.

  • cameraTextureCapture: Se a câmera ativa a captura de textura. -1: Padrão. 0: Desativado. 1: Ativado.

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

Valor de retorno

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

enableLocalVideo

Desativa ou reativa a coleta de vídeo local.

public abstract int enableLocalVideo(boolean enable);

Este método controla a ativação e desativação da coleta de vídeo local. Quando a coleta de vídeo local é desativada, tanto a pré-visualização local quanto o stream publicado não possuem dados de vídeo, mas isso não afeta o recebimento de vídeo remoto. Se você chamar este método para desativar a coleta da câmera local, tanto a pré-visualização local quanto o stream publicado remoto congelarão no último quadro.

Nota

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

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal.

Callbacks relacionados

Após a chamada bem-sucedida deste método, o usuário remoto é notificado por meio do callback onUserVideoEnabled.

Parâmetros

Parâmetro

Tipo

Descrição

enable

boolean

Desativa ou reativa a coleta de vídeo local. Valores válidos:

  • true (padrão): Reativar.

  • false: Desativar.

Valor de retorno

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

muteLocalCamera

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

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

Ao publicar um stream, você pode chamar este método para publicar quadros de vídeo totalmente pretos. A pré-visualização local permanece normal, e os módulos de coleta, codificação e envio continuam a funcionar, mas o conteúdo do vídeo são quadros pretos.

Nota

Você pode chamar este método para controlar se deve enviar quadros pretos em um stream de vídeo especificado. Isso não afeta os processos de coleta e transmissão de dados. Para desativar a coleta, chame o método enableLocalVideo. Para interromper o envio de dados de vídeo, chame o método publishLocalVideoStream ou chame <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7558afe6accq4" id="ee17216e55r3t">enableLocalVideo</a> stop collection.

Parâmetros

Parâmetro

Tipo

Descrição

mute

boolean

Interrompe ou retoma o envio de dados de vídeo local. Valores válidos:

  • true: Interromper.

  • false (padrão): Retomar.

track

AliRtcVideoTrack

O tipo de stream de vídeo cujo status de publicação precisa ser alterado.

Valor de retorno

0 indica que a chamada do método foi bem-sucedida.

isCameraOn

Verifica se a câmera está ligada.

public abstract boolean isCameraOn();

Valor de retorno

true: A câmera está ligada. false: A câmera não está ligada.

setVideoEncoderConfiguration

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

public abstract void setVideoEncoderConfiguration(AliRtcVideoEncoderConfiguration config);

Este método define os parâmetros de vídeo para as propriedades de codificação do stream 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

Todos os parâmetros definidos possuem limites de intervalo correspondentes. Se um parâmetro definido estiver fora do intervalo válido, o SDK o ajustará automaticamente.

Quando chamar

Você pode chamar este método antes ou depois de entrar em um canal. Se você precisar definir as propriedades de codificação de vídeo do stream da câmera apenas uma vez por sessão, recomendamos chamá-lo antes de entrar no canal.

Limites

Tanto o mirrorMode deste método quanto o setVideoMirrorMode podem definir o espelhamento de publicação de vídeo. Recomendamos usar apenas um. O uso de vários métodos ao mesmo tempo pode fazer com que os efeitos de espelhamento se acumulem, levando a uma configuração de espelhamento com falha ou incorreta.

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. Você precisa definir a resolução.

  • frameRate: 15

  • bitrate: 0. O SDK calcula uma taxa de bits de codificação adequada com base na resolução e na taxa de bits do vídeo.

  • keyFrameInterval: Intervalo de quadros-chave em milissegundos. O padrão é 0, o que significa que o SDK o controla.

  • forceStrictKeyFrameInterval: Se deve forçar o codificador a seguir estritamente o intervalo de quadros-chave definido. O 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

Um valor de -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 as propriedades de decodificação do stream de vídeo.

Quando chamar

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 B-frames. Se ativado, o decodificador terá uma fila de buffer, aumentando a latência. Se o remetente ativou os B-frames, você deve ativar esta opção para decodificar corretamente.

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

Um valor de -1 indica 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 alterna entre as câmeras frontal e traseira. A câmera frontal é usada por padrão. Você pode alternar dinamicamente as câmeras durante a execução do aplicativo com base nas câmeras disponíveis, sem reiniciar o stream de vídeo ou reconfigurar a fonte de vídeo.

Quando chamar

Chame este método após a câmera ser ligada com sucesso.

Limites

Isso está disponível apenas no Android e iOS.

Valor de retorno

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

getCurrentCameraDirection

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

public abstract AliRTCCameraDirection getCurrentCameraDirection();

Valor de retorno

  • Retorna CAMERA_REAR(0) para a câmera traseira.

  • Retorna CAMERA_FRONT(1) para a câmera frontal.

  • Retorna CAMERA_INVALID(-1) para inválido.

Nota

Chame este método após a câmera ser ligada. Caso contrário, ele retornará CAMERA_INVALID(-1).

startPreview

Inicia a pré-visualização local.

public abstract int startPreview();

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

Nota

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

Quando chamar

  • Antes de chamar este método, você precisa definir a visualização para a pré-visualização local chamando setLocalViewConfig. Caso contrário, a pré-visualização não será exibida, mas isso não afetará a publicação.

  • Se necessário, você pode chamar este método para iniciar a pré-visualização antes de entrar em um canal com joinChannel. A câmera será ligada automaticamente.

Valor de retorno

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

stopPreview

Interrompe a pré-visualização local.

public abstract int stopPreview();

Este método fecha a pré-visualização de vídeo local e desliga a câmera. Após interromper a pré-visualização, a extremidade local permanecerá no último quadro, o que não afeta a publicação.

Nota

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

Quando chamar

Para fechar a pré-visualização após iniciá-la, você pode chamar este método.

Valor de retorno

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

setCameraZoom

Define a taxa de zoom da câmera.

public abstract int setCameraZoom(float zoom);

Define a taxa de zoom da câmera.

Limites

Apenas iOS e Android fornecem esta interface.

Quando chamar

Esta configuração é efetiva apenas após a câmera ser ligada. O zoom é redefinido cada vez que a câmera é reiniciada.

Parâmetros

Parâmetro

Tipo

Descrição

zoom

float

Taxa de zoom da câmera. O intervalo é de 1 até o valor máximo de zoom suportado pela câmera. Você pode obter a taxa máxima de zoom suportada pelo dispositivo atual chamando GetCameraMaxZoomFactor.

Valor de retorno

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

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

GetCameraMaxZoomFactor

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

public abstract float GetCameraMaxZoomFactor();

Valor de retorno

A taxa máxima de zoom suportada pela câmera do dispositivo.

GetCurrentZoom

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

public abstract float GetCurrentZoom();

Valor de retorno

A taxa de zoom atual da câmera do dispositivo.

SetExposure

Define a exposição da câmera.

public abstract int SetExposure(float exposure);

Quando a luz ambiente é insuficiente ou muito forte, isso afeta a qualidade da captura de vídeo. Para obter uma melhor qualidade de vídeo, você pode usar este método para ajustar a exposição da câmera em uso. Você pode obter o intervalo de exposição suportado pelo dispositivo atual chamando GetMinExposure e GetMaxExposure.

Parâmetros

Parâmetro

Tipo

Descrição

exposure

float

A exposição da câmera. O valor padrão é 0, o que significa usar a exposição padrão da câmera. Quanto maior o valor, maior a exposição. Se a imagem do vídeo estiver superexposta, você pode diminuir o coeficiente de exposição. Se a imagem do vídeo estiver subexposta, causando perda de detalhes em áreas escuras, você pode aumentar o coeficiente de exposição. Se a exposição passada estiver fora do intervalo suportado pelo dispositivo, o SDK a ajustará automaticamente.

Valor de retorno

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

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

GetCurrentExposure

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

public abstract float GetCurrentExposure();

Obtém a configuração de exposição da câmera atualmente em uso.

Valor de retorno

A exposição atual da câmera.

GetMinExposure

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

public abstract float GetMinExposure();

Valor de retorno

A exposição mínima da câmera.

GetMaxExposure

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

public abstract float GetMaxExposure();

Valor de retorno

A exposição máxima da câmera.

setCameraFlash

Define o flash da câmera como ligado ou desligado.

public abstract int setCameraFlash(boolean flash);

Liga ou desliga o flash.

Nota

Geralmente, apenas a câmera traseira possui a função de flash.

Limites

Apenas iOS e Android fornecem esta interface.

Parâmetros

Parâmetro

Tipo

Descrição

flash

boolean

Especifica se deve ligar o flash.

  • true: Ligar o flash.

  • false: Desligar o flash.

Valor de retorno

  • 0: Sucesso.

  • Diferente de zero: Falha.

isCameraFocusPointSupported

Verifica se o dispositivo atual suporta foco manual.

public abstract boolean isCameraFocusPointSupported();

Verifica se a câmera atual pode definir um ponto de foco para suportar o recurso de foco manual.

Limites

Apenas iOS e Android fornecem esta interface.

Valor de retorno

  • true: O dispositivo suporta o recurso de foco manual.

  • false: O dispositivo não suporta o recurso de foco manual.

isCameraExposurePointSupported

Verifica se a configuração do ponto de exposição da câmera é suportada.

public abstract boolean isCameraExposurePointSupported();

Verifica se o dispositivo atual oferece suporte à definição de um ponto de exposição.

Limites

Apenas iOS e Android oferecem essa interface.

Valor de retorno

  • true: Há suporte para a definição do ponto de exposição da câmera.

  • false: Não há suporte para a definição do 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);

Define o ponto de foco da câmera atual. Após chamar este método, a câmera realiza um ajuste único de exposição no ponto definido e, em seguida, mantém esse valor de foco. Antes de chamar este método, recomendamos chamar isCameraFocusPointSupported para verificar se o dispositivo oferece suporte ao recurso de foco manual.

Limites

Apenas iOS e Android oferecem essa interface.

Parâmetros

Parâmetro

Tipo

Descrição

x

float

O valor da coordenada do eixo x.

y

float

O valor da coordenada do eixo y.

Valor de retorno

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

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

setCameraExposurePoint

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

public abstract int setCameraExposurePoint(float x, float y);

Define o ponto de exposição da câmera. Após a chamada deste método, a câmera realiza um ajuste único de exposição no ponto definido e mantém esse valor de exposição. Antes de chamar este método, recomendamos chamar isCameraExposurePointSupported para verificar se o dispositivo oferece suporte ao recurso de foco manual.

Limites

Apenas iOS e Android oferecem essa interface.

Parâmetros

Parâmetro

Tipo

Descrição

x

float

O valor da coordenada do eixo x.

y

float

O valor da coordenada do eixo y.

Valor de retorno

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

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

isCameraAutoFocusFaceModeSupported

Verifica se há suporte para o foco automático facial da câmera.

public abstract boolean isCameraAutoFocusFaceModeSupported();

Verifica se há suporte para o foco automático facial da câmera.

Quando chamar

Isso só é eficaz após a câmera ser ligada. Se a câmera não estiver ligada quando você chamar este método, ele retornará false por padrão. Se a câmera estiver ligada e oferecer suporte às funções de reconhecimento facial e foco, ele retornará true.

Limites

Apenas iOS e Android oferecem essa interface.

Valor de retorno

  • true: Há suporte para o foco automático facial.

  • false: Não há suporte para o foco automático facial.

setCameraAutoFocusFaceModeEnabled

Define o foco facial da câmera.

public abstract boolean setCameraAutoFocusFaceModeEnabled(boolean enable);

Chame este método para configurar a câmera para focar em rostos em tempo real. Antes de chamar este método, chame isCameraAutoFocusFaceModeSupported para verificar se o dispositivo oferece suporte a este recurso.

Limites

Apenas iOS e Android oferecem essa interface.

Parâmetros

Parâmetro

Tipo

Descrição

enable

boolean

Ativa ou desativa o recurso de foco facial da câmera.

  • true: Ative.

  • false: Desative.

Valor de retorno

  • true: A chamada foi bem-sucedida.

  • false: A chamada falhou.

setVideoMirrorMode

Define a capacidade de espelhamento de vídeo para visualização e ingestão.

public abstract int setVideoMirrorMode(AliRtcVideoPipelineMirrorMode mirrorMode);

Define se o modo espelho será ativado para o vídeo de visualização local e para o stream de vídeo publicado.

Nota

Este método tem prioridade maior que setLocalViewConfig&setVideoEncoderConfiguration. Para definir o modo espelho do vídeo, recomendamos chamar este método.

Quando chamar

Você pode definir este método dinamicamente antes e depois de entrar em um canal. O SDK registra o status e executa a operação de vídeo quando pode operar na visualização e na codificação (publicação).

Limites

Este método se sobrepõe ao mirrorMode em setLocalViewConfig&setVideoEncoderConfiguration. Recomendamos usar apenas um método.

Parâmetros

Parâmetro

Tipo

Descrição

mirrorMode

AliRtcVideoPipelineMirrorMode

Define o modo espelho.

Valor de retorno

  • 0: Sucesso.

  • <0: Falha.

    • AliRtcErrInner: Erro interno do SDK. Verifique se a instância do SDK foi criada com sucesso.

setCapturePipelineScaleMode

Define o momento do dimensionamento da captura de vídeo.

public abstract void setCapturePipelineScaleMode(AliRtcCapturePipelineScaleMode mode);

Define se o dimensionamento da captura de dados de vídeo ocorre imediatamente após a captura ou apenas durante a codificação. Por exemplo, quando a resolução de captura e a resolução de codificação são inconsistentes, você pode definir o momento do dimensionamento para determinar se os dados de visualização e os dados publicados são consistentes.

Quando chamar

Chame este método antes de ligar a câmera, por exemplo, antes de iniciar uma visualização com startPreview ou entrar em um canal com joinChannel.

Parâmetros

Parâmetro

Tipo

Descrição

mode

AliRtcCapturePipelineScaleMode

O modo que controla o momento do dimensionamento da captura. O padrão é dimensionar imediatamente após a captura.

Valor de retorno

Nenhum.

setExternalVideoSource

Ativa uma source 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

Ativa uma source de entrada de vídeo externa. Valores válidos:

  • true: Ative.

  • false (padrão): Desative.

useTexture

boolean

Especifica se o modo de textura deve ser usado. Valores válidos:

  • true: Use.

  • false (padrão): Não use.

type

AliRtcVideoTrack

Tipo de stream de vídeo.

renderMode

AliRtcRenderMode

Modo de renderização.

pushExternalVideoFrame

Insere dados de vídeo.

public abstract int pushExternalVideoFrame(AliRtcRawDataFrame aliRawDataFrame,AliRtcVideoTrack streameType);

Parâmetros

Parâmetro

Tipo

Descrição

aliRawDataFrame

AliRtcRawDataFrame

Dados do frame.

streameType

AliRtcVideoTrack

Tipo de stream de vídeo.

Valor de retorno

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

startPublishLiveStream

Inicia a transmissão ao vivo por bypass.

public abstract int startPublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);

Parâmetros

Parâmetro

Tipo

Descrição

streamUrl

String

URL de ingestão.

transcodingParam

AliRtcLiveTranscodingParam

Parâmetros de ingestão.

Valor de retorno

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

updatePublishLiveStream

Atualiza 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

URL de ingestão.

transcodingParam

AliRtcLiveTranscodingParam

Parâmetros de ingestão.

Valor de retorno

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

stopPublishLiveStream

Interrompe a transmissão ao vivo por bypass.

public abstract int stopPublishLiveStream(String streamUrl);

Parâmetros

Parâmetro

Tipo

Descrição

streamUrl

String

URL de ingestão.

Valor de retorno

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

getPublishLiveStreamState

Obtém o status da transmissão ao vivo por bypass.

public abstract AliRtcEngine.AliRtcLiveTranscodingState getPublishLiveStreamState(String streamUrl);

Parâmetros

Parâmetro

Tipo

Descrição

streamUrl

String

URL de ingestão da transmissão ao vivo por bypass.

Valor de retorno

Retorna o status da transmissão ao vivo por bypass.

startNetworkQualityProbeTest

Inicia uma sondagem de qualidade de rede.

public abstract int startNetworkQualityProbeTest(AlirtcNetworkQualityProbeConfig config);

Parâmetros

Parâmetro

Tipo

Descrição

config

AlirtcNetworkQualityProbeConfig

Parâmetros de configuração da sondagem.

Valor de retorno

0: Sucesso. Outro: Falha.

stopNetworkQualityProbeTest

Interrompe uma sondagem de qualidade de rede.

public abstract int stopNetworkQualityProbeTest();

Valor de retorno

0: Sucesso. Outro: Falha.

sendMediaExtensionMsg

Envia uma mensagem de extensão de mídia.

public abstract int sendMediaExtensionMsg(byte[]message, int repeatCount, int delay, boolean isKeyFrame);

O SDK oferece a funcionalidade de enviar e receber mensagens de extensão de mídia. Este método envia mensagens de extensão de mídia usando o protocolo de extensão SEI. Os receptores podem obter as mensagens ouvindo onMediaExtensionMsgReceived.

Os cenários comuns incluem o seguinte:

  • Uso de mensagens de extensão de mídia para transmitir carimbos de data/hora a fim de calcular a latência de rede de ponta a ponta ou sincronizar dados com outros services de negócios.

  • Uso de mensagens de extensão de mídia para transmitir informações descritivas. Atualmente, até 4 KB de dados podem ser transmitidos, o que pode ser usado para transferir pequenas quantidades de dados. Recomendamos usar JSON ou strings simples.

Quando chamar

Chame este método após iniciar a publicação de um stream.

Limites

Ao usar mensagens de extensão de mídia, os canais de dados de áudio e vídeo são reutilizados. Portanto, você deve controlar a frequência de envio e o comprimento dos dados da mensagem. Os limites são os seguintes:

  • Você pode enviar no máximo fps mensagens por segundo, conforme definido no perfil. As informações SEI são transmitidas no stream H.264/H.265, e as informações de extensão só podem ser anexadas quando houver codificação de frame de vídeo.

  • Para evitar afetar a qualidade da transmissão de dados de mídia, o corpo da mensagem personalizada é limitado a 4 KB. Pode ser usado para transmitir pequenas quantidades de informações.

  • O parâmetro repeatCount na função sendMediaExtensionMsg é a redundância da mensagem personalizada. Se for maior que 1, a mensagem será enviada várias vezes.

  • Para evitar a perda de mensagens devido à perda de pacotes de rede, outras pessoas no canal também receberão a mesma mensagem várias vezes e precisarão remover as duplicatas.

  • Quando mensagens personalizadas são enviadas, os assinantes no canal também as receberão durante a transmissão ao vivo por bypass.

  • Apenas um MediaExtensionMsg pode ser transmitido por vez. Se você chamar sendMediaExtensionMsg várias vezes, os novos dados substituirão os dados anteriores.

Callbacks relacionados

Após a extremidade de publicação enviar uma mensagem de extensão de mídia, a extremidade de recepção pode obter a mensagem ouvindo o callback onMediaExtensionMsgReceived.

Parâmetros

Parâmetro

Tipo

Descrição

message

byte[]

Mensagem de extensão de mídia. O comprimento máximo é de 4 KB.

repeatCount

int

Número de repetições. Isso representa a redundância da mensagem para evitar a perda de mensagens devido à perda de pacotes de rede. -1 significa transmissão infinita.

delay

int

Atraso em milissegundos. O tempo mínimo em milissegundos para enviar a mensagem de extensão após a chamada da API.

isKeyFrame

boolean

Especifica se a mensagem de extensão deve ser usada apenas para keyframes. true significa que a mensagem de extensão é anexada apenas aos keyframes.

Valor de retorno

  • 0: Sucesso.

  • <0: Falha. Um código de erro é retornado.

    • ERR_INNER(-1): Erro interno do SDK. O SDK pode não ter sido inicializado ou foi chamado após ser destruído.

sendMediaExtensionMsgEx

Envia uma mensagem de extensão de mídia.

public abstract int sendMediaExtensionMsgEx(byte[]message, int repeatCount, int delay, boolean isKeyFrame, int payloadType);

O SDK oferece recursos para enviar e receber mensagens de extensão de mídia. Este método envia uma mensagem de extensão de mídia usando o protocolo de extensão SEI. O receptor pode obter a mensagem ouvindo onMediaExtensionMsgReceived. Quando payloadType é 5, isso equivale a usar o método sendMediaExtensionMsg.

Os cenários comuns incluem o seguinte:

  • Uso de mensagens de extensão de mídia para transmitir carimbos de data/hora a fim de calcular a latência de rede de ponta a ponta ou sincronizar dados com outros services de negócios.

  • Uso de mensagens de extensão de mídia para transmitir informações descritivas. Atualmente, até 4 KB de dados podem ser transmitidos, o que pode ser usado para transferir pequenas quantidades de dados. Recomendamos usar JSON ou strings simples.

Quando chamar

Chame este método após iniciar a publicação de um stream.

Limites

Ao usar mensagens de extensão de mídia, os canais de dados de áudio e vídeo são reutilizados. Portanto, você deve controlar a frequência de envio e o comprimento dos dados da mensagem. Os limites são os seguintes:

  • Você pode enviar no máximo fps mensagens por segundo, conforme definido no perfil. As informações SEI são transmitidas no stream H.264/H.265, e as informações de extensão só podem ser anexadas quando houver codificação de frame de vídeo.

  • Para evitar afetar a qualidade da transmissão de dados de mídia, o corpo da mensagem personalizada é limitado a 4 KB. Pode ser usado para transmitir pequenas quantidades de informações.

  • O parâmetro repeatCount na função sendMediaExtensionMsg é a redundância da mensagem personalizada. Se for maior que 1, a mensagem será enviada várias vezes.

  • Para evitar a perda de mensagens devido à perda de pacotes de rede, outras pessoas no canal também receberão a mesma mensagem várias vezes e precisarão remover as duplicatas.

  • Quando mensagens personalizadas são enviadas, os assinantes no canal também as receberão durante a transmissão ao vivo por bypass.

  • Apenas um MediaExtensionMsg pode ser transmitido por vez. Se você chamar sendMediaExtensionMsg várias vezes, os novos dados substituirão os dados anteriores.

Parâmetros

Parâmetro

Tipo

Descrição

message

byte[]

Mensagem de extensão de mídia. O comprimento máximo é de 4 KB.

repeatCount

int

Número de repetições. Isso representa a redundância da mensagem para evitar a perda de mensagens devido à perda de pacotes de rede. -1 significa transmissão infinita.

delay

int

Atraso em milissegundos. O tempo mínimo em milissegundos para enviar a mensagem de extensão após a chamada da API.

isKeyFrame

boolean

Especifica se a mensagem de extensão deve ser usada apenas para keyframes. true significa que a mensagem de extensão é anexada apenas aos keyframes.

payloadType

int

O intervalo é [5, 100..254]. payloadType=5 equivale a usar o método sendMediaExtensionMsg.

Valor de retorno

  • 0: Sucesso.

  • <0: Falha. Um código de erro é retornado.

    • ERR_INNER(-1): Erro interno do SDK. O SDK pode não ter sido inicializado ou foi chamado após ser destruído.

onConnectionStatusChange

Callback para alterações no status de conexão de rede. Você precisa lidar com este callback.

public void onConnectionStatusChange(AliRtcEngine.AliRtcConnectionStatus status,
 AliRtcEngine.AliRtcConnectionStatusChangeReason reason);

Parâmetros

Parâmetro

Tipo

Descrição

status

AliRtcConnectionStatus

Status atual da conexão de rede.

reason

AliRtcConnectionStatusChangeReason

Motivo da alteração do status de conexão de rede.

OnLocalDeviceException

Callback para exceções de dispositivo local. Você precisa lidar com 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

Tipo de exceção do dispositivo

msg

String

Informações transmitidas com a exceção.

onAuthInfoWillExpire

Notificação de que as informações de autenticação do usuário estão prestes a expirar. A autenticação expira 30 segundos após o recebimento deste callback. Você precisa lidar com este callback.

public void onAuthInfoWillExpire();

Este callback indica que as informações de autenticação do usuário estão prestes a expirar. A autenticação expira 30 segundos após o recebimento deste callback. Obtenha um novo token e, em seguida, atualize as informações de autenticação de uma das seguintes maneiras:

  • Chame <a baseurl="t2309760_v6_4_1.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#975b9af9ecq1a" id="8099ac5a509hn">refreshAuthInfo</a> e atualize 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.

Quando é acionado

O SDK aciona este callback 30 segundos antes de as informações de autenticação do usuário expirarem. Atualize as informações de autenticação prontamente após receber este callback.

onAuthInfoExpired

O servidor retorna que as informações expiraram quando o usuário chama uma interface que requer autenticação.

public void onAuthInfoExpired();

Este callback indica que as informações de autenticação do usuário expiraram. Se você quiser continuar na sessão, gere um novo token no servidor e, em seguida, atualize as informações de autenticação da seguinte forma:

  • 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 e, em seguida, chame joinChannel para entrar novamente no canal.

Quando é acionado

Este callback é acionado quando as informações de autenticação do usuário expiram.

onJoinChannelResult

Callback para 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 entrada no canal. Um valor de retorno 0 indica sucesso. Um código de erro é retornado em caso de falha. Para mais informações, consulte Error code list. A seguir estão alguns códigos de erro comuns:

  • ERR_JOIN_BAD_APPID: O AppId não existe.

  • ERR_JOIN_INVALID_APPID: O AppId expirou.

  • ERR_JOIN_BAD_CHANNEL: O canal não existe.

  • ERR_JOIN_INVALID_CHANNEL: O canal expirou.

  • ERR_JOIN_BAD_TOKEN: O token não existe.

  • ERR_JOIN_TIMEOUT: Tempo esgotado ao entrar no canal.

  • ERR_JOIN_BAD_PARAM: Parâmetro incorreto para entrar no canal.

  • ERR_JOIN_FAILED: Falha ao entrar no canal.

  • ERR_JOIN_CONFIG_INVALID: Parâmetro de entrada inválido, como um token vazio.

channel

String

ID do canal.

userId

String

ID do usuário.

elapsed

int

Tempo gasto para entrar no canal, em milissegundos.

onLeaveChannelResult

Callback para o resultado da saída de um canal.

public void onLeaveChannelResult(int result, AliRtcEngine.AliRtcStats stats);

Condição de acionamento

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 para sair do canal, este callback é acionado e retorna o resultado da saída do canal e as estatísticas desta sessão do canal.

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, em seguida, chamar imediatamente 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. 0 é retornado em caso de sucesso. Um código de erro é retornado em caso de falha.

stats

AliRtcStats

Um resumo das estatísticas de dados da sessão neste canal.

onRemoteUserOffLineNotify

Callback para quando um usuário remoto fica offline.

public void onRemoteUserOffLineNotify(String uid, AliRtcUserOfflineReason reason);

Este callback notifica o usuário local de que um usuário remoto saiu do canal por vários motivos. Este método é acionado quando um usuário remoto fica offline.

Condição de acionamento

  • O callback é acionado quando um usuário remoto sai ativamente do canal.

  • 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 para definir a função como AliRTCSdkLive), um callback é acionado.

  • O callback é acionado quando nenhum dado é recebido do streamer remoto por um longo período e o usuário é considerado desconectado.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário remoto.

reason

AliRtcUserOfflineReason

O motivo pelo qual o usuário ficou offline.

onRemoteUserOnLineNotify

Callback para quando um usuário remoto fica online.

public void onRemoteUserOnLineNotify(String uid, int elapsed);

Este método notifica o cliente local de que um usuário remoto entrou no canal.

Condição de acionamento

  • Um usuário remoto entra com sucesso no canal.

  • Após o usuário atual entrar no canal, ele recebe um callback de entrada para os usuários que já estão no canal, que é usado para exibir os usuários que entraram anteriormente.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário remoto.

elapsed

int

O tempo que o usuário levou para entrar no canal, em milissegundos.

onRemoteTrackAvailableNotify

Callback para quando o stream de áudio ou vídeo de um usuário remoto muda.

public void onRemoteTrackAvailableNotify(String uid, AliRtcAudioTrack audioTrack,
 AliRtcVideoTrack videoTrack);

Este callback é acionado quando o status de publicação de um usuário remoto muda. Com este callback, você pode saber em tempo real se um usuário remoto está publicando streams de áudio e vídeo e exibir ou ocultar as informações de áudio e vídeo do usuário remoto na interface de acordo.

Nota

Este callback retorna o status de publicação do usuário remoto. Para saber qual stream ficou offline nesta mudança, registre as alterações de status antes e depois do callback.

Condição de acionamento

Este callback é acionado nos seguintes cenários:

  • Quando um usuário remoto muda de não publicando para publicando (incluindo áudio e vídeo).

  • Quando um usuário remoto muda de publicando para não publicando (incluindo áudio e vídeo).

  • No modo interativo, quando um usuário remoto chama setClientRole para mudar de espectador para streamer e também define a publicação, este callback é acionado.

Tome o vídeo como exemplo. Suponha que o usuário remoto esteja definido para não publicar. Este callback não é acionado.

  • Se um usuário remoto começar a enviar um stream de câmera (Status de ingestão de stream: sem stream de vídeo -> apenas stream de câmera), o callback no cliente local retorna AliRtcVideoTrackCamera para indicar que o stream de câmera do usuário remoto está disponível.

  • Se o usuário remoto também enviar um stream de compartilhamento de tela (Status de ingestão de stream: Apenas stream de câmera -> Stream de câmera e stream de compartilhamento de tela), a extremidade local recebe o callback AliRtcVideoTrackBoth, indicando que tanto o stream de câmera quanto o de compartilhamento de tela do usuário remoto estão disponíveis.

  • Se o usuário remoto parar de enviar o stream de câmera e mantiver apenas o stream de compartilhamento de tela (Estado de ingestão de stream: Streams de câmera e compartilhamento de tela -> Apenas stream de compartilhamento de tela), o cliente local recebe o callback AliRtcVideoTrackScreen, indicando que apenas o stream de compartilhamento de tela está disponível no momento.

  • Se o usuário remoto também parar de enviar o stream de compartilhamento de tela (Status de ingestão de stream: Enviando apenas o stream de compartilhamento de tela -> Não enviando um stream de vídeo), o cliente local recebe o callback AliRtcVideoTrackNo, que indica que nenhum stream de vídeo está ativo no momento.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário remoto.

audioTrack

AliRtcAudioTrack

O stream de áudio após a mudança do usuário remoto.

videoTrack

AliRtcVideoTrack

O stream de vídeo após a mudança do usuário remoto.

onBye

Callback para quando o usuário é expulso do servidor ou o canal é fechado.

public void onBye(int code);

Quando um usuário é desconectado por qualquer motivo ou a reunião termina, este callback é acionado, permitindo que você use o parâmetro code do callback para determinar o motivo da desconexão e tomar as medidas apropriadas.

Condição de acionamento

  • O usuário atual é expulso do servidor.

  • A sessão termina (o servidor remove ativamente o canal).

  • Saída passiva. O cliente precisa tentar restaurar a sessão ou reconectar.

Parâmetros

Parâmetro

Tipo

Descrição

code

int

O tipo de onBye. Para mais informações, consulte AliRtcOnByeType.

onAudioPublishStateChanged

Callback para alterações no estado de publicação de áudio.

public void onAudioPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , 
 AliRtcEngine.AliRtcPublishState newState,
 int elapseSinceLastState, String channel);

Este callback monitora as alterações no status de publicação de áudio do usuário local.

Condição de acionamento

Quando o status de publicação de áudio do usuário é alterado, por exemplo:

  • A publicação é interrompida.

  • Chame <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 a função de espectador.

Parâmetros

Parameter

Type

Description

oldState

AliRtcPublishState

Status de publicação anterior.

newState

AliRtcPublishState

Status de publicação atual.

elapseSinceLastState

int

Intervalo de tempo desde a última alteração de estado, em milissegundos.

channel

String

ID do canal atual.

onAudioSubscribeStateChanged

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

public void onAudioSubscribeStateChanged(String uid,
 AliRtcEngine.AliRtcSubscribeState oldState,
 AliRtcEngine.AliRtcSubscribeState newState,
 int elapseSinceLastState, String channel);

Este callback notifica o usuário local quando o status de assinatura do fluxo de áudio de um usuário remoto é alterado. Por meio deste callback, é possível obter informações sobre a alteração no status de assinatura do fluxo de áudio de um usuário remoto específico e o intervalo de tempo entre o estado anterior e o estado atual.

Parâmetros

Parameter

Type

Description

uid

String

ID do usuário remoto.

oldState

AliRtcSubscribeState

Status de assinatura anterior.

newState

AliRtcSubscribeState

Status de assinatura atual.

elapseSinceLastState

int

Intervalo de tempo desde a última alteração de estado, em milissegundos.

channel

String

ID do canal atual.

onUserAudioMuted

Notificação de que o usuário remoto parou de enviar dados de áudio.

public void onUserAudioMuted(String uid ,boolean isMute);

Parâmetros

Parameter

Type

Description

uid

String

O usuário que executou muteAudio.

isMute

boolean

Especifica se o usuário está silenciado. Valores válidos:

  • true: Silenciado.

  • false: Não silenciado.

onUserAudioInterruptedBegin

Notificação de que o áudio de um usuário foi interrompido.

public void onUserAudioInterruptedBegin(String uid);

Parâmetros

Parameter

Type

Description

uid

String

O usuário cujo áudio foi interrompido.

onUserAudioInterruptedEnded

Notificação de que a interrupção do áudio de um usuário terminou.

public void onUserAudioInterruptedEnded(String uid);

Parâmetros

Parameter

Type

Description

uid

String

O usuário cujo áudio foi interrompido.

onVideoPublishStateChanged

Callback para alterações no estado de publicação de vídeo.

public void onVideoPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , 
 AliRtcEngine.AliRtcPublishState newState, 
 int elapseSinceLastState, String channel);

Este callback monitora as alterações no status de publicação de vídeo do usuário local.

Parâmetros

Parameter

Type

Description

oldState

AliRtcPublishState

Status de publicação anterior.

newState

AliRtcPublishState

Status de publicação atual.

elapseSinceLastState

int

Intervalo de tempo desde a última alteração de estado, em milissegundos.

channel

String

ID do canal atual.

onVideoSubscribeStateChanged

Callback para alterações no estado de assinatura do fluxo da câmera.

public void onVideoSubscribeStateChanged(String uid,
 AliRtcEngine.AliRtcSubscribeState oldState,
 AliRtcEngine.AliRtcSubscribeState newState,
 int elapseSinceLastState, String channel);

Este callback notifica o usuário local quando o status de assinatura do fluxo da câmera de um usuário remoto é alterado. Por meio deste callback, é possível obter informações sobre a alteração no status de assinatura do fluxo da câmera de um usuário remoto específico e o intervalo de tempo entre o estado anterior e o estado atual.

Callbacks relacionados

Os fluxos de vídeo consistem principalmente em fluxos de câmera e fluxos de compartilhamento de tela. Esta interface trata das alterações no estado de assinatura de um fluxo de câmera. A interface de callback relacionada para um fluxo de compartilhamento de tela é onScreenShareSubscribeStateChanged.

Parâmetros

Parameter

Type

Description

uid

String

ID do usuário remoto.

oldState

AliRtcSubscribeState

Status de assinatura anterior.

newState

AliRtcSubscribeState

Status de assinatura atual.

elapseSinceLastState

int

Intervalo de tempo desde a última alteração de estado.

channel

String

ID do canal atual.

onUserVideoMuted

Notificação de que o usuário remoto está enviando quadros de vídeo pretos.

public void onUserVideoMuted(String uid, boolean isMute);

Parâmetros

Parameter

Type

Description

uid

String

O usuário que executou enableLocalVideo.

isMute

boolean

Especifica se devem ser enviados quadros pretos. Valores válidos:

  • true: Publicar quadros pretos.

  • false: Publicar normalmente.

onUserVideoEnabled

Notificação de que o usuário remoto desativou a coleta do fluxo da câmera.

public void onUserVideoEnabled(String uid, boolean isMute);

Parâmetros

Parameter

Type

Description

uid

String

ID do usuário remoto.

isMute

boolean

Especifica se a coleta do fluxo da câmera está ativada. Valores válidos:

  • true: Ativar a coleta do fluxo da câmera.

  • false: Desativar a coleta do fluxo da câmera.

onUserWillResignActive

O aplicativo do usuário remoto foi movido para o plano de fundo.

public void onUserWillResignActive(String uid);

Parâmetros

Parameter

Type

Description

uid

String

ID do usuário.

onUserWillBecomeActive

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

public void onUserWillBecomeActive(String uid);

Parâmetros

Parameter

Type

Description

uid

String

ID do usuário.

onAliRtcStats

Callback para as estatísticas da sessão atual. O SDK aciona este callback a cada dois segundos.

public void onAliRtcStats(AliRtcEngine.AliRtcStats stats);

Parâmetros

Parameter

Type

Description

stats

AliRtcStats

Estatísticas da sessão.

onAudioEffectFinished

Callback para quando a reprodução do efeito sonoro local termina.

void OnAudioEffectFinished(int soundId);

Parâmetros

Parameter

Type

Description

soundId

int

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

onAudioFileInfo

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

public void  onAudioFileInfo(AliRtcEngine.AliRtcAudioFileInfo info, AliRtcEngine.AliRtcAudioAccompanyErrorCode errorCode);

Ao chamar getAudioFileInfo para obter informações do arquivo de áudio, este callback é acionado para mostrar a duração do arquivo de áudio e outras informações ou mensagens de erro.

Parâmetros

Parameter

Type

Description

info

AliRtcEngine.AliRtcAudioFileInfo

Informações sobre o arquivo de áudio, incluindo o caminho e a duração do arquivo.

errorCode

AliRtcEngine.AliRtcAudioAccompanyErrorCode

Código de erro do acompanhamento de áudio, principalmente para erros de abertura e decodificação de arquivo.

onMediaExtensionMsgReceived

Callback para o recebimento de uma mensagem de extensão de mídia.

public void onMediaExtensionMsgReceived(String uid, int payloadType, byte[]message);

Quando uma extremidade envia uma mensagem por meio de sendMediaExtensionMsg, as outras extremidades recebem os dados por meio deste callback.

Parâmetros

Parameter

Type

Description

uid

String

ID do usuário do remetente da mensagem de mídia.

payloadType

int

Tipo de payload. sendMediaExtensionMsg retorna 5. sendMediaExtensionMsgEx retorna o tipo específico.

message

byte[]

Mensagem de extensão de mídia.

onFirstRemoteVideoFrameDrawn

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

public void onFirstRemoteVideoFrameDrawn(String uid,AliRtcVideoTrack videoTrack, int width, int height, int elapsed);

Este é o callback para o primeiro quadro renderizado de um 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 a monitorar o tempo de configuração do link de vídeo remoto, avaliar o desempenho da rede e do dispositivo e otimizar a experiência do usuário.

Parâmetros

Parameter

Type

Description

uid

String

ID do usuário remoto.

videoTrack

AliRtcVideoTrack

Tipo de fluxo de vídeo recebido.

width

int

Largura do vídeo recebido.

height

int

Altura do vídeo recebido.

elapsed

int

O atraso total desde o momento em que o usuário local entra no canal até a exibição do primeiro quadro do vídeo recebido (em milissegundos).

onFirstLocalVideoFrameDrawn

Esta mensagem é acionada quando o primeiro quadro de vídeo é exibido na pré-visualização.

public void onFirstLocalVideoFrameDrawn(int width, int height, int elapsed);

Este é o callback para o primeiro quadro exibido na pré-visualização do vídeo local. Ele é acionado quando o primeiro quadro de vídeo local é renderizado após o usuário local ligar a câmera. Este callback ajuda a monitorar a velocidade de configuração da pré-visualização do 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 de pré-visualização).

Parâmetros

Parameter

Type

Description

width

int

Largura do vídeo de pré-visualização local.

height

int

Altura do vídeo de pré-visualização local.

elapsed

int

O atraso total desde o momento em que o usuário local entra no canal até a exibição do primeiro quadro da pré-visualização local (em milissegundos).

onFirstVideoFrameReceived

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

public void onFirstVideoFrameReceived(String uid, AliRtcVideoTrack videoTrack, int timeCost);

Este é o callback para o recebimento do primeiro quadro de um vídeo remoto. Ele é acionado quando o usuário local recebe com sucesso o primeiro quadro de vídeo de um usuário remoto. Este callback ajuda a monitorar o tempo de configuração do link de vídeo, avaliar a qualidade da rede e otimizar a experiência do usuário (como exibir uma mensagem de "Vídeo pronto" ou ajustar a lógica de reprodução).

Parâmetros

Parameter

Type

Description

uid

String

ID do usuário remoto.

videoTrack

AliRtcVideoTrack

Tipo de fluxo de vídeo recebido.

timeCost

int

Custo de tempo de envio. O tempo desde a entrada no canal até o envio do primeiro pacote de vídeo (em milissegundos).

onFirstVideoPacketSent

Callback para o primeiro pacote de vídeo enviado.

public void onFirstVideoPacketSent(String uid, AliRtcVideoTrack videoTrack, int timeCost);

Este é o callback para o primeiro pacote de vídeo local enviado. Ele é acionado quando o usuário local envia com sucesso o primeiro pacote de dados de vídeo. Este callback ajuda a monitorar a velocidade de configuração do link de envio de vídeo, avaliar o desempenho do dispositivo local e otimizar a experiência do usuário (como exibir uma mensagem de "Vídeo enviado" ou ajustar a política de coleta).

Parâmetros

Parameter

Type

Description

uid

String

ID do usuário remoto.

videoTrack

AliRtcVideoTrack

Tipo de fluxo de vídeo recebido.

timeCost

int

Custo de tempo de envio. O tempo desde a entrada no canal até o envio do primeiro pacote de vídeo (em milissegundos).

onFirstAudioPacketSent

Callback para o primeiro pacote de áudio enviado.

public void onFirstAudioPacketSent(String uid, AliRtcAudioTrack track, int timeCost);

Este é o callback para o primeiro pacote de áudio local enviado. Ele é acionado quando o usuário local envia com sucesso o primeiro pacote de dados de áudio. Este callback ajuda a monitorar a velocidade de configuração do link de envio de áudio, avaliar o desempenho do dispositivo e do sistema local e otimizar a experiência do usuário.

Parâmetros

Parameter

Type

Description

uid

String

ID do usuário remoto.

track

AliRtcAudioTrack

Tipo de fluxo de áudio recebido.

timeCost

int

Custo de tempo de envio. O tempo desde a entrada no canal até o envio do primeiro pacote de áudio (em milissegundos).

onFirstVideoPacketReceived

Callback para o primeiro pacote de vídeo recebido.

public void onFirstVideoPacketReceived(String uid, AliRtcVideoTrack videoTrack, int timeCost)

Este é o callback para o primeiro pacote de vídeo remoto recebido. Ele é acionado quando o usuário local recebe o primeiro pacote de dados de vídeo de um usuário remoto. Você pode usar este callback para monitorar a velocidade de configuração do link de vídeo ou atualizar os componentes de UI do fluxo de reprodução.

Parâmetros

Parameter

Type

Description

uid

String

ID do usuário remoto.

videoTrack

AliRtcVideoTrack

Tipo de fluxo de vídeo recebido.

timeCost

int

O tempo desde o momento em que o usuário local entra no canal até o recebimento do primeiro pacote de vídeo (em milissegundos).

onFirstAudioPacketReceived

Callback para o primeiro pacote de áudio recebido.

public void onFirstAudioPacketReceived(String uid, AliRtcAudioTrack track, int timeCost)

Este é o callback para o primeiro pacote de áudio remoto recebido. Ele é acionado quando o usuário local recebe o primeiro pacote de dados de áudio de um usuário remoto. Este callback ajuda a monitorar a velocidade de configuração do link de áudio, avaliar a qualidade da rede e otimizar a experiência do usuário (como exibir uma mensagem de "Áudio conectado" ou ajustar a política de reprodução).

Parâmetros

Parameter

Type

Description

uid

String

ID do usuário remoto.

track

AliRtcAudioTrack

Tipo de fluxo de áudio recebido.

timeCost

int

O tempo desde o momento em que o usuário local entra no canal até o recebimento do primeiro pacote de áudio (em milissegundos).

onFirstRemoteAudioDecoded

Callback para o primeiro quadro de áudio remoto decodificado.

public void onFirstRemoteAudioDecoded(String uid, AliRtcAudioTrack track, int elapsed)

Este é o callback para o primeiro quadro decodificado de um fluxo de áudio remoto recebido. Ele notifica que o fluxo de áudio do usuário remoto foi decodificado com sucesso e pode ser reproduzido normalmente. Você pode usar este callback para medir o tempo do primeiro quadro ou atualizar os componentes de UI do fluxo de reprodução.

Parâmetros

Parameter

Type

Description

uid

String

ID do usuário remoto.

track

AliRtcAudioTrack

Tipo de fluxo de áudio recebido.

elapsed

int

O atraso desde o momento em que o usuário local entra no canal até a decodificação do primeiro quadro de áudio (em milissegundos).

onAudioAccompanyStateChanged

Callback para o estado de reprodução do acompanhamento local.

public void onAudioAccompanyStateChanged(AliRtcEngine.AliRtcAudioAccompanyStateCode playState, AliRtcEngine.AliRtcAudioAccompanyErrorCode errorCode);

Este é o callback para alterações no estado de reprodução do acompanhamento local. Ele notifica em tempo real o estado atual de reprodução do acompanhamento (como início, pausa, fim) e quaisquer códigos de erro possíveis. Você pode usar este callback para monitorar o progresso da reprodução, lidar com exceções e atualizar a interface do usuário.

Parâmetros

Parameter

Type

Description

playState

AliRtcEngine.AliRtcAudioAccompanyStateCode

Estado de reprodução do acompanhamento.

errorCode

AliRtcEngine.AliRtcAudioAccompanyErrorCode

Código de erro de reprodução, principalmente para erros de abertura e decodificação de arquivo.

onRemoteAudioAccompanyStarted

Callback para quando o acompanhamento de um usuário remoto começa a ser reproduzido.

public void onRemoteAudioAccompanyStarted(String uid);

Este é o callback para quando o acompanhamento de áudio de um usuário remoto (como música de fundo) começa a ser reproduzido. Ele notifica o aplicativo local. Você pode usar este callback para executar a lógica de inicialização (como atualizar a UI, ajustar o volume ou notificar outros usuários).

Parâmetros

Parameter

Type

Description

uid

String

O ID do usuário remoto cujo acompanhamento começou a ser reproduzido.

onRemoteAudioAccompanyFinished

Callback para quando o acompanhamento de um usuário remoto termina de ser reproduzido.

public void onRemoteAudioAccompanyFinished(String uid);

Este é o callback para quando o acompanhamento de áudio de um usuário remoto (como música de fundo ou efeitos sonoros) termina de ser reproduzido. Ele notifica o aplicativo local. Você pode usar este callback para executar a lógica subsequente (como notificar os usuários ou atualizar o status).

Parâmetros

Parameter

Type

Description

uid

String

O ID do usuário remoto cujo acompanhamento terminou de ser reproduzido.

onVideoResolutionChanged

Alterações na resolução do vídeo remoto.

public void onVideoResolutionChanged(String uid,AliRtcVideoTrack videoTrack, int width, int height);

Este é o callback de notificação para alterações na resolução do vídeo remoto. Ele é acionado quando a resolução do fluxo de vídeo de um usuário remoto é alterada (como troca de câmeras, ajuste de definição ou queda de resolução devido a flutuações na rede). Você pode usar este callback para ajustar dinamicamente a lógica de renderização de vídeo local (como layout da UI, dimensionamento da tela ou otimização de desempenho).

Parâmetros

Parameter

Type

Description

uid

String

O ID do usuário remoto cuja resolução foi alterada.

videoTrack

AliRtcVideoTrack

Tipo de fluxo de vídeo, como fluxo de câmera ou fluxo de tela.

width

int

Nova largura de resolução do vídeo.

height

int

Nova altura de resolução do vídeo.

onRtcLocalVideoStats

Estatísticas de dados do fluxo de vídeo local publicado.

public void onRtcLocalVideoStats(AliRtcEngine.AliRtcLocalVideoStats aliRtcStats);

Este é o callback para estatísticas de dados do fluxo de vídeo local. Ele é usado para obter o status de codificação e transmissão em tempo real do vídeo local (como taxa de bits e taxa de quadros). Você pode usar este callback para monitorar a qualidade do vídeo, diagnosticar problemas de desempenho ou ajustar dinamicamente os parâmetros de codificação.

Parâmetros

Parameter

Type

Description

aliRtcStats

AliRtcEngine.AliRtcLocalVideoStats

Estatísticas do vídeo publicado localmente, incluindo taxa de bits de publicação, taxa de quadros e outras informações. Para mais informações, consulte AliRtcLocalVideoStats.

onRtcRemoteVideoStats

Estatísticas de dados do fluxo de vídeo remoto assinado.

public void onRtcRemoteVideoStats(AliRtcEngine.AliRtcRemoteVideoStats aliRtcStats);

Este é o callback para estatísticas de dados do fluxo de vídeo remoto recebido. Ele é usado para obter o status de codificação e transmissão em tempo real do vídeo remoto (como taxa de bits, taxa de quadros, resolução, latência e travamentos). Você pode 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

Parameter

Type

Description

aliRtcStats

AliRtcEngine.AliRtcRemoteVideoStats

Estatísticas do vídeo remoto recebido, incluindo ID do usuário remoto, resolução do vídeo, taxa de quadros, número de travamentos e outras informações. Para mais informações, consulte AliRtcRemoteVideoStats.

onRtcRemoteAudioStats

Estatísticas de dados do fluxo de áudio remoto assinado.

public void onRtcRemoteAudioStats(AliRtcEngine.AliRtcRemoteAudioStats aliRtcStats);

Este é o callback para estatísticas de dados do fluxo de áudio remoto assinado. Ele é usado para obter o status da qualidade de áudio em tempo real dos usuários remotos (como qualidade de áudio, taxa de perda de pacotes e latência). Você pode usar este callback para monitorar a estabilidade do link de áudio remoto, diagnosticar problemas de rede e ajustar dinamicamente as políticas de reprodução (como ativar a redução de ruído ou solicitar que os usuários otimizem sua rede).

Parâmetros

Parameter

Type

Description

aliRtcStats

AliRtcEngine.AliRtcRemoteAudioStats

Estatísticas do áudio remoto recebido, incluindo ID do usuário remoto, qualidade de áudio, taxa de perda de pacotes, número de travamentos, latência e outras informações. Para mais informações, consulte AliRtcRemoteAudioStats.

onRtcLocalAudioStats

Estatísticas de dados do fluxo de áudio local publicado.

public void onRtcLocalAudioStats(AliRtcEngine.AliRtcLocalAudioStats aliRtcStats);

Este é o callback para estatísticas de dados de publicação de áudio local. Ele é usado para obter o status de codificação e transmissão em tempo real do áudio local (como taxa de bits, taxa de amostragem, número de canais e taxa de perda de pacotes). Você pode usar este callback para monitorar a estabilidade do link de áudio local, diagnosticar problemas de desempenho e ajustar dinamicamente as políticas de codificação (como reduzir a taxa de bits).

Parâmetros

Parameter

Type

Description

aliRtcStats

AliRtcEngine.AliRtcLocalAudioStats

Estatísticas do áudio publicado localmente, incluindo tipo de fluxo de áudio, taxa de bits de envio, taxa de amostragem de envio e número de canais. Para mais informações, consulte AliRtcLocalAudioStats.

onAudioFocusChange

Callback para alterações de foco de áudio (apenas Android).

public void onAudioFocusChange(int focusChange);

Notificação dos resultados da alteração de foco de áudio. O SDK solicita o foco de áudio automaticamente por padrão. Se o foco de áudio for usado externamente novamente, será necessário solicitá-lo novamente no callback recebido do SDK.

Momento da notificação

Acionado quando o status do dispositivo de saída de áudio é alterado (como inserir/remover fones de ouvido, trocar dispositivos Bluetooth ou alternar entre o auricular e o alto-falante).

Parâmetros

Parameter

Type

Description

focusChange

int

Tipo de status de foco. O valor é o mesmo que a definição de tipo de foco em android.media.AudioManager.

onAudioRouteChanged

Callback para alterações de rota de áudio (apenas Android e iOS).

public void onAudioRouteChanged(AliRtcEngine.AliRtcAudioRouteType routing);

Este é o callback de notificação para alterações na rota de áudio. Ele é usado para detectar alterações no caminho de saída de áudio do dispositivo (como a inserção de fones de ouvido ou a troca de alto-falante). Este callback é apenas para Android e iOS. Você pode usar este callback para ajustar dinamicamente as políticas de saída de áudio (como alternar os modos do microfone ou ajustar o volume).

Parâmetros

Parameter

Type

Description

routing

AliRtcEngine.AliRtcAudioRouteType

A rota de áudio atualmente em uso.

onRemoteUserSubscribedDataChannel

Callback que indica que você pode começar a enviar mensagens do canal de dados.

public void onRemoteUserSubscribedDataChannel(String uid);

Este é o callback acionado quando um usuário remoto assina o Data Channel. Este callback notifica o usuário local de que o usuário remoto especificado está pronto para receber mensagens personalizadas. Você pode então chamar sendDataChannelMsg com segurança para enviar dados a ele. Este callback é um mecanismo fundamental para garantir a entrega confiável de mensagens, evitando perda de pacotes ou falhas ao enviar mensagens para um usuário que ainda não assinou o Data Channel.

Nota

Este callback é acionado apenas em cenários de IA Conversacional em Tempo Real.

Parâmetros

Parameter

Type

Description

uid

String

ID do usuário remoto.

onDataChannelMessage

Callback para o recebimento de uma mensagem personalizada do canal de dados.

public void onDataChannelMessage(String uid, AliRtcEngine.AliRtcDataChannelMsg msg);

O ARTC SDK fornece a capacidade de enviar e receber mensagens personalizadas, permitindo o envio de dados de mensagens personalizadas em tempo real durante a transmissão de dados de áudio e vídeo. Este callback é usado para receber mensagens personalizadas do canal de dados. Para mais informações, consulte Send and receive custom messages.

Nota
  • Em cenários interativos, os streamers podem enviar e receber mensagens, enquanto os espectadores podem apenas receber mensagens.

  • Este recurso é desativado por padrão. Para ativá-lo, chame setParameter com {\"data\":{\"enablePubDataChannel\":true" + ",\"enableSubDataChannel\":true}} após criar o engine.

Quando é acionado

Depois que o 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

Parameter

Type

Description

uid

String

ID do usuário remetente.

msg

AliRtcEngine.AliRtcDataChannelMsg

A mensagem personalizada recebida.

onAudioVolume

Volume de áudio, status de voz e UID dos usuários assinados.

public void onAudioVolume(List<AliRtcEngine.AliRtcAudioVolume> speakers, int totalVolume);

Este callback é desativado por padrão. Para ativá-lo, chame a API <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, o SDK o aciona no intervalo definido em <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="e5e0d330423ax">enableAudioVolumeIndication</a> depois que você entra em um canal com usuários enviando streams, fornecendo informações de volume dos alto-falantes locais e remotos.

Parâmetros

Parâmetro

Tipo

Descrição

speakers

List<AliRtcEngine.AliRtcAudioVolume>

Uma matriz de informações de volume do usuário, incluindo uid do usuário, status de voz e volume.

  • Quando o uid é 0, indica o alto-falante local.

  • Quando o uid é 1, indica o volume mixado de todos os usuários remotos.

  • Outros valores indicam as informações de volume do uid do usuário remoto especificado.

totalVolume

int

O volume total após a mixagem. O intervalo é [0, 255].

No callback do usuário local, totalVolume é o volume após a mixagem para o usuário local. No callback do usuário remoto, totalVolume é o volume total após a mixagem para todos os alto-falantes.

onActiveSpeaker

Callback para o alto-falante atual.

public void OnActiveSpeaker(String uid);

Após a chamada bem-sucedida de <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 o usuário remoto com o volume mais alto e conta o número de vezes que esse usuário é identificado como o alto-falante 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ção de acionamento

Quando o número de usuários no canal é maior ou igual a 2 e há um usuário remoto ativo, o SDK aciona este callback e relata o uid do usuário remoto mais ativo.

  • Se o usuário remoto mais ativo permanecer o mesmo, o SDK não acionará o callback onActiveSpeaker novamente.

  • Se o usuário remoto mais ativo mudar, o SDK aciona este callback novamente e relata o uid do novo usuário remoto mais ativo.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

O uid do alto-falante. Quando o uid é 0, indica o alto-falante local. Retorna o ID do usuário com o som mais alto no período de tempo atual, e não o usuário com o som instantâneo mais alto.

OnTestAudioVolume

Teste pré-chamada. Callback para informações de volume.

public void OnTestAudioVolume(int volume);

Este callback fornece as informações de volume do dispositivo de captura de áudio local durante um teste pré-chamada, que você pode usar para verificar se o dispositivo está funcionando corretamente. Ele é acionado quando você chama startAudioCaptureTest para realizar um teste de dispositivo de áudio pré-chamada.

Parâmetros

Parâmetro

Tipo

Descrição

volume

int

Valor do volume.

onCapturedAudioFrame

Callback para dados de áudio brutos capturados.

boolean onCapturedAudioFrame(AliRtcAudioFrame frame);

Este callback obtém os dados de áudio brutos coletados pelo dispositivo atual. Ele é desativado por padrão. Para obter esses dados de áudio:

  • Ative este callback usando o parâmetro audioSource em enableAudioFrameObserver(true,audioSource,config). O parâmetro config também pode ser usado para definir 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 o objeto receptor de dados de áudio.

Nota

Esta interface suporta a definição da taxa de amostragem, número de canais e modo de leitura/gravação.

Limites

Não execute operações demoradas nesta função de callback. Caso contrário, podem ocorrer anormalidades no som.

Parâmetros

Parâmetro

Tipo

Descrição

frame

AliRtcAudioFrame

Dados de áudio.

Valor de retorno

  • true: Sucesso.

  • false: Falha.

onProcessCapturedAudioFrame

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

boolean onProcessCapturedAudioFrame(AliRtcAudioFrame frame);

Este callback obtém os dados de áudio após o processamento 3A. Ele é desativado por padrão. Para obter esses dados de áudio:

  • Ative este callback por meio do audioSource em enableAudioFrameObserver(true,audioSource,config). O parâmetro config também pode definir 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 o objeto receptor de dados de áudio.

Nota

Esta interface suporta a definição da taxa de amostragem, número de canais e modo de leitura/gravação.

Limites

Não execute operações demoradas nesta função de callback. Caso contrário, podem ocorrer anormalidades no som.

Parâmetros

Parâmetro

Tipo

Descrição

frame

AliRtcAudioFrame

Dados de áudio.

Valor de retorno

  • true: Sucesso.

  • false: Falha.

onPublishAudioFrame

Callback para dados de áudio de ingestão.

boolean onPublishAudioFrame(AliRtcAudioFrame frame);

Este callback obtém os dados de áudio publicados. Ele é desativado por padrão. Para obter esses dados de áudio:

  • Ative este callback usando o parâmetro audioSource em enableAudioFrameObserver(true,audioSource,config). Além disso, o parâmetro config permite definir a taxa de amostragem, o número de canais de som e o modo de leitura/gravação para os dados de áudio recuperados.

  • Chame registerAudioFrameObserver para registrar o objeto receptor de dados de áudio.

Nota

Esta interface suporta a definição da taxa de amostragem e do número de canais, mas só pode ser configurada para o modo somente leitura.

Limites

Não execute operações demoradas nesta função de callback. Caso contrário, podem ocorrer anormalidades no som.

Parâmetros

Parâmetro

Tipo

Descrição

frame

AliRtcAudioFrame

Dados de áudio.

Valor de retorno

  • true: Sucesso.

  • false: Falha.

onPlaybackAudioFrame

Callback para dados de reprodução.

boolean onPlaybackAudioFrame(AliRtcAudioFrame frame);

Este callback obtém os dados de áudio de reprodução. Ele é desativado por padrão. Para obter esses dados de áudio:

  • Ative este callback por meio do audioSource em enableAudioFrameObserver(true,audioSource,config). O parâmetro config também pode definir 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 o objeto receptor de dados de áudio.

Nota

Esta interface suporta a definição da taxa de amostragem, número de canais e modo de leitura/gravação.

Limites

Não execute operações demoradas nesta função de callback. Caso contrário, podem ocorrer anormalidades no som.

Parâmetros

Parâmetro

Tipo

Descrição

frame

AliRtcAudioFrame

Dados de áudio.

Valor de retorno

  • true: Sucesso.

  • false: Falha.

onRemoteUserAudioFrame

Callback para dados de pull de stream remoto.

boolean onRemoteUserAudioFrame(String uid, AliRtcAudioFrame frame);

Este callback obtém os dados de áudio remoto via pull de um usuário especificado. Ele é desativado por padrão. Para obter esses dados de áudio:

  • Ative este callback por meio do audioSource em enableAudioFrameObserver(true,audioSource,config). O parâmetro config também pode definir a taxa de amostragem, o número de canais e o modo de leitura/gravação para os dados de áudio.

  • Chame registerAudioFrameObserver para registrar o objeto receptor de dados de áudio.

Nota

Esta interface não suporta a definição da taxa de amostragem ou do número de canais, mas você pode definir o modo de leitura/gravação.

Limites

Não execute operações demoradas nesta função de callback. Caso contrário, podem ocorrer anormalidades no som.

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário.

frame

AliRtcAudioFrame

Dados de áudio.

Valor de retorno

  • true: Sucesso.

  • false: Falha.

OnDestroyCompletion

Callback para conclusão da destruição do mecanismo.

void OnDestroyCompletion();

Este callback indica que a instância do mecanismo do SDK foi destruída e uma nova pode ser criada.

Quando é acionado

Quando você chama destroy[2/2], este callback é acionado após a destruição do mecanismo.

onTextureCreate

Callback para criação de contexto OpenGL.

void onTextureCreate(long context);
Nota

Este callback é acionado quando o contexto OpenGL interno do SDK é criado.

Condição de acionamento

Este callback é acionado quando o contexto OpenGL interno do SDK é criado. Você pode inicializar os recursos relacionados.

Parâmetros

Parâmetro

Tipo

Descrição

context

long

Contexto OpenGL.

onTextureUpdate

Callback para atualizações de textura OpenGL.

int onTextureUpdate(int textureId, int width, int height, AliRtcVideoSample videoSample);

Condição de acionamento

Este callback é acionado após o upload de cada quadro de vídeo para a textura OpenGL. Quando um observador de dados de textura OpenGL externo é registrado, você pode processar a textura neste callback e retornar o ID da textura processada.

Parâmetros

Parâmetro

Tipo

Descriçã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.

Valor de retorno

Retorna um novo ID de textura ou o ID de textura antigo. Se um valor menor que 0 for retornado, considera-se que o ID da textura não foi atualizado.

onTextureDestroy

void onTextureDestroy();

Condição de acionamento

Este callback é acionado quando o contexto OpenGL interno do SDK é destruído. Você pode limpar os recursos relacionados.

onLocalVideoSample

Callback para dados de vídeo capturados localmente e inscritos.

public boolean onLocalVideoSample(AliRtcVideoSourceType sourceType, AliRtcVideoSample videoSample);

Este é o callback para obter dados de coleta de vídeo local. Ele é usado para obter os quadros de vídeo brutos (como dados YUV) coletados pela câmera local. Você pode usar este callback para implementar lógica de processamento de vídeo personalizada (como adição de filtros, marcas d'água ou transcodificação) e decidir se deve retornar os dados processados ao SDK para codificação ou renderização subsequente. Para enviar o vídeo processado ao SDK, retorne true.

Quando é acionado

Após chamar com sucesso <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="22a5a6bd53c77">registerVideoSampleObserver</a> para registrar um observador de dados de vídeo, um callback é acionado quando o SDK captura o quadro de vídeo correspondente.

Parâmetros

Parâmetro

Tipo

Descrição

sourceType

AliRtcVideoSourceType

Tipo de fonte de vídeo.

videoSample

AliRtcVideoSample

Dados de vídeo.

Valor de retorno

  • true: Precisa ser gravado de volta no SDK (o padrão é gravar de volta; deve ser gravado de volta ao operar em AliRtcVideoSample.data).

  • false: Não precisa ser gravado de volta no SDK (usado ao operar diretamente em AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU e AliRtcVideoSample.dataFrameV).

onPreEncodeVideoSample

Callback para dados de vídeo locais de pré-codificação inscritos.

public boolean onPreEncodeVideoSample(AliRtcVideoSourceType sourceType, AliRtcVideoSample videoRawData);

Este é o callback para obter dados de vídeo locais de pré-codificação. Ele é usado para obter os dados de vídeo brutos (como formato YUV) antes que o SDK codifique o quadro de vídeo. Você pode usar este callback para implementar lógica de processamento personalizada (como adição de marcas d'água, ajuste de cores ou transcodificação) e decidir se deve retornar os dados processados ao SDK para codificação subsequente.

Parâmetros

Parâmetro

Tipo

Descrição

sourceType

AliRtcVideoSourceType

Tipo de stream de vídeo.

videoRawData

AliRtcVideoSample

Dados de vídeo brutos.

Valor de retorno

  • true: Precisa ser gravado de volta no SDK (o padrão é gravar de volta; deve ser gravado de volta ao operar em AliRtcVideoSample.data).

  • false: Não precisa ser gravado de volta no SDK (usado ao operar diretamente em AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU e AliRtcVideoSample.dataFrameV).

onRemoteVideoSample

Callback para dados de vídeo remotos inscritos.

public boolean onRemoteVideoSample(String callId,AliRtcVideoSourceType sourceType, AliRtcVideoSample videoSample);

Este é o callback para obter dados de vídeo remotos inscritos. Ele é usado para obter os dados brutos do quadro de vídeo (como formato YUV) de um usuário remoto. Você pode usar este callback para implementar lógica de processamento personalizada (como adição de filtros, marcas d'água ou transcodificação) e decidir se deve 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 stream de vídeo.

videoSample

AliRtcVideoSample

Dados de vídeo brutos.

Valor de retorno

  • true: Precisa ser gravado de volta no SDK (o padrão é gravar de volta; deve ser gravado de volta ao operar em AliRtcVideoSample.data).

  • false: Não precisa ser gravado de volta no SDK (usado ao operar diretamente em AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU e AliRtcVideoSample.dataFrameV).

onGetVideoFormatPreference

Formato de saída dos dados de vídeo.

public AliRtcVideoFormat onGetVideoFormatPreference();

Valor de retorno

O formato de saída de vídeo desejado.

onGetObservedFramePosition

Conteúdo de saída dos dados de vídeo.

public int onGetObservedFramePosition();

Este é o callback para obter o conteúdo ou tipo de saída dos dados de vídeo. Você pode usar este callback para obter o estágio de processamento do quadro de vídeo de saída do SDK (como após a coleta, antes da codificação ou após o pull).

Valor de retorno

O conteúdo de saída de vídeo desejado. O tipo é um valor de enumeração de AliRtcVideoObserPosition, representando dados coletados, dados via pull ou dados de pré-codificação.

onPublishLiveStreamStateChanged

Callback para alterações de estado de publicação de stream de bypass.

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 de transmissão ao vivo de bypass.

errorCode

AliEngineLiveTranscodingErrorCode

Código de erro.

onPublishTaskStateChanged

Callback para alterações de estado de tarefa de bypass.

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 publicação de transmissão ao vivo de bypass.

onNetworkQualityChanged

Callback para alterações na qualidade da rede.

public void onNetworkQualityChanged(String uid, AliRtcNetworkQuality upQuality, AliRtcNetworkQuality downQuality);

Parâmetros

Parâmetro

Tipo

Descrição

uid

String

ID do usuário. Quando vazio, indica o status da rede de uplink e downlink do usuário local.

upQuality

AliRtcNetworkQuality

Status da rede de uplink.

downQuality

AliRtcNetworkQuality

Status da rede de downlink.

onNetworkQualityProbeTest

Callback para uma sondagem de qualidade de rede. Este callback é fornecido cerca de 3 segundos após o início da sondagem.

public void onNetworkQualityProbeTest(AliRtcNetworkQuality quality){}

Parâmetros

Parâmetro

Tipo

Descrição

quality

AliRtcNetworkQuality

Qualidade da rede.

onNetworkQualityProbeTestResult

Callback para o resultado de uma sondagem de qualidade de rede. Este callback é fornecido cerca de 30 segundos após o início da sondagem.

public void onNetworkQualityProbeTestResult(int code, AliRtcEngine.AlirtcNetworkQualityProbeResult result){}

Parâmetros

Parâmetro

Tipo

Descrição

code

int

Valor de retorno. 0 indica que a sondagem foi bem-sucedida. -1 indica que a sondagem falhou e a conexão foi perdida devido a condições de rede ruins.

result

AlirtcNetworkQualityProbeResult

Qualidade da rede.

onSnapshotComplete

Interface de callback para resultados de snapshot.

public void onSnapshotComplete(String userId, AliRtcVideoTrack trackType, Bitmap bitmap, boolean success)

Esta interface notifica você sobre o resultado e os detalhes do snapshot.

Parâmetros

Parâmetro

Tipo

Descrição

userId

String

ID do usuário. Se userId for nulo ou "", significa um snapshot do usuário local.

trackType

AliRtcVideoTrack

Tipo de stream de vídeo do snapshot.

bitmap

Bitmap

Dados do snapshot.

success

boolean

Se o snapshot foi bem-sucedido.

onScreenSharePublishStateChanged

Callback para alterações no estado de publicação de compartilhamento de tela.

public void onScreenSharePublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , AliRtcEngine.AliRtcPublishState newState, int elapseSinceLastState, String channel)

Este callback é uma notificação para alterações no estado de publicação de compartilhamento de tela. Ele é acionado quando o estado de publicação de compartilhamento de tela muda.

Parâmetros

Parâmetro

Tipo

Descrição

oldState

AliRtcEngine.AliRtcPublishState

O estado antigo antes da alteração do estado de publicação.

newState

AliRtcEngine.AliRtcPublishState

O novo estado após a alteração do estado de publicação.

elapseSinceLastState

int

Intervalo de tempo desde a última alteração de estado (em milissegundos).

channel

String

O nome do canal atual.

onScreenShareSubscribeStateChanged

Callback para alterações no estado de inscrição de stream de compartilhamento de tela.

public void onScreenShareSubscribeStateChanged(String uid,
                                                    AliRtcEngine.AliRtcSubscribeState oldState,
                                                    AliRtcEngine.AliRtcSubscribeState newState,
                                                    int elapseSinceLastState, String channel);

Este callback é uma notificação para alterações no estado de inscrição de stream de compartilhamento de tela. Ele é acionado quando o status de inscrição do usuário atual em um stream 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 inscrição anterior.

newState

AliRtcEngine.AliRtcSubscribeState

Status de inscrição atual.

elapseSinceLastState

int

Intervalo de tempo desde a última alteração de estado (em milissegundos).

channel

String

Canal atual.

onOccurError

Notificação de erro.

public void onOccurError(int error, String message);

Este é o callback de notificação de erro global para o ARTC SDK. Ele notifica a camada da aplicação quando ocorre um erro grave no mecanismo interno do SDK. Você pode usar este callback para obter o código de erro e a mensagem de erro para tratamento de exceções, registro de logs ou avisos ao usuário.

Parâmetros

Parâmetro

Tipo

Descrição

error

int

Tipo de erro. Consulte a lista de códigos de erro.

message

String

Mensagem de erro.

OnLocalAudioStateChanged

Callback para o status do dispositivo de áudio local.

public void OnLocalAudioStateChanged(int state);

Este callback é acionado quando o status do dispositivo de coleta de áudio local muda. Por exemplo, quando você chama startAudioCapture para iniciar a coleta de áudio ou chama stopAudioCapture para pará-la.

Parâmetros

Parâmetro

Tipo

Descrição

state

int

  • 0: Não criado.

  • 1: Coletando.

  • 2: Fechando a coleta.

  • 3: Coleta fechada.

setParameter

Define parâmetros personalizados.

public abstract int setParameter(String param);

Parâmetros

Parâmetro

Tipo

Descrição

param

String

Parâmetros personalizados.

getParameter

Obtém parâmetros personalizados.

public abstract String getParameter(String param);

Parâmetros

Parâmetro

Tipo

Descrição

param

String

Parâmetros personalizados.

registerAudioVolumeObserver

Registra um objeto de saída de dados de volume.

public abstract void registerAudioVolumeObserver(AliRtcAudioVolumeObserver observer);

Esta interface registra um objeto usado para exportar dados de volume. Para cancelar o registro, chame unRegisterAudioVolumeObserver.

Quando chamar

  • Quando precisar 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 este método para registrar o objeto que recebe os dados relevantes.

  • Se você chamar <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#ae07dc986abf3" id="29e92857a5iv8">startAudioCaptureTest</a> para testar seu dispositivo de áudio antes de entrar em uma reunião, poderá 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 receptor de dados de volume.

unRegisterAudioVolumeObserver

Cancela o registro de um objeto de saída de dados de volume.

public abstract void unRegisterAudioVolumeObserver();

Este método corresponde a registerAudioVolumeObserver e é usado para cancelar o registro do objeto de saída para dados de volume de áudio.

Quando chamar

Se você registrou um objeto para receber dados de áudio chamando registerAudioVolumeObserver, chame este método para cancelar o registro do objeto.

enableAudioFrameObserver

Define os parâmetros de callback de áudio.

public abstract int  enableAudioFrameObserver(boolean enable, AliRtcAudioSource audioSource, AliRtcAudioFrameObserverConfig config);

Este método ativa ou desativa o callback de dados de áudio para um tipo especificado, permitindo que você obtenha vários dados de áudio brutos e codificados. Ele é 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ê precisa usar o método registerAudioFrameObserver para passar um objeto para receber os dados de áudio.

Quando chamar

Você pode chamar este método para ativá-lo quando precisar obter dados de áudio.

Parâmetros

Parâmetro

Tipo

Descrição

enable

boolean

Especifica se deve permitir callbacks de dados de áudio.

audioSource

AliRtcAudioSource

Tipo de fonte de dados do callback, incluindo após a coleta (0), após 3A (1), publicação (2), reprodução (3), após mixagem de publicação e reprodução (4) e dados de áudio via pull (5).

Nota
  • Os dados de áudio de ingestão e os dados de áudio mixados de ingestão e reprodução suportam apenas o modo somente leitura (ReadOnly).

  • Os dados de áudio via pull não suportam a modificação de parâmetros de áudio, como taxa de amostragem e número de canais.

config

AliRtcAudioFrameObserverConfig

Configurações de parâmetros de callback de áudio, incluindo taxa de amostragem, número de canais e modo de leitura/gravação do callback (somente leitura, somente gravação, leitura e gravação). Se o parâmetro for nulo, o padrão é (48000, 1, ReadOnly).

Valor de retorno

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

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

registerAudioFrameObserver

Registra um callback de dados de áudio.

public abstract void registerAudioFrameObserver(AliRtcAudioFrameObserver observer);

Este método registra o objeto receptor para dados de callback de áudio.

Quando chamar

Quando você precisar que o SDK acione os callbacks onCapturedAudioFrame, onProcessCapturedAudioFrame, onPublishAudioFrame, onPlaybackAudioFrame ou onRemoteUserAudioFrame para obter vários tipos de dados de áudio, chame este método para fornecer um objeto receptor de dados de áudio. Para cancelar o registro, chame este método novamente e passe null.

Limites

Chame enableAudioFrameObserver para ativar o callback do AliRtcAudioSource específico. Caso contrário, o observer passado não obterá dados.

Parâmetros

Parâmetro

Tipo

Descrição

observer

AliRtcAudioFrameObserver

Instância do objeto receptor de callback de dados de áudio. Passar null cancela o registro.

registerVideoSampleObserver

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

public abstract void registerVideoSampleObserver(AliVideoObserver observer);

Use esta API para registrar o objeto de saída para dados de vídeo. Para cancelar o registro, chame a API unRegisterVideoSampleObserver.

Quando chamar

Para obter dados brutos (como nos formatos YUV ou RGBA), chame este método para registrar um observer de dados de vídeo e obter esses dados em várias etapas. AliRtcVideoObserver é a classe observer de dados de vídeo.

Callbacks relacionados

Após registrar com sucesso um observer de saída de dados de vídeo, o SDK aciona os callbacks que você implementou na interface AliRtcVideoObserver ao capturar cada quadro de vídeo. Implemente os callbacks correspondentes de acordo com as necessidades do seu negócio:

Parâmetros

Parâmetro

Tipo

Descrição

observer

AliRtcVideoObserver

Objeto de saída de dados de vídeo.

Valor de retorno

Os dados de saída são retornados por meio do callback AliVideoObserver.

unRegisterVideoSampleObserver

Cancela o registro de um objeto de saída de dados de vídeo.

public abstract void unRegisterVideoSampleObserver();

Esta API corresponde à API <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="dcf635790da7v">registerVideoSampleObserver</a> e cancela o registro do objeto de saída de dados de vídeo.

registerLocalVideoTextureObserver

Registra um observer de dados de textura OpenGL para o vídeo do fluxo de câmera local.

public abstract void registerLocalVideoTextureObserver(AliTextureObserver observer);

Se quiser obter dados brutos de vídeo, chame a interface <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="4f1f5a423ch4j">registerVideoSampleObserver</a> para registrar o callback correspondente. Para obter dados de textura internos, chame esta interface. Para cancelar o registro, chame a interface unRegisterLocalVideoTextureObserver.

Nota

Este método é válido apenas para o vídeo do fluxo de câmera local.

Callbacks relacionados

Após registrar com sucesso um observer de dados de textura OpenGL para o vídeo do fluxo de câmera local, o SDK aciona os callbacks implementados na interface AliRtcTextureObserver ao capturar cada quadro de vídeo. Implemente os callbacks correspondentes de acordo com as necessidades do seu negócio:

  • onTextureCreate: Este callback é acionado quando o contexto OpenGL interno do SDK é criado.

  • onTextureUpdate: Este callback é acionado após o upload de cada quadro de vídeo para a textura OpenGL. Quando um observer externo de dados de textura OpenGL é registrado, você pode processar a textura neste callback e retornar o ID da textura processada. O valor de retorno deste callback deve ser um ID de textura válido. Se não realizar nenhum processamento, retorne o parâmetro textureId.

  • onTextureDestroy: Este callback é acionado quando o contexto OpenGL interno do SDK é destruído.

Parâmetros

Parâmetro

Tipo

Descrição

observer

AliRtcTextureObserver

Observer de dados de textura OpenGL.

Valor de retorno

Os dados de saída são retornados por meio do callback AliVideoObserver.

unRegisterLocalVideoTextureObserver

Cancela o registro do observer de dados de textura OpenGL para o vídeo do fluxo de câmera local.

public abstract void unRegisterLocalVideoTextureObserver();

Este método corresponde a registerLocalVideoTextureObserver e cancela o registro do observer.

snapshotVideo

Recurso de snapshot de vídeo.

public abstract int snapshotVideo(String userId, AliRtcVideoTrack trackType);

Chame este método para tirar um snapshot do fluxo de vídeo especificado de um usuário específico.

Limites

Esta é uma operação assíncrona. Quando a chamada retorna 0, significa que a chamada do método foi bem-sucedida, mas o SDK ainda não tirou o snapshot de fato.

Callbacks relacionados

Após chamar este método com sucesso, monitore o callback onSnapshotComplete para obter o resultado e os detalhes da captura de tela.

Parâmetros

Parâmetro

Tipo

Descrição

userId

String

ID do usuário. Se userId for null ou "", significa um snapshot do usuário local.

trackType

AliRtcVideoTrack

Tipo de fluxo de vídeo. Indica de qual fluxo tirar o snapshot. Há suporte apenas para o seguinte:

  • AliRtcVideoTrackCamera: Fluxo de câmera.

  • AliRtcVideoTrackScreen: Fluxo de compartilhamento de tela.

Valor de retorno

  • 0: A chamada do método foi bem-sucedida. O sucesso do snapshot é informado pelo callback onSnapshotComplete.

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

setLogDirPath

Define o caminho de salvamento dos arquivos de log do SDK.

public static int setLogDirPath(String logDirPath);

Parâmetros

Parâmetro

Tipo

Descrição

logDirPath

String

O caminho absoluto para salvar os arquivos de log. Caminho padrão: dentro do diretório do aplicativo.

Valor de retorno

0 indica que a chamada do método foi bem-sucedida. Um valor diferente de zero indica falha. Nota: Para chamar este método, defina-o antes de chamar qualquer outro método do SDK para evitar perda de log. O aplicativo deve garantir que o caminho especificado exista e tenha permissão de gravação.

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 exibição do vídeo.

Limites

Apenas Android e iOS possuem esta interface.

Parâmetros

Parâmetro

Tipo

Descrição

mode

AliRtcOrientationMode

Orientação do dispositivo.

Valor de retorno

Nenhum.

requestAudioFocus

Solicita o foco de áudio.

public abstract int requestAudioFocus();

Quando chamar

Quando o SDK é iniciado, ele solicita o foco de áudio internamente. Geralmente, não é necessário solicitar o foco de áudio ativamente. Se você tiver chamado abandonAudioFocus ativamente, chame este método para restaurar o foco de áudio.

Limites

Apenas para Android.

Parâmetros

Nenhum.

Valor de retorno

  • 0: Falha.

  • 1: Sucesso.

abandonAudioFocus

Abandona o foco de áudio.

public abstract int abandonAudioFocus();

Quando chamar

Durante o processo de destruição do SDK, este método é chamado internamente para liberar o foco de áudio. Em alguns cenários, talvez seja necessário liberar o foco de áudio ativamente. Chame este método para fazer isso. Após liberar o foco de áudio, alguns dispositivos podem ficar sem som ou com volume baixo durante a reprodução. Para restaurar o áudio, chame requestAudioFocus.

Limites

Apenas para Android.

Valor de retorno

  • 0: Falha.

  • 1: Sucesso.

getNetworkTime

Obtém a hora atual da rede.

public abstract long getNetworkTime();

Este método obtém a hora atual da rede (o timestamp atual após a calibração NTP e considerando o deslocamento de tempo), em ms.

Quando chamar

Ao realizar a sincronização de comportamento em múltiplos dispositivos, obtenha a hora da rede sincronizada como linha de base para calibrar a hora atual.

Valor de retorno

A hora atual do Network Time Protocol (NTP) (em milissegundos).

sendDataChannelMsg

Envia uma mensagem personalizada de canal de dados.

public abstract int sendDataChannelMsg(AliRtcDataChannelMsg Msg);

O ARTC SDK oferece a capacidade de enviar e receber mensagens personalizadas, permitindo o envio de dados de mensagens personalizadas em tempo real durante a transmissão de dados de áudio e vídeo. Chame este método para transmitir instruções de controle em tempo real, dados de sincronização de estado ou outras mensagens de negócio junto com o áudio e o vídeo. Para mais informações, consulte Send and receive custom messages.

Nota
  • O canal de mensagens personalizadas é desativado por padrão. Para ativar este recurso, chame a interface setParameter e defina o parâmetro como "{\"data\":{\"enablePubDataChannel\":true" + ",\"enableSubDataChannel\":true}}". Você pode fazer isso antes ou depois de entrar em um canal.

  • A mensagem pode ser qualquer dado (como texto).

Callbacks relacionados

  • Após o remetente ativar com sucesso um canal de mensagens personalizadas, ele pode chamar este método para enviar uma mensagem personalizada. O destinatário recebe a mensagem personalizada ao escutar o callback onDataChannelMessage.

Limites

  • Os streamers podem enviar e receber mensagens. Os espectadores só podem receber mensagens.

  • É necessário chamar setParameter para ativar o canal de mensagens personalizadas.

  • O envio de dados é limitado a:

    • Uma taxa de bits máxima de 30 KB/s.

    • O canal de dados pode enviar no máximo 60 pacotes de dados por segundo, com cada pacote contendo até 1 KB.

Parâmetros

Parâmetro

Tipo

Descrição

Msg

AliRtcDataChannelMsg

Conteúdo da mensagem.

Valor de retorno

  • 0: Sucesso.

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

startScreenShare

Importante

Esta interface será descontinuada. Recomendamos o uso da nova interface startScreenShare.

Inicia o compartilhamento da tela e do fluxo de áudio.

public abstract int startScreenShare(Intent intent);

Parâmetros

Nome

Descrição

intent

Uma Activity criada externamente para iniciar o compartilhamento de tela. Se não for criada externamente, passe null. Recomendamos passar null.

Valor de retorno

  • 0: Sucesso.

  • Outro: Falha.

startScreenShare

Importante

Esta interface será descontinuada. Recomendamos o uso da nova interface startScreenShare.

Inicia o compartilhamento de tela.

public abstract int startScreenShare();

Valor de retorno

  • 0: Sucesso.

  • Outro: 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 não for criada externamente, passe null. Recomendamos passar null.

screenShareMode

Tipo de compartilhamento de tela. Para mais informações, consulte AliRtcScreenShareMode.

Valor de retorno

  • 0: Sucesso.

  • Outro: Falha.

stopScreenShare

Interrompe o fluxo de compartilhamento de tela, incluindo o fluxo de áudio compartilhado.

public abstract int stopScreenShare();

Valor de retorno

  • 0: Sucesso.

  • Outro: Falha.

setAudioShareVolume

Define o volume do fluxo de áudio compartilhado.

public abstract int setAudioShareVolume(int volume);

Parâmetros

Nome

Descrição

volume

Nível de volume.

O intervalo é [0, 100]. O valor padrão é 50.

Valor de retorno

  • 0: Sucesso.

  • Outro: Falha.

isScreenSharePublished

Consulta se o fluxo de compartilhamento de tela está sendo publicado.

public abstract boolean isScreenSharePublished();

Valor de retorno

  • true: O compartilhamento de tela está sendo publicado.

  • false: O compartilhamento de tela não está sendo publicado.

setScreenShareEncoderConfiguration

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

public abstract void setScreenShareEncoderConfiguration(AliRtcScreenShareEncoderConfiguration config);

Este método define os parâmetros de vídeo para as propriedades de codificação de vídeo do fluxo de tela, como resolução, taxa de quadros, taxa de bits e orientação do vídeo.

Nota

Todos os parâmetros definidos possuem limites de intervalo correspondentes. Se um parâmetro definido estiver fora do intervalo válido, o SDK o ajustará automaticamente. Portanto, a configuração real pode ser diferente da sua configuração.

Quando chamar

Chame este método antes ou depois de entrar em um canal. Se você precisar definir as propriedades de codificação de vídeo do fluxo de tela apenas uma vez por sessão, recomendamos chamá-lo antes de entrar no canal.

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 para o SDK. Ele afeta principalmente o destino para relatórios de log e transmissão de dados de instrumentação:

  • Quando definido para o ambiente doméstico, os logs e os dados de instrumentação são relatados para data centers na china continental.

  • Quando definido para o ambiente externo, os dados são roteados para data centers fora da china, como em Singapore.

Quando chamar

Recomendamos chamar este método no início da inicialização do aplicativo, como no método onCreate() da classe Application.

Limites

  • Esta configuração é global e só precisa ser chamada uma vez.

  • Múltiplas chamadas sobrescreverão a configuração de ambiente anterior, mas podem afetar conexões estabelecidas ou estados de sessão. Não altere dinamicamente durante a execução.

Exemplo

AlivcEnv.GlobalEnv env = ENV_DEFAULT; // For overseas environments, use ENV_SEA
AlivcBase.getEnvironmentManager().setGlobalEnvironment(env);

Parâmetros

Parâmetro

Tipo

Descrição

env

GlobalEnv

Especifica o ambiente global. Valores de enumeração suportados:• ENV_DEFAULT: Ambiente doméstico.• ENV_SEA: Ambiente externo (como Singapore).

Valor de retornoRetorna um código de resultado do tipo int:

  • 0: Indica sucesso.

  • Um valor diferente de 0 indica falha.