Comprobar los indicadores de chat
Los indicadores de chat de PlayFab Party se pueden usar para solucionar problemas de audio. UsePartyLocalChatControl::GetLocalChatIndicator() para inspeccionar el estado de audio instantáneo del control de chat local. Un control de chat en buen estado debería devolver PartyLocalChatControlChatIndicator::Silent o PartyLocalChatControlChatIndicator::Talking, según si la biblioteca está detectando voz procedente de la entrada del micrófono.
-
Si se devuelve
PartyLocalChatControlChatIndicator::AudioInputMuted, la secuencia de audio saliente del control de chat se silenció previamente mediante una llamada aPartyLocalChatControl::SetAudioInputMuted(true)y el silencio debe deshabilitarse llamando aPartyLocalChatControl::SetAudioInputMuted(false). -
Si se devuelve
PartyLocalChatControlChatIndicator::NoAudioInput, o bien la entrada de audio del control de chat local nunca se estableció llamando aPartyLocalChatControl::SetAudioInputMuted(), o bien la entrada de audio no se pudo inicializar. Continúe con la siguiente sección para obtener sugerencias sobre cómo diagnosticar errores de inicialización de la entrada de audio.
PartyLocalChatControl::GetChatIndicator() para inspeccionar el estado de entrada de audio de un control de chat remoto, en relación con un control de chat local.
-
Si se devuelve
PartyChatControlChatIndicator::Silentcuando esperaba oír audio, esto podría significar que hay un problema con el dispositivo de audio remoto o que los permisos de chat del dispositivo remoto no están configurados para enviar audio a este control de chat. Continúe con la siguiente sección si esto se parece a lo que está experimentando. -
Si se devuelve
PartyChatControlChatIndicator::Talkingpero aún no puede oír ningún audio, es posible que haya un problema con el dispositivo de salida de audio local. Continúe con la siguiente sección para aprender a comprobar si un dispositivo de audio está en buen estado. -
Si se devuelve
PartyChatControlChatIndicator::IncomingVoiceDisabled, esto significa que los permisos de chat del control de chat local no se han configurado para permitir audio procedente del control de chat remoto. Continúe con la sección de permisos de chat. -
Si se devuelve
PartyChatControlChatIndicator::IncomingCommunicationsMuted, esto significa que el audio entrante se ha silenciado mediante una llamada anterior aPartyLocalChatControl::SetIncomingAudioMuted(). Llame aPartyLocalChatControl::SetIncomingAudioMuted()para reactivar el audio del control de chat remoto.
Comprobar que el dispositivo de audio se ha inicializado correctamente
Poco después de llamar aPartyLocalChatControl::SetAudioInput() o PartyLocalChatControl::SetAudioOutput(), recibirá un PartyLocalChatAudioInputChangedStateChange o un PartyLocalChatAudioOutputChangedStateChange. Ambos cambios de estado contendrán información que puede ayudarle a solucionar cualquier problema relacionado con los dispositivos de audio. Estos cambios de estado contienen un campo PartyAudioInputState y un campo PartyAudioOutputState que le proporcionarán información sobre el estado del dispositivo de audio. Si el estado del dispositivo de audio es distinto de Initialized, significa que PlayFab Party no pudo usar el dispositivo de audio deseado. El campo errorDetail del cambio de estado también se puede usar para obtener más información sobre la situación. Llame a PartyManager::GetErrorMessage() para obtener la forma legible por humanos del detalle del error.
De forma predeterminada, los controles de chat no estarán asociados con ningún dispositivo de audio. Asegúrese de llamar a
PartyLocalChatControl::SetAudioInput() y PartyLocalChatControl::SetAudioOutput() en todos sus controles de chat.Comprobar que los controles de chat tienen los permisos de chat correctos
UsePartyLocalChatControl::GetPermissions() para consultar las PartyChatPermissionOptions entre dos controles de chat. Por ejemplo, si una usuaria llamada Alice no puede oír a otro usuario llamado Bob, querrá asegurarse de que Alice tiene permiso para recibir audio de Bob y de que Bob tiene permiso para enviar audio a Alice.
En el dispositivo de Alice:
Comprobar el dispositivo predeterminado frente al dispositivo de comunicaciones predeterminado en Windows
Un punto de confusión frecuente respecto al audio en Windows tiene que ver con los conceptos de dispositivo predeterminado y dispositivo de comunicaciones predeterminado. Windows admite ambos conceptos, y pueden ser dispositivos diferentes. PlayFab Party, por diseño, usa el dispositivo de comunicaciones predeterminado en la versión de Windows de la biblioteca cuando se pasaAudioDeviceSelectionType::SystemDefault a PartyLocalChatControl::SetAudioInput o PartyLocalChatControl::SetAudioOutput. La solución de problemas y las pruebas siempre deben realizarse en relación con el dispositivo de comunicaciones predeterminado.