Moderação — React Native
Quando você conectar-se a uma sessão Com um token que inclua privilégios de moderador, você pode forçar outros clientes a se desconectarem de uma sessão, interromper a transmissão de um stream ou silenciar o áudio deles:
- Verificando se há privilégios de moderação
- Forçar a desconexão de um cliente
- Silenciar o áudio das transmissões em uma sessão
Verificando se há privilégios de moderação
Depois de se conectar a uma sessão, você pode verificar se o cliente tem permissão para moderar.
Verifique o valor do
capabilities.forceMute propriedade do objeto OTSession. Se estiver definida como true, o cliente pode moderar:
if (session.capabilities.forceMute) {
// The client can mute participants.
} else {
// The client cannot mute.
}
Verifique o valor do
capabilities.forceDisconnect propriedade do objeto OTSession. Se estiver definida como true, o cliente pode moderar:
if (session.capabilities.forceDisconnect) {
// The client can force participants to disconnect.
} else {
// The client cannot force participants to disconnect.
}
<a name="force_disconnect" class="doc-target"></a>
Forçar a desconexão de um cliente
Para forçar um emissor de uma transmissão específica a silenciar seu áudio, chame a função forceDisconnect() método de referência ao componente OTSession, passando o ID de conexão do cliente que você deseja silenciar:
sessionRef.forceDisconnect('connection-id')
.then(function() {
console.log("successfully called.");
}).catch(function(error) {
console.log("Error: ", error);
});
É possível obter referências aos IDs de conexão no connectionCreated manipulador de eventos do componente OTSession.
Silenciar o áudio das transmissões em uma sessão
Os moderadores podem forçar todos os usuários ou um editor de uma transmissão específica a silenciar o áudio publicado.
Para forçar um emissor de uma transmissão específica a silenciar seu áudio, chame a função forceMuteStream() método que recebe uma referência ao componente OTSession, passando o ID do stream que você deseja silenciar:
sessionRef.forceMuteStream('stream-id')
.then(function() {
console.log("successfully called.");
}).catch(function(error) {
console.log("Error: ", error);
});
O OTSession.forceMuteStream() O método retorna uma Promise que é rejeitada caso a chamada falhe (por exemplo, se o cliente não tiver privilégios de moderação). Nesse contexto, o sucesso indica que as opções passadas ao método são válidas e que a solicitação para silenciar a transmissão foi enviada. Isso não garante que a solicitação tenha sido atendida com sucesso.
Os moderadores também podem forçar todas as transmissões (exceto um conjunto opcional de transmissões) em uma sessão a silenciar o áudio publicado. Chame a função forceMuteAll() método do objeto Session, passando uma matriz de fluxos que você deseja excluir do silenciamento:
session.forceMuteAll(excludedStreams);
Uma transmissão publicada pelo moderador chamando o forceMuteAll() O método é silenciado junto com outras transmissões da sessão, a menos que você adicione a transmissão (ou transmissões) do moderador à matriz de transmissões excluídas.
Se você deixar de fora o excludedStreams parâmetro, todas as transmissões da sessão (incluindo as do moderador) deixarão de transmitir áudio:
session.forceMuteAll();
Além disso, quaisquer streams publicados após a chamada à função forceMuteAll() As sessões são publicadas com o áudio silenciado. É possível desativar o silenciamento de uma sessão chamando a função disableForceMute() método do objeto OTSession:
session.disableForceMute();
Depois de chamar a OTSession.disableForceMute() Com esse método, as novas transmissões publicadas na sessão não terão mais o áudio silenciado.
É possível obter referências aos IDs dos streams quando o objeto Session é acionado sessionConnected
evento e streamCreated eventos.
Quando a transmissão é silenciada como resultado de um desses métodos (ou a partir de umforçar o silenciamento da chamada de streaming em outro Client SDK), em cada cliente que publica um fluxo silenciado, o objeto OTPublisher despacha um muteForced evento.
Da mesma forma, em resposta a uma ligação para o OTSession.forceMuteAll() método (ou a um silenciar à força todas as chamadas em outro Client SDK), o objeto OTSession em cada cliente conectado à sessão despacha um muteForced evento, e o active a propriedade do objeto do evento está definida como true.
E em resposta a uma ligação para o OTSession.disableForceMute() método (ou a um desativar o silenciamento forçado de chamadas em outro Client SDK),
o objeto OTSession em cada cliente conectado à sessão despacha um muteForced evento,
e o active a propriedade do objeto do evento está definida como false.