> ## 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.

# Autorisations de clavardage et sourdine dans PlayFab Party

> Configurez les autorisations de clavardage et la sourdine de PlayFab Party entre des paires de contrôles de clavardage pour gérer la voix et le texte entrants et sortants entre les équipes et les joueurs.

## Vue d'ensemble

PlayFab Party vous offre un contrôle précis sur la façon dont vos joueurs peuvent communiquer entre eux. Plutôt que de
définir des équipes ou des canaux, PlayFab Party exige que des autorisations explicites soient
définies entre chaque paire de contrôles de clavardage. Le système d'autorisations de clavardage vous permet de contrôler la communication vocale entrante et sortante ainsi que la communication textuelle entrante entre toute paire de contrôles de clavardage.

## Autorisations de clavardage

La communication entre les contrôles de clavardage est désactivée par défaut, et il revient au jeu de définir les bonnes
`PartyChatPermissionOptions` entre chaque paire de contrôles de clavardage. Les autorisations de clavardage doivent refléter la relation entre
chaque contrôle de clavardage, telle que déterminée par le scénario que vous tentez de réaliser. Par exemple, dans un scénario équipe contre équipe,
vous pourriez vouloir définir les autorisations de clavardage pour permettre tous les types de communication entre les membres d'une même équipe, bloquer
la communication audio entre les membres des équipes adverses et permettre la réception de texte entre tous les participants de la session.

L'exemple suivant montre comment activer toutes les communications entre un contrôle de clavardage local et un contrôle de clavardage distant. La variable
`localChatControlA` pointe vers un objet `PartyLocalChatControl` valide, tandis que `remoteChatControlB` pointe vers un
objet `PartyChatControl` valide représentant un contrôle de clavardage sur un appareil distant.

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

<Note>
  Veuillez noter que les autorisations de clavardage s'appliquent uniquement localement. Dans l'exemple précédent, une communication bidirectionnelle complète n'aura lieu que si `remoteChatControlB` est configuré à distance pour autoriser toutes les communications avec `localChatControlA`
</Note>

## Sourdine

Les jeux ont également la possibilité de mettre en sourdine l'audio sortant (`PartyLocalChatControl::SetAudioInputMuted()`) ainsi que
l'audio entrant provenant d'un contrôle de clavardage distant (`PartyLocalChatControl::SetIncomingAudioInputMuted()`). Les états de
ces sourdines sont accessibles au moyen de leurs accesseurs respectifs et sont également reflétés dans les indicateurs de clavardage retournés
par `PartyLocalChatControl::GetChatIndicator()` et `PartyLocalChatControl::GetLocalChatIndicator()`.

Les sourdines sont particulièrement utiles pour donner au joueur une forme de contrôle temporaire sans avoir à modifier les
autorisations de clavardage que vous avez pu définir au début de la session de jeu.

## Comment configurer des scénarios courants

### Appuyer pour parler

La fonction « appuyer pour parler » doit être mise en œuvre à l'aide de la sourdine locale. Appelez `PartyLocalChatControl::SetAudioInputMuted(false)` pour permettre
la parole et `PartyLocalChatControl::SetAudioInputMuted(true)` pour la restreindre.

### Équipes

Supposons que nous ayons 4 utilisateurs, A, B, C et D, chacun sur son propre appareil. L'utilisateur A et l'utilisateur B font partie de l'équipe Bleue, et
l'utilisateur C et l'utilisateur D font partie de l'équipe Rouge.

Sur l'appareil de l'utilisateur 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);
```

### Diffusion

Supposons que l'utilisateur A soit le chef qui donne des ordres et que les utilisateurs B, C et D puissent seulement écouter.

Sur l'appareil de l'utilisateur A :

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

Sur l'appareil de l'utilisateur B :

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

Sur l'appareil de l'utilisateur C :

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

Sur l'appareil de l'utilisateur D :

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


## Related topics

- [Notes de version de PlayFab Party](/fr-CA/services/playfab/multiplayer/networking/release-notes.md)
- [XR-015 Gestion des communications des joueurs](/fr-CA/publishing/certification/xr/xr-015.md)
- [Exigences XBOX testées lors de la certification pour les jeux sur console XBOX](/fr-CA/publishing/certification/console-cert-tested-requirements.md)
- [Exigences XBOX pour les jeux XBOX](/fr-CA/publishing/certification/xbox-requirements.md)
- [XR015 Gestion des communications des joueurs](/fr-CA/publishing/certification/fma/xr-015.md)
