> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# game_chat_stream_state_change

> game_chat_stream_state_change

# game\_chat\_stream\_state\_change

Uma representação de estrutura base genérica de um evento para fluxos de manipulação de áudio.

## Sintaxe

```cpp theme={null}
typedef struct game_chat_stream_state_change {  
    game_chat_stream_state_change_type state_change_type;  
    union  
    {  
        pre_encode_audio_stream* pre_encode_audio_stream;  
        post_decode_audio_source_stream* post_decode_audio_source_stream;  
        post_decode_audio_sink_stream* post_decode_audio_sink_stream;  
    };  
} game_chat_stream_state_change  
```

### Membros

*state\_change\_type*\
Tipo: [game\_chat\_stream\_state\_change\_type](https://docs.xbox.com/pt-BR/reference/chat/gamechat2/enums/game_chat_stream_state_change_type.md)

O tipo específico da alteração de estado de fluxo representada. Use esse campo para determinar qual tipo de campo de fluxo deve ser lido da união de fluxos.

*pre\_encode\_audio\_stream*\
Tipo: [pre\_encode\_audio\_stream](https://docs.xbox.com/pt-BR/reference/chat/gamechat2/classes/pre_encode_audio_stream/pre_encode_audio_stream.md)\*

Um ponteiro para o fluxo de áudio de pré-codificação ao qual a alteração de estado de fluxo se aplica.

*post\_decode\_audio\_source\_stream*\
Tipo: [post\_decode\_audio\_source\_stream](https://docs.xbox.com/pt-BR/reference/chat/gamechat2/classes/post_decode_audio_source_stream/post_decode_audio_source_stream.md)\*

Um ponteiro para o fluxo de áudio de pós-decodificação ao qual a alteração de estado de fluxo se aplica.

*post\_decode\_audio\_sink\_stream*\
Tipo: [post\_decode\_audio\_sink\_stream](https://docs.xbox.com/pt-BR/reference/chat/gamechat2/classes/post_decode_audio_sink_stream/post_decode_audio_sink_stream.md)\*

Um ponteiro para o fluxo de coletor de áudio de pós-decodificação ao qual a alteração de estado de fluxo se aplica.

## Comentários

Essa estrutura representa uma alteração de estado de fluxo, como a criação de um fluxo de áudio de pré-codificação. As estruturas `game_chat_stream_state_change` são relatadas pelo método [chat\_manager::start\_processing\_stream\_state\_changes](https://docs.xbox.com/pt-BR/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_start_processing_stream_state_changes.md). O aplicativo trata as alterações de estado de fluxo representadas e, em seguida, as devolve prontamente chamando o método [chat\_manager::finish\_processing\_stream\_state\_changes](https://docs.xbox.com/pt-BR/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_finish_processing_stream_state_changes.md).

O campo *state\_change\_type* indica o tipo de alteração de estado que ocorreu. Seu aplicativo deve usar o valor desse campo para determinar o tipo de fluxo ao qual a alteração de estado de fluxo se aplica e, em seguida, recuperar o ponteiro correspondente desse fluxo na união desta estrutura.

> [!NOTE]
>
> As alterações de estado de fluxo só ocorrem se a manipulação de áudio local ou remota estiver habilitada quando [chat\_manager::initialize](https://docs.xbox.com/pt-BR/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_initialize.md) for chamado. Para obter mais informações sobre como habilitar a manipulação de áudio, confira [Manipulação de áudio em tempo real](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/chat/game-chat2/real-time-audio-manipulation.md).

### game\_chat\_stream\_state\_change\_array

O tipo `game_chat_stream_state_change_array` é uma matriz constante de ponteiros `game_chat_stream_state_change`. Esse tipo é fornecido por conveniência e é usado com os métodos `chat_manager::start_processing_stream_state_changes` e `chat_manager::finish_processing_stream_state_changes`.

```cpp theme={null}
typedef class game_chat_stream_state_change * const * game_chat_stream_state_change_array;
```

## Requisitos

**Cabeçalho:** GameChat2.h

**Plataformas com suporte:** Windows, consoles da família XBOX One e consoles XBOX Series

## Documentação conceitual

* [Usando a API C++ do Game Chat 2](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/chat/game-chat2/using-game-chat-2.md)
* [Manipulação de áudio em tempo real](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/chat/game-chat2/real-time-audio-manipulation.md)

## Confira também

[Introdução ao Game Chat 2](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/chat/game-chat2/game-chat-2-intro.md)\
[chat\_manager](https://docs.xbox.com/pt-BR/reference/chat/gamechat2/classes/chat_manager/chat_manager.md)\
[Membros do GameChat2](https://docs.xbox.com/pt-BR/reference/chat/gamechat2/gamechat2_members.md)


## Related topics

- [game_chat_stream_state_change_type](https://docs.xbox.com/pt-BR/reference/chat/gamechat2/enums/game_chat_stream_state_change_type.md)
- [finish_processing_stream_state_changes](https://docs.xbox.com/pt-BR/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_finish_processing_stream_state_changes.md)
- [game_chat_state_change_type](https://docs.xbox.com/pt-BR/reference/chat/gamechat2/enums/game_chat_state_change_type.md)
- [start_processing_stream_state_changes](https://docs.xbox.com/pt-BR/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_start_processing_stream_state_changes.md)
- [Manipulação de áudio em tempo real](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/chat/game-chat2/real-time-audio-manipulation.md)
