> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PlayFab Party のチャット許可とミュート

> チャット コントロールのペア間で PlayFab Party のチャット許可とミュートを構成し、チームとプレイヤー間の着信および発信音声およびテキストを制御します。

## 概要

PlayFab Party を使用すると、プレイヤーが互いにどのようにコミュニケーションできるかをきめ細かく制御できます。
チームやチャネルを指定するのではなく、PlayFab Party では、チャット コントロールの各ペア間の明示的な許可を
定義する必要があります。チャット許可システムでは、任意のチャット コントロール ペア間で、着信および発信ボイス通信、着信テキスト通信を制御できます。

## チャット許可

チャット コントロール間の通信はデフォルトで無効になっており、ゲームは各チャット コントロール ペア間で正しい
`PartyChatPermissionOptions` を設定する必要があります。チャット許可は、達成しようとしているシナリオに従って
各チャット コントロール間の関係を反映する必要があります。たとえば、チーム対チーム シナリオでは、
同じチームのメンバー間ですべての種類のコミュニケーションを許可し、対戦チームのメンバー間ではオーディオ通信をブロックし、
セッション内のすべての人でテキストの受信を許可するようにチャット許可を設定できます。

以下の例は、ローカル チャット コントロールとリモート チャット コントロール間ですべての通信を有効にする方法を示しています。変数
`localChatControlA` は有効な `PartyLocalChatControl` オブジェクトを指しており、`remoteChatControlB` はリモート デバイス上のチャット コントロールを表す
有効な `PartyChatControl` オブジェクトを指しています。

```cpp theme={null}
PartyChatPermissionOptions allOptions = PartyChatPermissionOptions::SendAudio | PartyChatPermissionOptions::ReceiveAudio | PartyChatPermissionOptions::ReceiveText;
localChatControlA->SetPermissions(remoteChatControlB, allOptions);
```

<Note>
  チャット許可はローカルにのみ適用されることに注意してください。前の例では、`remoteChatControlB` がリモートで `localChatControlA` とのすべての通信を許可するように構成されている場合にのみ、完全な双方向通信が発生します。
</Note>

## ミュート

ゲームには、発信オーディオ (`PartyLocalChatControl::SetAudioInputMuted()`) と
リモート チャット コントロールからの着信オーディオ (`PartyLocalChatControl::SetIncomingAudioInputMuted()`) をミュートする機能もあります。これらのミュートの状態は、
それぞれのゲッターを介してアクセスでき、`PartyLocalChatControl::GetChatIndicator()` および `PartyLocalChatControl::GetLocalChatIndicator()` によって返されるチャット インジケーターにも反映されます。

ミュートは特に、ゲーム セッションの開始時に設定した可能性のあるチャット許可を変更せずに、プレイヤーに一時的な制御を与えるのに便利です。

## 一般的なシナリオの構成方法

### プッシュ トゥ トーク

プッシュ トゥ トークはローカル ミュートを使用して実装する必要があります。発話を許可するには `PartyLocalChatControl::SetAudioInputMuted(false)` を、
制限するには `PartyLocalChatControl::SetAudioInputMuted(true)` を呼び出します。

### チーム

A、B、C、D の 4 人のユーザーがそれぞれ別々のデバイスにいるとします。ユーザー A とユーザー B は Blue チーム、
ユーザー C とユーザー D は Red チームです。

ユーザー A のデバイスで:

```cpp theme={null}
// Enable all communication with teammate B
localChatControlA->SetPermissions(chatControlB, PartyChatPermissionOptions::SendAudio | PartyChatPermissionOptions::ReceiveAudio | PartyChatPermissionOptions::ReceiveText);

// Disable all communication with opponents
localChatControlA->SetPermissions(chatControlC, PartyChatPermissionOptions::None);
localChatControlA->SetPermissions(chatControlD, PartyChatPermissionOptions::None);
```

### ブロードキャスト

ユーザー A が指示を出すリーダーで、ユーザー B、C、D は聞くことしかできないとします。

ユーザー A のデバイスで:

```cpp theme={null}
localChatControlA->SetPermissions(chatControlB, PartyChatPermissionOptions::SendAudio);
localChatControlA->SetPermissions(chatControlC, PartyChatPermissionOptions::SendAudio);
localChatControlA->SetPermissions(chatControlD, PartyChatPermissionOptions::SendAudio);
```

ユーザー B のデバイスで:

```cpp theme={null}
localChatControlB->SetPermissions(chatControlA, PartyChatPermissionOptions::ReceiveAudio | PartyChatPermissionOptions::ReceiveText);
localChatControlB->SetPermissions(chatControlC, PartyChatPermissionOptions::None);
localChatControlB->SetPermissions(chatControlD, PartyChatPermissionOptions::None);
```

ユーザー C のデバイスで:

```cpp theme={null}
localChatControlC->SetPermissions(chatControlA, PartyChatPermissionOptions::ReceiveAudio | PartyChatPermissionOptions::ReceiveText);
localChatControlC->SetPermissions(chatControlB, PartyChatPermissionOptions::None);
localChatControlC->SetPermissions(chatControlD, PartyChatPermissionOptions::None);
```

ユーザー D のデバイスで:

```cpp theme={null}
localChatControlD->SetPermissions(chatControlA, PartyChatPermissionOptions::ReceiveAudio | PartyChatPermissionOptions::ReceiveText);
localChatControlD->SetPermissions(chatControlB, PartyChatPermissionOptions::None);
localChatControlD->SetPermissions(chatControlC, PartyChatPermissionOptions::None);
```


## Related topics

- [PlayFab Party チャットの仕組みを理解する](/ja-jp/services/playfab/community/voice-communications/concepts-chat.md)
- [XBOX の要件](/ja-jp/services/playfab/multiplayer/networking/xbox-requirements.md)
- [PlayFab Community ドキュメント](/ja-jp/services/playfab/community/index.md)
- [リアルタイム オーディオ操作でカスタム ボイス エフェクトを適用する](/ja-jp/services/playfab/community/voice-communications/concepts-realtime-audio-manipulation.md)
- [ボイス チャットのトラブルシューティング](/ja-jp/services/playfab/community/voice-communications/concepts-audio-troubleshooting.md)
