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

# game_chat_stream_state_change

> game_chat_stream_state_change

# game\_chat\_stream\_state\_change

音訊操作串流事件的一般基底結構表示法。

<a id="syntaxSection" />

## 語法

```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  
```

<a id="membersSection" />

### 成員

*state\_change\_type*\
類型：[game\_chat\_stream\_state\_change\_type](/zh-TW/reference/chat/gamechat2/enums/game_chat_stream_state_change_type)

所代表之串流狀態變更的特定類型。使用此欄位判斷要從串流等位中讀取哪種類型的串流欄位。

*pre\_encode\_audio\_stream*\
類型：[pre\_encode\_audio\_stream](/zh-TW/reference/chat/gamechat2/classes/pre_encode_audio_stream/pre_encode_audio_stream)\*

指向串流狀態變更所套用之編碼前音訊串流的指標。

*post\_decode\_audio\_source\_stream*\
類型：[post\_decode\_audio\_source\_stream](/zh-TW/reference/chat/gamechat2/classes/post_decode_audio_source_stream/post_decode_audio_source_stream)\*

指向串流狀態變更所套用之解碼後音訊串流的指標。

*post\_decode\_audio\_sink\_stream*\
類型：[post\_decode\_audio\_sink\_stream](/zh-TW/reference/chat/gamechat2/classes/post_decode_audio_sink_stream/post_decode_audio_sink_stream)\*

指向串流狀態變更所套用之解碼後音訊接收串流的指標。

<a id="remarksSection" />

## 備註

此結構代表串流狀態變更，例如建立編碼前音訊串流。`game_chat_stream_state_change` 結構由 [chat\_manager::start\_processing\_stream\_state\_changes](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_start_processing_stream_state_changes) 方法回報。應用程式會處理所代表的串流狀態變更，然後藉由呼叫 [chat\_manager::finish\_processing\_stream\_state\_changes](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_finish_processing_stream_state_changes) 方法立即將其傳回。

*state\_change\_type* 欄位指出發生了哪一種狀態變更。您的應用程式應使用此欄位的值來判斷串流狀態變更所套用的串流類型，然後從此結構的等位中擷取該串流的對應指標。

<Note>只有在呼叫 [chat\_manager::initialize](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_initialize) 時已啟用本機或遠端音訊操作，才會發生串流狀態變更。如需啟用音訊操作的詳細資訊，請參閱[即時音訊操作](/zh-TW/services/xbox-services/multiplayer/chat/game-chat2/real-time-audio-manipulation)。</Note>

<a id="array" />

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

`game_chat_stream_state_change_array` 類型是 `game_chat_stream_state_change` 指標的常數陣列。提供此類型是為了方便起見，搭配 `chat_manager::start_processing_stream_state_changes` 和 `chat_manager::finish_processing_stream_state_changes` 方法使用。

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

<a id="requirementsSection" />

## 需求

**標頭：** GameChat2.h

**支援的平台：** Windows、XBOX One 系列主機和 XBOX Series 主機

<a id="seealsoSection" />

## 概念文件

* [使用 Game Chat 2 C++ API](/zh-TW/services/xbox-services/multiplayer/chat/game-chat2/using-game-chat-2)
* [即時音訊操作](/zh-TW/services/xbox-services/multiplayer/chat/game-chat2/real-time-audio-manipulation)

## 另請參閱

[Game Chat 2 簡介](/zh-TW/services/xbox-services/multiplayer/chat/game-chat2/game-chat-2-intro)\
[chat\_manager](/zh-TW/reference/chat/gamechat2/classes/chat_manager/chat_manager)\
[GameChat2 成員](/zh-TW/reference/chat/gamechat2/gamechat2_members)


## Related topics

- [game_chat_stream_state_change_type](/zh-TW/reference/chat/gamechat2/enums/game_chat_stream_state_change_type.md)
- [chat_manager::finish_processing_stream_state_changes](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_finish_processing_stream_state_changes.md)
- [game_chat_state_change_type](/zh-TW/reference/chat/gamechat2/enums/game_chat_state_change_type.md)
- [chat_manager::start_processing_stream_state_changes](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_start_processing_stream_state_changes.md)
- [即時音訊操作](/zh-TW/services/xbox-services/multiplayer/chat/game-chat2/real-time-audio-manipulation.md)
