Vérifier les indicateurs de conversation
Les indicateurs de conversation de PlayFab Party peuvent être utilisés pour résoudre les problèmes audio. UtilisezPartyLocalChatControl::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::AudioInputMutedest 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 appelantPartyLocalChatControl::SetAudioInputMuted(false) -
Si
PartyLocalChatControlChatIndicator::NoAudioInputest renvoyé, soit l’entrée audio du contrôle de conversation local n’a jamais été définie en appelantPartyLocalChatControl::SetAudioInputMuted(), soit l’initialisation de l’entrée audio a échoué. Passez à la section suivante pour obtenir des conseils sur le diagnostic des échecs d’initialisation de l’entrée audio.
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::Silentest 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 suivante si cela correspond à ce que vous constatez. -
Si
PartyChatControlChatIndicator::Talkingest 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 suivante pour savoir comment vérifier si un périphérique audio est sain. -
Si
PartyChatControlChatIndicator::IncomingVoiceDisabledest 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. -
Si
PartyChatControlChatIndicator::IncomingCommunicationsMutedest renvoyé, cela signifie que l’audio entrant a été mis en sourdine par un appel précédent àPartyLocalChatControl::SetIncomingAudioMuted(). AppelezPartyLocalChatControl::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.
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.Vérifier que les contrôles de conversation disposent des bonnes autorisations de conversation
UtilisezPartyLocalChatControl::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 :
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 lorsqueAudioDeviceSelectionType::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.