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

# Entendendo como funciona o chat do PlayFab Party

> Visão geral do chat de voz e texto do PlayFab Party, abordando PartyLocalChatControl, redes, codecs de hardware e os recursos integrados de conversão de fala em texto e tradução.

Com o PlayFab Party, você pode adicionar facilmente comunicação por voz e texto ao seu jogo.

O chat do PlayFab Party é:

* **Flexível**: oferece controle total sobre como você deseja que seus jogadores se comuniquem.
* **Poderoso**: usa aceleração de codec de hardware em plataformas com suporte.
* **Acessível**: com tecnologia dos Serviços Cognitivos do Azure, os recursos de conversão de fala em texto, conversão de texto em fala e tradução são integrados e fáceis de habilitar.
* **Eficiente**: ter o sistema de chat totalmente integrado à camada de rede significa que os dados de voz são enviados para onde precisam ir da maneira mais eficiente possível.

## Noções básicas de chat

Para adicionar comunicação por voz e texto ao seu jogo, primeiro você precisará criar um objeto `PartyLocalChatControl`. Esse
objeto `PartyLocalChatControl` atuará como o objeto de gerenciamento para operações de chat relacionadas a um usuário local específico,
permitindo que você escolha o dispositivo de entrada e de saída, o estado de mudo e as preferências de acessibilidade. Cada usuário local pode
ter no máximo um controle de chat. Para que um controle de chat local se comunique com outro controle de chat, os seguintes
requisitos devem ser atendidos:

1. Os dois controles de chat devem estar na mesma rede.
2. As [permissões de chat](/pt-BR/services/playfab/community/voice-communications/concepts-chat-permissions-and-muting) entre os dois controles de chat devem permitir
   que a comunicação de áudio e/ou texto flua.

Com seu controle de chat local em mãos, agora você está pronto para conectá-lo a uma rede chamando `PartyNetwork::ConnectChatControl()`.
Após a conexão, outros dispositivos na rede serão notificados de que seu controle de chat ingressou na rede por meio de uma
alteração de estado `PartyChatControlJoinedNetworkStateChange`. Você também receberá um `PartyChatControlJoinedNetworkStateChange`
para cada outro controle de chat que já esteja na rede e poderá se comunicar com eles imediatamente.

## Entradas e saídas de áudio

O Party permite escolher quais dispositivos de áudio serão usados pelo seu controle de chat com os métodos `PartyLocalChatControl::SetAudioInput()`
e `PartyLocalChatControl::SetAudioOutput()`. Use a enumeração `PartyAudioDeviceSelectionType` para alterar o comportamento
desses métodos:

### `PartyAudioDeviceSelectionType::None`

Quando esse tipo de seleção de dispositivo de áudio é escolhido, o controle de chat não usa nenhum dispositivo de áudio. Esse tipo de seleção de dispositivo de áudio é o padrão.

### `PartyAudioDeviceSelectionType::SystemDefault`

Quando esse tipo de seleção de dispositivo de áudio é escolhido, o controle de chat tenta usar o dispositivo de comunicação padrão do sistema.
No Windows, o jogador pode alterar esse dispositivo a qualquer momento por meio do Painel de Controle de Som do Windows, e o Party responderá a essas alterações automaticamente. Esse tipo de seleção não tem suporte no XBOX One e geralmente não é recomendado se você tiver mais de um
usuário local participando do chat simultaneamente.

### `PartyAudioDeviceSelectionType::PlatformUserDefault`

Quando esse tipo de seleção de dispositivo de áudio é escolhido, `PartyLocalChatControl::SetAudioInput()` e `PartyLocalChatControl::SetAudioOutput()`
exigem que o parâmetro `audioDeviceSelectionContext` seja definido como uma ID de usuário da plataforma. O Party então tenta
usar o dispositivo de comunicação padrão da plataforma associado a esse usuário. No XBOX One, o `audioDeviceSelectionContext`
deve ser a ID de usuário do XBOX associada ao usuário atualmente vinculado ao controle de chat.

### `PartyAudioDeviceSelectionType::Manual`

Quando esse tipo de seleção de dispositivo de áudio é escolhido, `PartyLocalChatControl::SetAudioInput()` e `PartyLocalChatControl::SetAudioOutput()`
usarão o parâmetro `audioDeviceSelectionContext` como um identificador de dispositivo de áudio válido e tentarão usar qualquer dispositivo
que corresponda a esse identificador. Consulte a tabela a seguir para ver que tipo de identificador o PlayFab Party suporta:

| **Plataforma** | **O que usar** |
| :- | :- |
| Windows 10 | [`IMMDevice`](https://learn.microsoft.com/en-us/windows/win32/api/mmdeviceapi/nf-mmdeviceapi-immdevice-getid) ou [`Windows.Media.Devices`](https://learn.microsoft.com/en-us/uwp/api/windows.media.devices.mediadevice) |
| XBOX | Consulte a documentação do XBOX GDK |

<Note>
  Recomendamos enfaticamente usar `PartyAudioDeviceSelectionType::PlatformUserDefault` no XBOX One e `PartyAudioDeviceSelectionType::SystemDefault` em plataformas Windows.
</Note>

## Permissões de chat e mudo

O Party oferece controle refinado sobre como seus jogadores podem se comunicar uns com os outros. Em vez de
especificar equipes ou canais, o Party exige a definição explícita das permissões entre cada par de controles de chat.
Para saber mais sobre permissões de chat, mudo e como criar cenários de chat comuns, consulte a página de
[visão geral das permissões de chat](/pt-BR/services/playfab/community/voice-communications/concepts-chat-permissions-and-muting).

## Chat de texto, tradução e moderação

O Party também permite enviar e receber chat de texto de outros controles de chat. Embora o método `PartyLocalChatControl::SendText()`
permita enviar mensagens de texto para um número arbitrário de controles de chat, você pode ter certeza de que somente os
controles de chat com a permissão de chat `PartyChatPermissionOptions::ReceiveText` apropriada recebem as mensagens.

A tradução do chat de texto também pode ser habilitada chamando `PartyLocalChatControl::SetTextChatOptions()`. Ao definir a
opção `PartyTextChatOptions::TranslateToLocalLanguage`, o Party traduzirá as mensagens de texto recebidas para o idioma do
controle de chat local. O idioma do controle de chat pode, opcionalmente, ser configurado durante a criação do controle de chat e pode ser
acessado chamando `PartyLocalChatControl::GetLanguage()`. A tradução também será aplicada à transcrição de fala em texto recebida.

A moderação de texto também está disponível para o chat de texto. Para saber mais sobre esse recurso, consulte a página [Usando a moderação de texto](/pt-BR/services/playfab/community/voice-communications/concepts-text-moderation).

## Chat acessível

Com tecnologia dos Serviços de Fala do Azure, o Party pode transcrever o chat de voz dos jogadores e sintetizar fala a partir de texto.
Essa funcionalidade tem vários usos, mas foi projetada principalmente como um auxílio de acessibilidade. Recomendamos vincular a ativação
desse recurso a uma configuração de facilidade de acesso do jogador. Para obter mais informações sobre como usar os recursos de acessibilidade fornecidos pelo Party, consulte as [diretrizes de conversão de texto em fala](/pt-BR/services/playfab/community/voice-communications/party-text-to-speech-ux-guidelines) e as [diretrizes de conversão de fala em texto](/pt-BR/services/playfab/community/voice-communications/party-speech-to-text-ux-guidelines).

## Supressão de ruído da entrada de áudio

O Party permite suprimir o ruído de fundo no áudio capturado do microfone antes que ele seja transmitido para controles de chat remotos. Isso pode aumentar significativamente a qualidade do áudio de voz dos seus jogadores. Para obter mais informações sobre como habilitar a supressão de ruído, consulte a página [Usando a supressão de ruído](/pt-BR/services/playfab/community/voice-communications/concepts-noise-suppression).

<Note>
  No momento, a supressão de ruído está disponível somente para uso no iOS e no Android.
</Note>

## Próximas etapas

* [Saiba mais sobre as permissões de chat e o mudo do PlayFab Party](/pt-BR/services/playfab/community/voice-communications/concepts-chat-permissions-and-muting)


## Related topics

- [Descripción de cómo funciona el chat de PlayFab Party](/es/services/playfab/community/voice-communications/concepts-chat.md)
- [Notas de versão do PlayFab Party](/pt-BR/services/playfab/multiplayer/networking/release-notes.md)
- [Permisos de chat y silenciado de PlayFab Party](/es/services/playfab/community/voice-communications/concepts-chat-permissions-and-muting.md)
- [Adición de chat mediante Microsoft Azure PlayFab Party](/es/services/xbox-services/multiplayer/chat/playfab-party-intro-chat.md)
- [Cómo funciona el emparejamiento](/es/services/playfab/multiplayer/matchmaking/how-matchmaking-works.md)
