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

# Résolution des problèmes de conversation vocale

> Résolvez les problèmes de conversation vocale PlayFab Party à l'aide des indicateurs de conversation, 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 essaient de discuter ensemble et que l'un d'eux ou les deux ne s'entendent pas, essayez ces étapes de résolution des problèmes.

## Vérifier les indicateurs de conversation

Les indicateurs de conversation de PlayFab Party peuvent être utilisés pour résoudre les problèmes audio.

Utilisez `PartyLocalChatControl::GetLocalChatIndicator()` pour inspecter l'état audio instantané du contrôle de conversation local. Un contrôle de conversation sain doit renvoyer `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 renvoyé, le flux audio sortant du contrôle de conversation a été précédemment mis en sourdine par un appel à `PartyLocalChatControl::SetAudioInputMuted(true)` et la sourdine doit être désactivée en appelant `PartyLocalChatControl::SetAudioInputMuted(false)`

* Si `PartyLocalChatControlChatIndicator::NoAudioInput` est renvoyé, soit l'entrée audio du contrôle de conversation 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 conversation distant, par rapport à un contrôle de conversation local.

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

* Si `PartyChatControlChatIndicator::Talking` est renvoyé mais que vous n'entendez toujours aucun audio, 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 sain.

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

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

## Vérifier que le périphérique audio est correctement 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 informations 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 être utilisé pour obtenir plus d'informations sur la situation. Appelez `PartyManager::GetErrorMessage()` pour obtenir la forme lisible du détail de l'erreur.

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

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

Utilisez `PartyLocalChatControl::GetPermissions()` pour consulter les `PartyChatPermissionOptions` entre deux contrôles de conversation. Par exemple, si une utilisatrice Alice ne parvient pas à entendre 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 et le périphérique de communication par défaut dans Windows

Une source fréquente de confusion concernant l'audio sous Windows porte sur les notions de périphérique par défaut et de périphérique de communication par défaut. Windows prend en charge ces deux notions, 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`. La résolution des problèmes et les tests doivent toujours être effectués par rapport au périphérique de communication par défaut.


## Related topics

- [Résolution des problèmes de développement XStore](/fr/publishing/xstore-commerce/xstore-troubleshooting.md)
- [Résolution des problèmes de connexion aux services XBOX](/fr/services/xbox-services/fundamentals/identity/auth/live-troubleshooting-sign-in.md)
- [Guide de résolution des problèmes d'invitation et d'activité MPSD](/fr/services/xbox-services/multiplayer/mpsd/concepts/live-multiplayer-invite-troubleshooting.md)
- [XAG 119 : Conversation par reconnaissance vocale et synthèse vocale](/fr/build/game-principles/accessibility/xag-deep-dives/xag-119-chat.md)
- [Résolution des problèmes](/fr/services/xbox-services/develop/troubleshooting/index.md)
