CoWatchingClient

@PublicApi
public interface CoWatchingClient



Representa uma sessão de assistir em grupo.

Informa o Meet sobre ações recentes do usuário (por exemplo, reproduzir/pausar/buscar) e fatores ambientais, como atrasos devido ao armazenamento em buffer de mídia.

Resumo

Constantes

default static final double

Taxa de Playout máxima permitida.

default static final double

Número máximo de buscas permitidas por segundo.

Métodos públicos

abstract void
notifyBuffering(Duration mediaPlayoutPosition)

Notifica o Meet de que a mídia não está pronta para ser reproduzida devido a um armazenamento em buffer, a uma troca de mídia anterior, uma busca de mídia ou um congestionamento normal da rede.

abstract void
notifyEnded(Duration mediaPlayoutPosition)

Notifica o Meet de que o player de mídia chegou ao fim da mídia atual.

abstract void
notifyPauseState(boolean paused, Duration mediaPlayoutPosition)

Informe ao Meet que o usuário pausou ou retomou a reprodução de mídia. Assim, o Meet pode espelhar essa ação para outros usuários.

abstract void
notifyPlayoutRate(double rate, Duration mediaPlayoutPosition)

Notifica o Meet de que o usuário atualizou a taxa de reprodução da mídia (por exemplo,

abstract void

Informe ao Meet que a fila mudou para espelhar o conteúdo de outros usuários.

abstract void
notifyReady(Duration mediaPlayoutPosition)

Notifica o Meet que o armazenamento em buffer foi concluído e a mídia está pronta para ser reproduzida, começando no carimbo de data/hora fornecido.

abstract void
notifySeekToTimestamp(Duration mediaPlayoutPosition)

Informe ao Meet que o usuário procurou o ponto de reprodução da mídia. Assim, o Meet poderá espelhar essa ação para outros usuários.

abstract void
notifySwitchedToMedia(
    String mediaTitle,
    String mediaId,
    Duration mediaPlayoutPosition
)

Informe ao Meet que o usuário trocou de mídia para que ele possa repassar para outros usuários.

abstract void
notifySwitchedToMedia(
    String mediaTitle,
    String mediaId,
    Duration mediaPlayoutPosition,
    CoWatchingQueue queue
)

Notifique o Meet de que o usuário trocou de mídia, com uma atualização de fila simultânea, para que o Meet possa repassar a informação a outros usuários.

Constantes

MAX_PLAYOUT_RATE

default static final double MAX_PLAYOUT_RATE = 2.0

Taxa de Playout máxima permitida.

MAX_SEEKS_PER_SECOND

default static final double MAX_SEEKS_PER_SECOND = 0.9

Número máximo de buscas permitidas por segundo.

Métodos públicos

notifyBuffering

abstract void notifyBuffering(Duration mediaPlayoutPosition)

Notifica o Meet de que a mídia não está pronta para ser reproduzida devido a um armazenamento em buffer, a uma troca de mídia anterior, uma busca de mídia ou um congestionamento normal da rede.

Parâmetros
Duration mediaPlayoutPosition

a posição em que a mídia está pausada, aguardando a conclusão do armazenamento em buffer

Gera
java.lang.NullPointerException

se mediaPlayoutPosition for nulo

com.google.android.meet.addons.AddonException

se houve um erro inesperado

java.lang.IllegalStateException

se for chamado após o término da sessão de assistir em grupo

notifyEnded

abstract void notifyEnded(Duration mediaPlayoutPosition)

Notifica o Meet de que o player de mídia chegou ao fim da mídia atual.

Observação:não é necessário chamar esse método, embora não seja prejudicial, se o notificationSwitchedToMedia for chamado por um mecanismo de reprodução automática assim que uma mídia terminar.

Parâmetros
Duration mediaPlayoutPosition

a posição final do player

Gera
java.lang.NullPointerException

se mediaPlayoutPosition for nulo

com.google.android.meet.addons.AddonException

se houve um erro inesperado

java.lang.IllegalStateException

se for chamado após o término da sessão de assistir em grupo

notifyPauseState

abstract void notifyPauseState(boolean paused, Duration mediaPlayoutPosition)

Informe ao Meet que o usuário pausou ou retomou a reprodução de mídia. Assim, o Meet pode espelhar essa ação para outros usuários.

Parâmetros
boolean paused

true se a reprodução estiver pausada ou false se a reprodução for retomada

Duration mediaPlayoutPosition

a posição em que a mídia foi pausada ou retomada

Gera
java.lang.NullPointerException

se mediaPlayoutPosition for nulo

com.google.android.meet.addons.AddonException

se houve um erro inesperado

java.lang.IllegalStateException

se for chamado após o término da sessão de assistir em grupo

notifyPlayoutRate

abstract void notifyPlayoutRate(double rate, Duration mediaPlayoutPosition)

Notifica o Meet de que o usuário atualizou a taxa de reprodução da mídia (por exemplo, 1,25x) para um novo valor.

Parâmetros
double rate

a frequência com que a mídia está sendo reproduzida

Duration mediaPlayoutPosition

a posição atual do player

Gera
java.lang.IllegalStateException

se rate não for um número positivo

java.lang.IllegalStateException

se rate for maior que MAX_PLAYOUT_RATE

com.google.android.meet.addons.AddonException

se houve um erro inesperado

java.lang.IllegalStateException

se for chamado após o término da sessão de assistir em grupo

notifyQueueUpdate

abstract void notifyQueueUpdate(CoWatchingQueue queue)

Informe ao Meet que a fila mudou para espelhar o conteúdo de outros usuários.

Parâmetros
CoWatchingQueue queue

informações sobre a fila do app do complemento

Gera
java.lang.NullPointerException

se queue for nulo

com.google.android.meet.addons.AddonException

se houve um erro inesperado

java.lang.IllegalStateException

se for chamado após o término da sessão de assistir em grupo

notifyReady

abstract void notifyReady(Duration mediaPlayoutPosition)

Notifica o Meet que o armazenamento em buffer foi concluído e a mídia está pronta para ser reproduzida, começando no carimbo de data/hora fornecido.

Parâmetros
Duration mediaPlayoutPosition

a posição em que a mídia está armazenada em buffer e pronta para ser reproduzida

Gera
java.lang.NullPointerException

se mediaPlayoutPosition for nulo

com.google.android.meet.addons.AddonException

se houve um erro inesperado

java.lang.IllegalStateException

se for chamado após o término da sessão de assistir em grupo

notifySeekToTimestamp

abstract void notifySeekToTimestamp(Duration mediaPlayoutPosition)

Informe ao Meet que o usuário procurou o ponto de reprodução da mídia. Assim, o Meet poderá espelhar essa ação para outros usuários.

Parâmetros
Duration mediaPlayoutPosition

o carimbo de data/hora que o usuário procurou

Gera
java.lang.NullPointerException

se mediaPlayoutPosition for nulo

com.google.android.meet.addons.AddonException

se houve um erro inesperado

java.lang.IllegalStateException

se for chamado após o término da sessão de assistir em grupo

java.lang.IllegalStateException

se o número de buscas por segundo for maior que MAX_SEEKS_PER_SECOND

notifySwitchedToMedia

abstract void notifySwitchedToMedia(
    String mediaTitle,
    String mediaId,
    Duration mediaPlayoutPosition
)

Informe ao Meet que o usuário trocou de mídia para que ele possa repassar para outros usuários.

Parâmetros
String mediaTitle

o título da mídia foi alterado. Esse título será exibido na interface do Meet quando outros usuários quiserem se conectar à sessão de assistir em grupo.

String mediaId

o URI da string da mídia mudou para

Duration mediaPlayoutPosition

a posição em que a mídia iniciou a reprodução

Gera
java.lang.NullPointerException

quando mediaId ou mediaPlayoutPosition são nulos

com.google.android.meet.addons.AddonException

se houve um erro inesperado

java.lang.IllegalStateException

se for chamado após o término da sessão de assistir em grupo

notifySwitchedToMedia

abstract void notifySwitchedToMedia(
    String mediaTitle,
    String mediaId,
    Duration mediaPlayoutPosition,
    CoWatchingQueue queue
)

Notifique o Meet de que o usuário trocou de mídia, com uma atualização de fila simultânea, para que o Meet possa repassar a informação a outros usuários.

Parâmetros
String mediaTitle

o título da mídia foi alterado. Esse título será exibido na interface do Meet quando outros usuários quiserem se conectar à sessão de assistir em grupo.

String mediaId

o URI da string da mídia mudou para

Duration mediaPlayoutPosition

a posição em que a mídia iniciou a reprodução

CoWatchingQueue queue

informações sobre a fila do app do complemento

Gera
java.lang.NullPointerException

se mediaId, mediaPlayoutPosition ou queue forem nulos

com.google.android.meet.addons.AddonException

se houve um erro inesperado

java.lang.IllegalStateException

se for chamado após o término da sessão de assistir em grupo