モデレーション — React Native
いつ セッションに接続する モデレーター権限を含むトークンを使用すると、他のクライアントをセッションから強制的に切断させたり、ストリームの配信を停止させたり、音声をミュートさせたりすることができます:
モデレーション権限の確認
セッションに接続したら、クライアントがモデレートできるかどうかをチェックできます。
の値を確認してください。
capabilities.forceMute プロパティにこれが trueクライアントはモデレートすることができる:
if (session.capabilities.forceMute) {
// The client can mute participants.
} else {
// The client cannot mute.
}
の値を確認してください。
capabilities.forceDisconnect プロパティにこれが trueクライアントはモデレートすることができる:
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>
クライアントの接続を強制的に切断する
特定のストリームのパブリッシャーに強制的に音声をミュートさせるには forceDisconnect() メソッドに、ミュートしたいクライアントのコネクションIDを渡す:
sessionRef.forceDisconnect('connection-id')
.then(function() {
console.log("successfully called.");
}).catch(function(error) {
console.log("Error: ", error);
});
接続IDへの参照を取得するには、 connectionCreated OTSessionコンポーネントのイベントハンドラ。
セッション内のストリームの音声をミュートする
モデレーターは、すべてのクライアントまたは特定のストリームのパブリッシャーに、公開音声のミュートを強制できます。
特定のストリームのパブリッシャーに強制的に音声をミュートさせるには forceMuteStream() OTSession コンポーネントへの参照のメソッドを呼び出し、ミュートしたいストリームのストリーム ID を引数として渡します:
sessionRef.forceMuteStream('stream-id')
.then(function() {
console.log("successfully called.");
}).catch(function(error) {
console.log("Error: ", error);
});
について OTSession.forceMuteStream() このメソッドは Promise を返しますが、呼び出しが失敗した場合(たとえば、クライアントにモデレーション権限がない場合など)、その Promise は拒否されます。この文脈において、「成功」とは、メソッドに渡されたオプションが有効であり、ストリームのミュート要求が送信されたことを意味します。ただし、その要求が正常に処理されたことを保証するものではありません。
モデレータは、セッション内のすべてのストリーム (オプションのストリーム配列を除く) の公開音声をミュートするように強制することもできます。その場合は forceMuteAll() Session オブジェクトのメソッドを呼び出し、ミュート対象から除外したいストリームの配列を渡します:
session.forceMuteAll(excludedStreams);
を呼び出すモデレーターによって公開されたストリーム。 forceMuteAll() メソッドは、セッション内の他のストリームとともにミュートされます。 ただし、モデレータのストリーム (または複数のストリーム) を除外ストリーム配列に追加した場合は除きます。
もし excludedStreams パラメータを使用すると、セッション内のすべてのストリーム (モデレータのストリームを含む) が音声の公開を停止する:
session.forceMuteAll();
また、以下の呼び出しの後に発行されるストリームは、すべて forceMuteAll() メソッドを呼び出すと、オーディオがミュートされた状態でパブリッシュされます。セッションのミュート状態を解除するには disableForceMute() メソッドを呼び出す:
session.disableForceMute();
を呼び出した後 OTSession.disableForceMute() メソッドを呼び出すと、セッションに公開された新しいストリームは、音声がミュートされなくなります。
Session オブジェクトがディスパッチを行う際に、ストリーム ID への参照を取得できます sessionConnected
イベントと streamCreated のイベントがある。
これらの方法のいずれかによって(あるいは別の Client SDK で強制ミュートストリーム呼び出し)、ミュートされたストリームを公開する各クライアントにおいて、OTPublisher オブジェクトは muteForced イベントを開催する。
同様に、次のような呼びかけにも応じた。 OTSession.forceMuteAll() メソッド(または 別のクライアントSDKですべての呼び出しを強制ミュートする)、そのセッションに接続している各クライアントの OTSession オブジェクトは、 muteForced イベントと active イベント・オブジェクトの true.
という呼びかけに応えた。 OTSession.disableForceMute() メソッド(または 別のクライアントSDKで強制ミュートコールを無効にする),
セッションに接続している各クライアントの OTSession オブジェクトは、 muteForced イベント、
そして active イベント・オブジェクトの false.