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

# Dépannage du clavardage vocal

> Dépannez les problèmes de clavardage vocal de PlayFab Party à l'aide des indicateurs de clavardage, des diagnostics des périphériques audio et des vérifications de l'état de sourdine pour aider les joueurs qui ne s'entendent pas.

Si deux joueurs tentent de clavarder ensemble et que l'un d'eux ou les deux ne s'entendent pas, essayez les étapes de dépannage suivantes.

## Vérifier les indicateurs de clavardage

Les indicateurs de clavardage de PlayFab Party peuvent servir à dépanner les problèmes audio.

Utilisez `PartyLocalChatControl::GetLocalChatIndicator()` pour inspecter l'état audio instantané du contrôle de clavardage local. Un contrôle de clavardage en bon état devrait retourner `PartyLocalChatControlChatIndicator::Silent` ou `PartyLocalChatControlChatIndicator::Talking`, selon que la bibliothèque détecte ou non de la voix provenant de l'entrée du microphone.

* Si `PartyLocalChatControlChatIndicator::AudioInputMuted` est retourné, le flux audio sortant du contrôle de clavardage a été mis en sourdine précédemment au moyen d'un appel à `PartyLocalChatControl::SetAudioInputMuted(true)`, et la sourdine doit être désactivée en appelant `PartyLocalChatControl::SetAudioInputMuted(false)`

* Si `PartyLocalChatControlChatIndicator::NoAudioInput` est retourné, soit l'entrée audio du contrôle de clavardage local n'a jamais été définie en appelant `PartyLocalChatControl::SetAudioInputMuted()`, soit l'initialisation de l'entrée audio a échoué. Passez à la [section](#verify-that-the-audio-device-is-successfully-initialized) suivante pour obtenir des conseils sur le diagnostic des échecs d'initialisation de l'entrée audio.

Utilisez `PartyLocalChatControl::GetChatIndicator()` pour inspecter l'état de l'entrée audio d'un contrôle de clavardage distant, par rapport à un contrôle de clavardage local.

* Si `PartyChatControlChatIndicator::Silent` est retourné alors que vous vous attendiez à entendre du son, cela peut signifier qu'il y a un problème avec le périphérique audio distant ou que les autorisations de clavardage sur l'appareil distant ne sont pas configurées pour envoyer de l'audio à ce contrôle de clavardage. Passez à la [section](#verify-that-the-chat-controls-have-the-right-chat-permissions) suivante si cela ressemble à ce que vous vivez.

* Si `PartyChatControlChatIndicator::Talking` est retourné, mais que vous n'entendez toujours aucun son, il peut y avoir un problème avec le périphérique de sortie audio local. Passez à la [section](#verify-that-the-audio-device-is-successfully-initialized) suivante pour savoir comment vérifier si un périphérique audio est en bon état.

* Si `PartyChatControlChatIndicator::IncomingVoiceDisabled` est retourné, cela signifie que les autorisations de clavardage du contrôle de clavardage local n'ont pas été configurées pour autoriser l'audio provenant du contrôle de clavardage distant. Passez à la section sur les [autorisations de clavardage](#verify-that-the-chat-controls-have-the-right-chat-permissions).

* Si `PartyChatControlChatIndicator::IncomingCommunicationsMuted` est retourné, cela signifie que l'audio entrant a été mis en sourdine au moyen d'un appel précédent à `PartyLocalChatControl::SetIncomingAudioMuted()`. Appelez `PartyLocalChatControl::SetIncomingAudioMuted()` pour réactiver le son du contrôle de clavardage distant.

## Vérifier que le périphérique audio est bien initialisé

Peu après avoir appelé `PartyLocalChatControl::SetAudioInput()` ou `PartyLocalChatControl::SetAudioOutput()`, vous recevrez un `PartyLocalChatAudioInputChangedStateChange` ou un `PartyLocalChatAudioOutputChangedStateChange`. Ces deux changements d'état contiennent des renseignements qui peuvent vous aider à résoudre tout problème lié aux périphériques audio. Ces changements d'état contiennent un champ `PartyAudioInputState` et un champ `PartyAudioOutputState` qui vous renseignent sur l'état du périphérique audio. Si l'état du périphérique audio est autre que `Initialized`, cela signifie que PlayFab Party n'a pas pu utiliser le périphérique audio souhaité. Le champ `errorDetail` du changement d'état peut également servir à obtenir plus de renseignements sur la situation. Appelez `PartyManager::GetErrorMessage()` pour obtenir une forme lisible du détail de l'erreur.

<Note>
  Par défaut, les contrôles de clavardage ne sont associés à aucun périphérique audio. Assurez-vous d'appeler `PartyLocalChatControl::SetAudioInput()` et `PartyLocalChatControl::SetAudioOutput()` sur tous vos contrôles de clavardage.
</Note>

## Vérifier que les contrôles de clavardage disposent des bonnes autorisations de clavardage

Utilisez `PartyLocalChatControl::GetPermissions()` pour consulter les `PartyChatPermissionOptions` entre deux contrôles de clavardage. Par exemple, si une utilisatrice Alice n'entend pas un autre utilisateur, Bob, vous devez vous assurer qu'Alice a l'autorisation de recevoir l'audio de Bob et que Bob a l'autorisation d'envoyer de l'audio à Alice.

Sur l'appareil d'Alice :

```cpp theme={null}
PartyChatPermissionOptions chatPermissions;
PartyError error = localChatControlAlice->GetPermissions(remoteChatControlBob, &chatPermissions);
if (PARTY_SUCCEEDED(error))
{
    if (static_cast<bool>(chatPermissions & PartyChatPermissionOptions::ReceiveAudio))
    {
        printf("Alice can receive audio from Bob!");
    }
}
```

Sur l'appareil de Bob :

```cpp theme={null}
PartyChatPermissionOptions chatPermissions;
PartyError error = localChatControlBob->GetPermissions(remoteChatControlAlice, &chatPermissions);
if (PARTY_SUCCEEDED(error))
{
    if (static_cast<bool>(chatPermissions & PartyChatPermissionOptions::SendAudio))
    {
        printf("Bob can send audio to Alice!");
    }
}
```

## Vérifier le périphérique par défaut par rapport au périphérique de communication par défaut dans Windows

Une source fréquente de confusion concernant l'audio sous Windows porte sur les concepts de périphérique par défaut et de périphérique de communication par défaut. Windows prend en charge ces deux concepts, et il peut s'agir de périphériques différents. Par conception, PlayFab Party utilise le périphérique de communication par défaut dans la version Windows de la bibliothèque lorsque `AudioDeviceSelectionType::SystemDefault` est passé à `PartyLocalChatControl::SetAudioInput` ou à `PartyLocalChatControl::SetAudioOutput`. Le dépannage et les tests doivent toujours être effectués par rapport au périphérique de communication par défaut.


## Related topics

- [Notes de version de PlayFab Party](/fr-CA/services/playfab/multiplayer/networking/release-notes.md)
- [Étiquettes de fonctionnalités d'accessibilité](/fr-CA/build/game-principles/accessibility/accessibility-feature-tags.md)
- [Vue d'ensemble de l'accessibilité GDK](/fr-CA/build/game-principles/accessibility/accessibility-overview.md)
- [Notes de version du SDK C++ PlayFab Multiplayer](/fr-CA/services/playfab/multiplayer/lobby/lobby-matchmaking-sdks/lobby-and-matchmaking-release-notes.md)
- [XR-132 Limites d'accès aux services](/fr-CA/publishing/certification/xr/xr-132.md)
