com.opentok.android.SubscriberKit
Todas as interfaces implementadas:
: Observer
Subclasses diretas conhecidas:
: Subscriber
classe pública SubscriberKit estende Objeto implementa Observador
Um objeto SubscriberKit (assinante) renderiza dados de mídia vinculados a um Stream
A classe SubscriberKit permite definir um renderizador de vídeo personalizado para o fluxo de vídeo.
Crie uma subclasse de SubscriberKit se tiver interesse em fornecer sua própria
implementação de processamento e renderização de vídeo. Caso contrário, use o Subscriber classe,
que inclui um processador de vídeo e um renderizador já integrados.
A propriedade stream faz referência ao stream que você assinou. A classe SubscriberKit inclui métodos que permitem desativar e ativar a reprodução local de áudio e vídeo para o stream assinado.
Resumo das classes aninhadas
Classes aninhadas
Modificador e Tipo
Classe
Descrição
static interface
SubscriberKit.AudioLevelListener
Monitora as variações no nível de áudio do assinante.
static interface
SubscriberKit.AudioStatsListener
Define o objeto ouvinte para obter estatísticas de áudio dos assinantes.
static class
SubscriberKit.Builder
Usado para construir um SubscriberKit objeto.
static interface
SubscriberKit.CaptionsListener
Um ouvinte para o texto atualizado das legendas.
static interface
SubscriberKit.MediaLinkStatsListener
Define o objeto ouvinte para obter estatísticas de links de mídia dos assinantes, incluindo métricas no nível de transporte e alterações nas condições da rede.
static class
SubscriberKit.SenderStats
Representa as estatísticas de vídeo informadas pelo remetente, como estimativas de taxa de bits.
static interface
SubscriberKit.StreamListener
Monitora quando o stream do assinante é interrompido e retomado.
static class
SubscriberKit.SubscriberAudioStats
Define as estatísticas de áudio de um assinante.
static interface
SubscriberKit.SubscriberListener
Monitora as mudanças de estado de um SubscriberKit instância.
static class
SubscriberKit.SubscriberMediaLinkStats
Fornece estatísticas de links de mídia dos assinantes, incluindo métricas de transporte locais e remotas e informações sobre a degradação da rede.
static interface
SubscriberKit.SubscriberRtcStatsReportListener
Define o objeto ouvinte para receber relatórios de estatísticas de RTC dos assinantes.
static class
SubscriberKit.SubscriberVideoStats
Define as estatísticas de vídeo de um assinante.
static interface
SubscriberKit.VideoListener
Monitora quando o assinante começa e para de receber dados de vídeo.
static interface
SubscriberKit.VideoStatsListener
Define o objeto ouvinte para obter estatísticas de vídeo dos assinantes.
Resumo do campo
Campos
Modificador e Tipo
Campo
Descrição
protected SubscriberKit.AudioLevelListener
audioLevelListener
protected SubscriberKit.AudioStatsListener
audioStatsListener
protected SubscriberKit.CaptionsListener
captionsListener
protected SubscriberKit.MediaLinkStatsListener
mediaLinkStatsListener
static final String
NETWORK_REASON_NETWORK_CONDITION_CHANGE
Indica que a condição da rede do participante local ou remoto mudou.
static final float
NO_PREFERRED_FRAMERATE
Define um valor de reinicialização a ser passado para o setPreferredFrameRate(float preferredFrameRate) método.
static final VideoUtils.Size
NO_PREFERRED_RESOLUTION
Define um valor de reinicialização a ser passado para o setPreferredResolution(VideoUtils.Size preferredResolution)
método.
protected BaseVideoRenderer
renderer
protected SubscriberKit.SubscriberRtcStatsReportListener
rtcStatsReportListener
protected Session
session
protected Stream
stream
protected SubscriberKit.StreamListener
streamListener
protected SubscriberKit.SubscriberListener
subscriberListener
static final String
VIDEO_REASON_CODEC_CHANGE
O codec de vídeo da transmissão foi alterado.
static final String
VIDEO_REASON_CODEC_NOT_SUPPORTED
O problema com o vídeo ocorreu porque o vídeo na transmissão do assinante foi desativado, já que a transmissão utiliza um codec de vídeo (como o H.264) não compatível com o dispositivo.
static final String
VIDEO_REASON_INTERRUPTION
A transmissão de vídeo foi interrompida.
static final String
VIDEO_REASON_NONE
static final String
VIDEO_REASON_PUBLISH_VIDEO
O evento de vídeo foi causado pelo fato de o editor da transmissão ter iniciado ou interrompido a transmissão de vídeo.
static final String
VIDEO_REASON_QUALITY
O problema com o vídeo foi causado por uma alteração na qualidade do stream de vídeo.
static final String
VIDEO_REASON_RESOLUTION_CHANGE
A resolução da transmissão mudou.
static final String
VIDEO_REASON_SUBSCRIBE_TO_VIDEO
O evento de vídeo foi causado por uma chamada para o
setSubscribeToVideo(boolean subscribeToVideo)
método.
protected SubscriberKit.VideoListener
videoListener
protected SubscriberKit.VideoStatsListener
videoStatsListener
Resumo do Construtor
Construtores
Modificador
Construtor
Descrição
protected
SubscriberKit(SubscriberKit.Builder builder)
Resumo do método
Todos os métodosMétodos de instânciaMétodos concretosMétodos obsoletos
Modificador e Tipo
Método
Descrição
protected void
attachToSession(Session session)
void
destroy()
Obsoleto.
protected void
detachFromSession(Session session)
protected void
finalize()
É chamado pelo coletor de lixo em um objeto SubscriberKit quando a coleta de lixo determina que não há mais referências ao objeto.
double
getAudioVolume()
Retorna o volume de áudio, entre 0 e 100, do assinante.
String
getCaptionsTranslationLanguage()
Obtém o idioma de tradução das legendas configurado para este assinante.
float
getPreferredFrameRate()
Retorna a taxa de quadros preferencial para o stream do assinante.
VideoUtils.Size
getPreferredResolution()
Retorna a resolução preferencial para o stream do assinante.
BaseVideoRenderer
getRenderer()
Retorna o renderizador de vídeo para este assinante.
void
getRtcStatsReport()
Obtém o relatório de estatísticas do RTC para o assinante.
Session
getSession()
Retorna o Session que o assinante está obrigado a (ao ligar
para o connect() método do objeto Session).
Stream
getStream()
Retorna o Stream ao qual essa instância está vinculada.
boolean
getSubscribeToAudio()
Se o assinante está assinando o conteúdo de áudio ou não.
boolean
getSubscribeToCaptions()
Se o assinante está assinando as legendas ou não.
boolean
getSubscribeToVideo()
Se o assinante está assinando o conteúdo de áudio ou não.
android.view.View
getView()
Retorna o objeto `android.view.View` que contém o vídeo do Assinante.
protected void
onAudioDisabled()
É chamado quando o áudio do stream do assinante é desativado
protected void
onAudioEnabled()
É chamado quando o stream do assinante tem o áudio ativado.
protected void
onAudioLevelUpdated(float audioLevel)
protected void
onCaptionText(String text, boolean isFinal)
protected void
onConnected()
É acionado quando a instância se conecta com sucesso ao stream e começa a reproduzir a mídia.
protected void
onDisconnected()
Obsoleto.
protected void
onError(OpentokError error)
É acionado quando um assinante não consegue se conectar ao servidor OpenTok.
void
onPause()
Não ligue diretamente; ligue para Session.onPause() em vez disso.
void
onResume()
Não ligue diretamente; ligue para Session.onResume() em vez disso.
protected void
onRtcStatsReport(String jsonArrayOfReports)
É chamado quando o relatório de estatísticas RTC do assinante fica disponível em resposta a uma
chamada para getRtcStatsReport().
protected void
onStreamDisconnected()
É chamado quando o fluxo do assinante é interrompido.
protected void
onStreamReconnected()
É chamado quando o fluxo do assinante é retomado, após o
onStreamDisconnected() o método é chamado.
protected void
onVideoDataReceived()
É acionado quando um assinante recebe dados de vídeo pela primeira vez.
protected void
onVideoDisabled(String reason)
É chamado quando o assinante deixa de receber o vídeo.
protected void
onVideoDisableWarning()
É chamado quando o OpenTok Media Router determina que a qualidade da transmissão se deteriorou e que o vídeo será desativado caso a qualidade continue a se deteriorar.
protected void
onVideoDisableWarningLifted()
É chamado quando o OpenTok Media Router determina que a qualidade da transmissão melhorou a ponto de o vídeo que está sendo desativado não representar um risco imediato.
protected void
onVideoEnabled(String reason)
É chamado quando a transmissão de vídeo do assinante é iniciada (quando anteriormente não havia vídeo) ou retomada (após o vídeo ter sido desativado).
void
setAudioLevelListener(SubscriberKit.AudioLevelListener listener)
Vincula um SubscriberKit.AudioLevelListener a esta instância do SubscriberKit para monitorar
as atualizações do nível de áudio.
void
setAudioStatsListener(SubscriberKit.AudioStatsListener listener)
Configura um ouvinte para as estatísticas de áudio do assinante.
void
setAudioVolume(double volume)
Define o volume do áudio do assinante, em um intervalo entre 0 e 100.
void
setCaptionsListener(SubscriberKit.CaptionsListener listener)
Associa um SubscriberKit.CaptionsListener a esta instância do SubscriberKit para receber legendas.
void
setCaptionsTranslationLanguage(String language)
Define o idioma preferencial para a tradução das legendas desse assinante.
void
setMediaLinkStatsListener(SubscriberKit.MediaLinkStatsListener listener)
Configura um ouvinte para as estatísticas de links de mídia dos assinantes.
void
setPreferredFrameRate(float preferredFrameRate)
Define a taxa de quadros preferencial para o stream do assinante.
void
setPreferredResolution(VideoUtils.Size preferredResolution)
Define a resolução preferencial para o stream do assinante.
void
setRenderer(BaseVideoRenderer renderer)
Obsoleto.
void
setRtcStatsReportListener(SubscriberKit.SubscriberRtcStatsReportListener listener)
Define o ouvinte do relatório de estatísticas do RTC para o assinante.
void
setStreamListener(SubscriberKit.StreamListener listener)
Configura um ouvinte para eventos relacionados à interrupção e ao retomada do fluxo do assinante.
void
setStyle(String key, String value)
Defina um estilo usado por este assinante.
void
setSubscriberListener(SubscriberKit.SubscriberListener listener)
Define um SubscriberKit.SubscriberListener objeto para monitorar mudanças de estado.
void
setSubscribeToAudio(boolean subscribeToAudio)
Se deseja assinar o áudio do stream (true) ou não (false).
void
setSubscribeToCaptions(boolean subscribeToCaptions)
Se deseja ativar as legendas da transmissão (true) ou não (false)..
void
setSubscribeToVideo(boolean subscribeToVideo)
Se deseja se inscrever no canal de vídeo (true) ou não (false).
void
setVideoListener(SubscriberKit.VideoListener listener)
Define um SubscriberKit.VideoListener objeto para monitorar quando o assinante começa
e para de receber vídeo.
void
setVideoStatsListener(SubscriberKit.VideoStatsListener listener)
Configura um ouvinte para as estatísticas de vídeo do assinante.
void
update(Observable o, Object arg)
Obsoleto.
Métodos herdados da classe java.lang.Objeto
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Detalhes do campo
VÍDEO_MOTIVO_NENHUM
público estático final String VÍDEO_MOTIVO_NENHUM
Veja também: : - [Valores de campo constantes]
VÍDEO_MOTIVO_PUBLICAÇÃO_VÍDEO
público estático final String VÍDEO_MOTIVO_PUBLICAÇÃO_DO_VÍDEO
O evento de vídeo foi causado pelo fato de o editor da transmissão ter iniciado ou interrompido a transmissão de vídeo. Essa sequência de caracteres é um valor para a propriedade “reason” do
Veja também:
: - method.
- method.
- [Valores constantes do campo]
VÍDEO_MOTIVO_PARA_ASSINAR_O_VÍDEO
público estático final String VÍDEO_MOTIVO_PARA_ASSINAR_O_VÍDEO
O evento de vídeo foi causado por uma chamada para o
setSubscribeToVideo(boolean subscribeToVideo)
método.
Veja também:
: - SubscriberKit.VideoListener.onVideoDisabled(SubscriberKit, String)
- SubscriberKit.VideoListener.onVideoEnabled(SubscriberKit, String)
- [Valores constantes do campo]
VÍDEO_MOTIVO_QUALIDADE
público estático final String VÍDEO_MOTIVO_QUALIDADE
O problema no vídeo foi causado por uma alteração na qualidade do stream de vídeo. A qualidade do stream pode variar devido às condições da rede ou ao uso da CPU tanto no lado do assinante quanto no do provedor.
Quando ativado, o recurso de fallback de áudio gera um evento quando o assinante
perde o fluxo de vídeo devido à degradação da qualidade do vídeo, resultando no
SubscriberKit.VideoListener.onVideoDisabled(SubscriberKit, String) método que está
sendo chamado.
Quando as condições melhorarem, a transmissão de vídeo será retomada, e o
SubscriberKit.VideoListener.onVideoEnabled(SubscriberKit, String) O método é
chamado.
Quando o fluxo de vídeo é interrompido, o assinante continua recebendo o fluxo de áudio, caso haja um.
Em sessões roteadas, a origem desse evento pode ser o Vonage Video
Media Router (Fallback de áudio do assinante) ou o cliente de publicação
(Fallback de áudio do editor). Quando a origem é o cliente de publicação,
o evento é seguido por um
Session.StreamPropertiesListener.onStreamHasVideoChanged(Session, Stream, boolean)
callback disparado pelo objeto de sessão, indicando que o
canal de vídeo assinado não está mais ativo. Em geral, esse evento adicional
indica uma degradação da rede no lado do editor; no entanto,
as métricas relatadas pelo assinante podem influenciar as decisões de fallback do editor,
o que pode complicar a determinação da origem exata da degradação.
Em sessões retransmitidas, o evento “quality” é acionado exclusivamente devido à lógica interna de fallback de áudio do editor (Publisher Audio Fallback). Esse evento não é seguido por nenhuma chamada de retorno indicando que o vídeo está inativo, pois o stream ainda pode ser recebido por outros assinantes com melhores condições de rede. Observe que, em sessões retransmitidas, embora os eventos de fallback de áudio se originem do emissor, a degradação da rede pode ocorrer tanto no lado do emissor quanto no lado do assinante.
Veja também:
: - method.
- method.
- [Valores constantes do campo]
VÍDEO_MOTIVO_CODEC_NÃO_COMPATÍVEL
público estático final String VÍDEO_MOTIVO_CODEC_NÃO_COMPATÍVEL
O problema com o vídeo ocorreu porque o vídeo na transmissão do assinante foi desativado, já que a transmissão utiliza um codec de vídeo (como o H.264) não compatível com o dispositivo.
Veja também: : - [Valores de campo constantes]
VÍDEO_MOTIVO_INTERRUPÇÃO
público estático final String VÍDEO_MOTIVO_INTERRUPÇÃO
A transmissão de vídeo foi interrompida.
Veja também: : - [Valores de campo constantes]
VÍDEO_MOTIVO_ALTERAÇÃO_DA_RESOLUÇÃO
público estático final String VÍDEO_MOTIVO_ALTERAÇÃO_DA_RESOLUÇÃO
A resolução da transmissão mudou.
Veja também: : - [Valores de campo constantes]
MOTIVO_DA_MUDANÇA_DE_CODEC_DO_VÍDEO
público estático final String MOTIVO_DA_MUDANÇA_DE_CODEC_DO_VÍDEO
O codec de vídeo da transmissão foi alterado.
Veja também: : - [Valores de campo constantes]
MOTIVO_DE_REDE_ALTERAÇÃO_NAS_CONDIÇÕES_DE_REDE
público estático final String MOTIVO_DE_REDE_ALTERAÇÃO_NAS_CONDIÇÕES_DE_REDE
Indica que a condição de rede do participante local ou remoto mudou. Este evento é acionado quando é detectada uma mudança significativa na condição de rede do emissor ou do assinante.
Veja também: : - [Valores de campo constantes]
NO_PREFERRED_RESOLUTION
público estático final VideoUtils.Size NO_PREFERRED_RESOLUTION
Define um valor de reinicialização a ser passado para o setPreferredResolution(VideoUtils.Size preferredResolution)
método. Passe esse valor para redefinir o assinante de modo que ele não tenha uma resolução preferencial.
O assinante utilizará a resolução máxima disponível, com base nas condições.
Isso se aplica apenas a transmissões publicadas usando o recurso de vídeo escalável .
NO_PREFERRED_FRAMERATE
public static final float NO_PREFERRED_FRAMERATE
Define um valor de reinicialização a ser passado para o setPreferredFrameRate(float preferredFrameRate) método. Passe
esse valor para redefinir o assinante de modo que ele não tenha uma taxa de quadros preferencial. O assinante
utilizará a taxa de quadros máxima disponível, de acordo com as condições.
Isso se aplica apenas a transmissões publicadas usando o recurso de vídeo escalável.
Veja também: : - [Valores de campo constantes]
videoStatsListener
protegido SubscriberKit.VideoStatsListener videoStatsListener
audioStatsListener
protegido SubscriberKit.AudioStatsListener audioStatsListener
mediaLinkStatsListener
protegido SubscriberKit.MediaLinkStatsListener mediaLinkStatsListener
subscriberListener
protegido SubscriberKit.SubscriberListener subscriberListener
rtcStatsReportListener
protegido SubscriberKit.SubscriberRtcStatsReportListener rtcStatsReportListener
videoListener
protegido SubscriberKit.VideoListener videoListener
audioLevelListener
protegido SubscriberKit.AudioLevelListener audioLevelListener
captionsListener
protegido SubscriberKit.CaptionsListener captionsListener
streamListener
protegido SubscriberKit.StreamListener streamListener
sessão
protegido Sessão sessão
renderizador
protegido BaseVideoRenderer renderizador
fluxo
protegido Transmissão transmissão
Detalhes do construtor
SubscriberKit
protected SubscriberKit(SubscriberKit.Builder construtor)
Detalhes do método
destruir
@Obsoleto public void destroy()
Obsoleto.
Destruir o objeto manualmente não é seguro. A partir da versão 2.17.0, esse método não faz nada. Os recursos serão liberados automaticamente pelo coletor de lixo.
setSubscriberListener
public void setSubscriberListener(SubscriberKit.SubscriberListener ouvinte)
Define um SubscriberKit.SubscriberListener objeto para monitorar mudanças de estado.
Parâmetros:
: listener - O SubscriberKit.SubscriberListener que monitora essa instância do SubscriberKit.
setVideoListener
public void setVideoListener(SubscriberKit.VideoListener ouvinte)
Define um SubscriberKit.VideoListener objeto para monitorar quando o assinante começa
e para de receber vídeo.
Parâmetros:
: listener - O SubscriberKit.VideoListener instância.
setAudioLevelListener
public void setAudioLevelListener(SubscriberKit.AudioLevelListener ouvinte)
Vincula um SubscriberKit.AudioLevelListener a esta instância do SubscriberKit para monitorar
as atualizações do nível de áudio.
Parâmetros:
: listener - O SubscriberKit.AudioLevelListener que monitorará esta instância. Defina
este valor como nulo para desconectar um ouvinte e interromper o monitoramento dos níveis de áudio.
setCaptionsListener
public void setCaptionsListener(SubscriberKit.CaptionsListener ouvinte)
Associa um SubscriberKit.CaptionsListener a esta instância do SubscriberKit para receber legendas.
Parâmetros:
: listener - O SubscriberKit.CaptionsListener que monitorará esta instância. Defina
este valor como nulo para desconectar um ouvinte e interromper o recebimento de legendas.
definirVolumeDoÁudio
public void definirVolumeDoÁudio(double volume)
Define o volume do áudio do assinante, entre 0 e 100. Se o valor não estiver nesse intervalo, ele será ajustado para dentro desse intervalo.
Parâmetros:
: volume - O volume do assinante.
getAudioVolume
public double getAudioVolume()
Retorna o volume de áudio, entre 0 e 100, do assinante.
O valor padrão é 100.
setStreamListener
public void setStreamListener(SubscriberKit.StreamListener ouvinte)
Configura um ouvinte para eventos relacionados à interrupção e ao retomada do fluxo do assinante.
getSession
público Sessão getSession()
Retorna o Session que o assinante está obrigado a (ao ligar
para o connect() método do objeto Session).
Retornos:
: O Session a que o assinante está sujeito.
getStream
público Transmissão getStream()
Retorna o Stream ao qual esta instância está vinculada.
Quaisquer canais de mídia no fluxo devem estar disponíveis para
exibição/reprodução com esta instância.
Retornos:
: O Stream ao qual essa instância está vinculada.
getSubscribeToAudio
public boolean getSubscribeToAudio()
Se o assinante está assinando o conteúdo de áudio ou não.
Retorna: : true se o Assinante estiver assinando o áudio; false caso contrário.
getSubscribeToVideo
public boolean getSubscribeToVideo()
Se o assinante está assinando o conteúdo de áudio ou não.
Retorna: : true se o Assinante estiver assinando o áudio; false caso contrário.
getSubscribeToCaptions
public boolean getSubscribeToCaptions()
Se o assinante está assinando as legendas ou não.
Retorna:
: true se o Assinante estiver assinando as legendas; false caso contrário.
O valor padrão é o valor das legendas do respectivo editor PublisherKit.setPublishCaptions(boolean).
setSubscribeToAudio
public void setSubscribeToAudio(boolean subscribeToAudio)
Se deseja assinar o áudio do stream (true) ou não (false).
Definir essa propriedade não tem efeito se o hasAudio método do objeto Stream
retorna false.
Parâmetros:
: subscribeToAudio - Se deseja assinar o áudio da transmissão (true) ou
não (false).
setSubscribeToVideo
public void setSubscribeToVideo(boolean subscribeToVideo)
Se deseja se inscrever no canal de vídeo (true) ou não (false).
Definir essa propriedade não tem efeito se o hasVideo método do objeto Stream
retorna false.
Parâmetros:
: subscribeToVideo - Se deseja se inscrever no canal (true) ou
não (false).
setSubscribeToCaptions
public void setSubscribeToCaptions(boolean subscribeToCaptions)
Se deseja ativar as legendas da transmissão (true) ou não (false)..
Parâmetros:
: subscribeToCaptions - Se deseja ativar as legendas da transmissão (true) ou
não (false).
setCaptionsTranslationLanguage
public void definirIdiomaDeTraduçãoDasLegendas(String (idioma)
Define o idioma preferencial para a tradução das legendas desse assinante.
Essa configuração só entra em vigor quando as legendas estão ativadas.
Defina aqui um código de idioma compatível com o BCP-47 para receber legendas traduzidas,
ou null para desativar a tradução. O valor padrão é null
(não há tradução configurada).
Os códigos de idiomas compatíveis estão definidos na especificação da API do servidor.
Este é um recurso em versão beta privada.
Parâmetros:
: language - Um código de idioma compatível com o BCP-47, ou null para desativar a tradução.
getCaptionsTranslationLanguage
público String getCaptionsTranslationLanguage()
Obtém o idioma de tradução das legendas configurado para este assinante.
Este é um recurso em versão beta privada.
Retorna:
: O código de idioma BCP-47 configurado, ou null se a tradução não estiver definida.
setStyle
public void setStyle(String chave, String valor)
Defina um estilo usado por este assinante.
Por padrão, há apenas uma chave de estilo predefinida:
BaseVideoRenderer.STYLE_VIDEO_SCALE. Você pode definir um valor para essa chave
para determinar o redimensionamento do vídeo. São aceitos os seguintes valores:
BaseVideoRenderer.STYLE_VIDEO_FILL— O vídeo é redimensionado para preencher toda a área do renderizador, com recorte conforme necessário.BaseVideoRenderer.STYLE_VIDEO_FIT— O vídeo é redimensionado, conforme necessário, de modo que todo o vídeo fique visível, com formato pillarbox (a configuração padrão).
Chamar esse método equivale a chamar getRenderer().setStyle(). No entanto,
se você estender essa classe, poderá sobrescrever esse método para oferecer suporte a outros estilos e comportamentos.
Parâmetros:
: key - O estilo a ser definido.
: value - O valor ao qual você está definindo o estilo.
setRenderer
@Obsoleto public void setRenderer(BaseVideoRenderer renderizador)
Obsoleto.
Defina o renderizador de vídeo para este assinante.
Esse método está obsoleto. Em vez disso, chame
o SubscriberKit.Builder.renderer(BaseVideoRenderer renderer) método ao
usar o Builder para criar a instância do SubscriberKit.
getRenderer
público BaseVideoRenderer getRenderer()
Retorna o renderizador de vídeo para este assinante.
getView
public android.view.View getView()
Retorna o objeto `android.view.View` que contém o vídeo do Assinante.
setVideoStatsListener
public void setVideoStatsListener(SubscriberKit.VideoStatsListener ouvinte)
Configura um ouvinte para as estatísticas de vídeo do assinante. O objeto ouvinte implementa a interface
SubscriberKit.VideoStatsListener.onVideoStats(SubscriberKit subscriber, SubscriberKit.SubscriberVideoStats stats) método. Esse método é chamado periodicamente para relatar
o seguinte:
- Total de pacotes de vídeo perdidos
- Total de pacotes de vídeo recebidos
- Total de bytes de vídeo recebidos
Veja também:
: - setAudioStatsListener(AudioStatsListener listener)
setAudioStatsListener
public void setAudioStatsListener(SubscriberKit.AudioStatsListener ouvinte)
Configura um ouvinte para as estatísticas de áudio do assinante. O objeto ouvinte implementa a interface
SubscriberKit.AudioStatsListener.onAudioStats(SubscriberKit subscriber, SubscriberKit.SubscriberAudioStats stats) método. Esse método é chamado periodicamente para relatar
o seguinte:
- Total de pacotes de áudio perdidos
- Total de pacotes de áudio recebidos
- Total de bytes de áudio recebidos
Veja também:
: - setVideoStatsListener(VideoStatsListener listener)
setMediaLinkStatsListener
public void setMediaLinkStatsListener(SubscriberKit.MediaLinkStatsListener ouvinte)
Configura um ouvinte para as estatísticas de links de mídia dos assinantes. O objeto ouvinte
implementa a interface SubscriberKit.MediaLinkStatsListener interface, que inclui:
SubscriberKit.MediaLinkStatsListener.onMediaLinkStats(SubscriberKit, SubscriberMediaLinkStats)— chamado periodicamente com métricas no nível do transporte.SubscriberKit.MediaLinkStatsListener.onNetworkConditionChanged(SubscriberKit, SubscriberMediaLinkStats, String)— é chamado quando a condição da rede muda.
Parâmetros:
: listener - O SubscriberKit.MediaLinkStatsListener instância ou `null` para remover o ouvinte.
setPreferredResolution
public void definirResoluçãoPreferida(VideoUtils.Size preferredResolution)
Define a resolução preferencial para o stream do assinante.
Limitar a resolução do vídeo e a taxa de quadros (consulte
setPreferredFrameRate(float preferredFrameRate)) reduz o uso da rede
e da CPU no cliente assinante. Você pode optar por usar uma resolução menor com base nas
dimensões do vídeo do assinante no aplicativo. Você pode optar por usar uma taxa de quadros ou
resolução menor para assinantes de uma transmissão que seja menos importante (e menor) do que outras
transmissões.
Esse método só se aplica ao assinar um fluxo que utilize o recurso de vídeo escalável. O vídeo escalável está disponível:
- Apenas nas sessões que utilizam o OpenTok Media Router (sessões com o mídia modo (definido como “roteado”).
- Apenas para transmissões publicadas por clientes que suportam vídeo escalável (consulte a documentação do escalável recurso de vídeo).
Em transmissões que não utilizam vídeo escalável, a chamada a este método não produz nenhum efeito.
Observação: A resolução das transmissões de vídeo escaláveis é ajustada automaticamente para cada assinante, com base nas condições da rede e no uso da CPU, mesmo que você não chame este método. Chame este método se desejar definir uma resolução máxima para este assinante.
Em transmissões que não utilizam vídeo escalável, a chamada a este método não produz nenhum efeito.
Nem todas as resoluções estão disponíveis para um assinante. Quando você define a resolução preferencial,
o SDK do OpenTok para Android seleciona a melhor resolução disponível que
atenda às suas restrições. As resoluções disponíveis dependem da largura e altura máximas
que o Publisher define para a transmissão, que são retornadas pelo
Stream.getVideoWidth() e Stream.getVideoHeight() métodos
do objeto Stream. Cada uma das resoluções disponíveis para um stream utilizará a mesma
proporção de tela.
Passe para SubscriberKit.NO_PREFERRED_RESOLUTION para redefinir o assinante
de modo que não tenha uma resolução preferencial. O assinante utilizará a resolução máxima
disponível, com base nas condições.
setPreferredFrameRate
public void setPreferredFrameRate(float preferredFrameRate)
Define a taxa de quadros preferencial para o stream do assinante.
Limitar a taxa de quadros e a resolução do vídeo (consulte
setPreferredResolution(VideoUtils.Size preferredResolution))
reduz o uso da rede e
da CPU no cliente assinante. Você pode optar por usar uma resolução menor com base nas
dimensões do vídeo do assinante no aplicativo. Você pode optar por usar uma taxa de quadros ou
resolução menor para assinantes de uma transmissão que seja menos importante (e menor) do que outras
transmissões.
Esse método só se aplica ao assinar um fluxo que utilize o recurso de vídeo escalável. O vídeo escalável está disponível:
- Apenas nas sessões que utilizam o OpenTok Media Router (sessões com o mídia modo (definido como “roteado”).
- Apenas para transmissões publicadas por clientes que suportam vídeo escalável (consulte a documentação do escalável recurso de vídeo).
Em transmissões que não utilizam vídeo escalável, a chamada a este método não produz nenhum efeito.
Observação: A taxa de quadros para transmissões de vídeo escaláveis se ajusta automaticamente para cada assinante, com base nas condições da rede e no uso da CPU, mesmo que você não chame este método. Chame este método se desejar definir uma taxa de quadros máxima para este assinante.
As taxas de quadros disponíveis são baseadas no valor da taxa de quadros máxima disponível para a transmissão. Ao definir a taxa de quadros preferencial para o assinante, o SDK do OpenTok para Android seleciona a melhor taxa de quadros disponível que seja a mais próxima da taxa preferencial, com base na largura de banda do cliente e nas restrições de CPU.
As taxas de quadros efetivamente disponíveis dependem, de forma dinâmica, dos recursos de rede e da CPU disponíveis para o editor.
Passe para SubscriberKit.NO_PREFERRED_FRAMERATE para redefinir o assinante
de modo que ele não tenha uma taxa de quadros preferencial. O assinante utilizará a taxa de quadros máxima
disponível, de acordo com as condições.
getPreferredResolution
público VideoUtils.Size getPreferredResolution()
Retorna a resolução preferencial para o stream do assinante. Este método
aplica-se apenas a streams publicados usando o recurso de vídeo escalável. Consulte
setPreferredResolution(VideoUtils.Size preferredResolution).
setRtcStatsReportListener
public void setRtcStatsReportListener(SubscriberKit.SubscriberRtcStatsReportListener ouvinte)
Define o ouvinte do relatório de estatísticas do RTC para o assinante. Consulte getRtcStatsReport().
Parâmetros:
: listener - O SubscriberKit.SubscriberRtcStatsReportListener objeto.
getRtcStatsReport
public void getRtcStatsReport()
Obtém o relatório de estatísticas de RTC do assinante. Esta é uma operação assíncrona.
Chame o método SubscriberKit#setRtcStatsReportListener(SubscriberRtcStatsReportListener listener)
e, em seguida, implemente o
SubscriberKit.SubscriberRtcStatsReportListener.onRtcStatsReport(SubscriberKit subscriber, String jsonArrayOfReports)
método antes de chamar este método. Quando as estatísticas estiverem disponíveis, a implementação
do SubscriberKit.SubscriberRtcStatsReportListener.onRtcStatsReport(SubscriberKit subscriber, String jsonArrayOfReports)
o método é chamado.
Veja também setAudioStatsListener(SubscriberKit.AudioStatsListener listener),
setVideoStatsListener(SubscriberKit.VideoStatsListener listener), e
PublisherKit.getRtcStatsReport().
onRtcStatsReport
protected void onRtcStatsReport(String jsonArrayOfReports)
É chamado quando o relatório de estatísticas RTC do assinante fica disponível em resposta a uma
chamada para getRtcStatsReport().
Se você estender a classe `SubscriberKit`, poderá sobrescrever esse método em vez de implementar o método `onRtcStatsReport()` da interface `SubscriberKit.SubscriberRtcStatsReportListener`.
Veja onRtcStatsReport(String jsonArrayOfReports).
getPreferredFrameRate
public float getPreferredFrameRate()
Retorna a taxa de quadros preferencial para o stream do assinante. Este método se aplica apenas
a streams publicados usando o recurso de vídeo escalável. Consulte
setPreferredFrameRate(float preferredFrameRate).
Retorna: : A taxa de quadros preferencial para o fluxo do assinante ou -1 caso tenha ocorrido algum erro ao recuperar o valor real.
onConnected
protected void onConnected()
É acionado quando a instância se conecta com sucesso ao stream e começa a reproduzir a mídia.
Se você estender a classe `SubscriberKit`, poderá sobrescrever este método em vez do
onConnected() método da interface SubscriberKit.SubscriberListener.
onDisconnected
@Obsoleto protected void onDisconnected()
Obsoleto.
A partir da versão 2.17.0, essa função de retorno não será mais chamada. Quando um assinante se desconecta da
sessão, o Session.SessionListener.onStreamDropped(com.opentok.android.Session, com.opentok.android.Stream) A função de retorno de chamada será invocada.
onError
protected void onError(OpentokError erro)
É acionado quando um assinante não consegue se conectar ao servidor OpenTok.
Se você estender a classe `SubscriberKit`, poderá sobrescrever este método em vez do
onError() método da interface SubscriberKit.SubscriberListener.
Parâmetros:
: error - O erro.
onStreamDisconnected
protected void onStreamDisconnected()
É chamado quando o fluxo do assinante é interrompido.
Em resposta à chamada desse método, talvez seja interessante exibir uma notificação na interface do usuário para informar ao usuário que o fluxo de áudio e vídeo está temporariamente desconectado e que o aplicativo está tentando se reconectar ao fluxo.
Se o cliente se reconectar ao stream, o onStreamReconnected() método é chamado.
Caso contrário, o onDisconnected() o método é chamado.
Se você estender a classe SubscriberKit, poderá sobrescrever esse método em vez de implementar
o onDisconnected() método da interface SubscriberKit.StreamListener.
onStreamReconnected
protected void onStreamReconnected()
É chamado quando o fluxo do assinante é retomado, após o
onStreamDisconnected() o método é chamado.
Se você estender a classe SubscriberKit, poderá sobrescrever esse método em vez de implementar
o onReconnected() método da interface SubscriberKit.StreamListener.
onAudioEnabled
protected void onAudioEnabled()
É chamado quando o stream do assinante tem o áudio ativado.
Se você estender a classe SubscriberKit, poderá sobrescrever esse método em vez de implementar
o onAudioEnabled() método da interface SubscriberKit.StreamListener.
onAudioDisabled
protected void onAudioDisabled()
É chamado quando o áudio do stream do assinante é desativado
Se você estender a classe SubscriberKit, poderá sobrescrever esse método em vez de implementar
o onAudioDisabled() método da interface SubscriberKit.StreamListener.
onVideoDisabled
protected void onVideoDisabled(String motivo)
É chamado quando o assinante deixa de receber o vídeo. Verifique o parâmetro “reason” para saber o motivo pelo qual o vídeo foi interrompido.
Se você estender a classe `SubscriberKit`, poderá sobrescrever este método em vez do
onVideoDisabled() método da interface SubscriberKit.SubscriberListener.
Parâmetros:
: reason - O motivo pelo qual a trilha de vídeo foi desativada. Esse valor é
definido como um dos seguintes:
VIDEO_REASON_PUBLISH_VIDEO
VIDEO_REASON_SUBSCRIBE_TO_VIDEO,
VIDEO_REASON_QUALITY, ou
VIDEO_REASON_CODEC_NOT_SUPPORTED.
onVideoEnabled
protected void onVideoEnabled(String motivo)
É chamado quando a transmissão de vídeo do assinante é iniciada (quando anteriormente não havia vídeo) ou retomada (após o vídeo ter sido desativado). Verifique o parâmetro “reason” para saber o motivo pelo qual o vídeo foi interrompido.
Se você estender a classe `SubscriberKit`, poderá sobrescrever este método em vez do
onVideoEnabled() método da interface SubscriberKit.SubscriberListener.
Parâmetros:
: reason - O motivo pelo qual a trilha de vídeo foi iniciada ou retomada. Esse valor
é definido como um dos seguintes valores:
VIDEO_REASON_PUBLISH_VIDEO
VIDEO_REASON_SUBSCRIBE_TO_VIDEO, ou
VIDEO_REASON_QUALITY.
onVideoDisableWarning
protected void onVideoDisableWarning()
É chamado quando o OpenTok Media Router determina que a qualidade da transmissão se
deteriorou e que o vídeo será desativado caso a qualidade se deteriore ainda mais.
Se a qualidade se deteriorar ainda mais, o assinante desativa o vídeo e o
onVideoDisabled(String reason) método é chamado. Se a qualidade do stream
melhorar, o onVideoDisableWarningLifted() o método é chamado.
Esse recurso está disponível apenas em sessões que utilizam o OpenTok Media Router (sessões com o modo de mídia definido como “routed”), e não em sessões com o modo de mídia definido como “relayed”. (Consulte O OpenTok Media Router e os modos de mídia).
Esse método é chamado principalmente quando a qualidade da conexão se deteriora.
Se você estender a classe `SubscriberKit`, poderá sobrescrever este método em vez do
onVideoDisableWarning() método da interface
SubscriberKit.SubscriberListener.
Aviso sobre desativação do vídeo suspenso
protected void onVideoDisableWarningLifted()
É chamado quando o OpenTok Media Router determina que a qualidade da transmissão
melhorou a ponto de o vídeo que está sendo desativado não representar um risco
imediato. Esse método é chamado após o onVideoDisableWarning()
o método é chamado.
Esse recurso está disponível apenas em sessões que utilizam o OpenTok Media Router (sessões com o modo de mídia definido como “routed”), e não em sessões com o modo de mídia definido como “relayed”. (Consulte O OpenTok Media Router e os modos de mídia.)
Esse método é chamado principalmente quando a qualidade da conexão melhora.
Se você estender a classe SubscriberKit, poderá sobrescrever esse método em vez de
o onVideoDisableWarningLifted() método da
interface SubscriberKit.SubscriberListener.
onVideoDataReceived
protected void onVideoDataReceived()
É acionado quando um assinante recebe dados de vídeo pela primeira vez.
Se você estender a classe `SubscriberKit`, poderá sobrescrever este método em vez do
onVideoDataReceived() método da interface SubscriberKit.VideoListener.
attachToSession
protected void anexarÀSessão(Sessão sessão)
desvincular da sessão
protected void desligarDaSessão(Sessão sessão)
onAudioLevelUpdated
protected void onAudioLevelUpdated(float audioLevel)
onCaptionText
protected void onCaptionText(String texto, booleano isFinal)
onPause
public void onPause()
Não ligue diretamente; ligue para Session.onPause() em vez disso.
onResume
public void onResume()
Não ligue diretamente; ligue para Session.onResume() em vez disso.
atualização
@Obsoleto public void atualizar(Observável o, Objeto arg)
Obsoleto.
Esse método é chamado sempre que o objeto observado sofre alguma alteração. Essa classe implementa a interface Observer, portanto, ela observa eventos, como os eventos de pausa e retomada da sessão.
Especificado por:
: update na interface Observer
Parâmetros:
: o - O objeto observável.
: arg - Um argumento passado ao método `notifyObservers`.
finalizar
protected void finalize() throws Arremessável
É chamado pelo coletor de lixo em um objeto SubscriberKit quando a coleta de lixo determina que não há mais referências ao objeto.
Substituições:
: finalize na aula Object
Arremessos:
: Throwable