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

# chat_manager::initialize

> chat_manager::initialize

# chat\_manager::initialize

初始化物件執行個體。

## 語法

```cpp theme={null}
void initialize(  
    uint32_t maxChatUserCount,  
    float defaultAudioRenderVolume= 1.0f,  
    game_chat_communication_relationship_flags defaultLocalToRemoteCommunicationRelationship= game_chat_communication_relationship_flags none,  
    game_chat_shared_device_communication_relationship_resolution_mode sharedDeviceResolutionMode= game_chat_shared_device_communication_relationship_resolution_mode permissive,  
    game_chat_speech_to_text_conversion_mode speechToTextConversionMode= game_chat_speech_to_text_conversion_mode automatic,  
    game_chat_audio_manipulation_mode_flags audioManipulationMode= game_chat_audio_manipulation_mode_flags none  
)  
```

### 參數

*maxChatUserCount*   \_In\_\
類型：uint32\_t

在任何指定時間會新增至本機 chat\_manager 執行個體的本機和遠端使用者總數上限。Game Chat 會預先配置與使用者數目成比例的記憶體。

*defaultAudioRenderVolume*   \_In\_range\_(0,1)\
類型：float

將用於新使用者的音訊轉譯音量。

*defaultLocalToRemoteCommunicationRelationship*   \_In\_\
類型：[game\_chat\_communication\_relationship\_flags](/zh-TW/reference/chat/gamechat2/enums/game_chat_communication_relationship_flags)

本機與遠端使用者之間將使用的預設通訊關係。也就是說，當遠端使用者加入時，這會是所有現有本機使用者與該遠端使用者之間使用的預設關係。當本機使用者加入時，這會是該本機使用者與所有現有遠端使用者之間的預設關係。

*sharedDeviceResolutionMode*   \_In\_\
類型：[game\_chat\_shared\_device\_communication\_relationship\_resolution\_mode](/zh-TW/reference/chat/gamechat2/enums/game_chat_shared_device_communication_relationship_resolution_mode)

用於共用裝置上具有衝突通訊關係之使用者的解析模式。

*speechToTextConversionMode*   \_In\_\
類型：[game\_chat\_speech\_to\_text\_conversion\_mode](/zh-TW/reference/chat/gamechat2/enums/game_chat_speech_to_text_conversion_mode)

設定語音轉文字轉換模式。

*audioManipulationMode*   \_In\_\
類型：[game\_chat\_audio\_manipulation\_mode\_flags](/zh-TW/reference/chat/gamechat2/enums/game_chat_audio_manipulation_mode_flags)

將此參數傳遞為 game\_chat\_audio\_manipulation\_mode\_flags::none 時，音訊可不中斷地流經 Game Chat。傳遞此參數並設定 game\_chat\_audio\_manipulation\_mode\_flags::pre\_encode\_stream\_manipulation 位元時，可存取聊天使用者音訊資料，以便在傳送端進行處理和操作。音訊資料的存取是透過使用 [pre\_encode\_audio\_stream](/zh-TW/reference/chat/gamechat2/classes/pre_encode_audio_stream/pre_encode_audio_stream) 物件來啟用。這些物件可使用 [chat\_manager::get\_pre\_encode\_audio\_streams](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_get_pre_encode_audio_streams) 方法來查詢。當 Game Chat 建立、關閉和終結 [pre\_encode\_audio\_stream](/zh-TW/reference/chat/gamechat2/classes/pre_encode_audio_stream/pre_encode_audio_stream) 物件時，將產生對應的 [game\_chat\_stream\_state\_change](/zh-TW/reference/chat/gamechat2/structs/game_chat_stream_state_change) 事件。傳遞此參數並設定 game\_chat\_audio\_manipulation\_mode\_flags::post\_decode\_stream\_manipulation 位元時，可存取聊天使用者音訊資料，以便在接收端進行處理和操作。音訊資料的存取是透過使用 [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](/zh-TW/reference/chat/gamechat2/classes/post_decode_audio_sink_stream/post_decode_audio_sink_stream) 物件來啟用。這些物件可使用 [chat\_manager::get\_post\_decode\_audio\_source\_streams](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_get_post_decode_audio_source_streams) 和 [chat\_manager::get\_post\_decode\_audio\_sink\_streams](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_get_post_decode_audio_sink_streams) 方法來查詢。當 Game Chat 建立、關閉和終結 [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](/zh-TW/reference/chat/gamechat2/classes/post_decode_audio_sink_stream/post_decode_audio_sink_stream) 物件時，將產生對應的 [game\_chat\_stream\_state\_change](/zh-TW/reference/chat/gamechat2/structs/game_chat_stream_state_change) 事件。

### 傳回值

類型：void

## 備註

除了靜態方法 chat\_manager::singleton\_instance()、chat\_manager::set\_memory\_callbacks()、chat\_manager::get\_memory\_callbacks()、chat\_manager::set\_thread\_processor() 和 chat\_manager::get\_thread\_processor() 之外，必須先呼叫此方法，才能呼叫任何其他方法。若沒有後續的 chat\_manager::cleanup() 呼叫，就無法再次呼叫 chat\_manager::initialize()。

每次呼叫 chat\_manager::initialize() 都應該有對應的 chat\_manager::cleanup() 呼叫。

## 需求

**標頭：** GameChat2.h

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

## 另請參閱

[chat\_manager](/zh-TW/reference/chat/gamechat2/classes/chat_manager/chat_manager)\
[chat\_manager::cleanup](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_cleanup)\
[chat\_manager::singleton\_instance](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_singleton_instance)\
[chat\_manager::set\_memory\_callbacks](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_set_memory_callbacks)\
[chat\_manager::get\_memory\_callbacks](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_get_memory_callbacks)\
[chat\_manager::set\_thread\_processor](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_set_thread_processor)\
[chat\_manager::get\_thread\_processor](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_get_thread_processor)\
[pre\_encode\_audio\_stream](/zh-TW/reference/chat/gamechat2/classes/pre_encode_audio_stream/pre_encode_audio_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](/zh-TW/reference/chat/gamechat2/classes/post_decode_audio_sink_stream/post_decode_audio_sink_stream)


## Related topics

- [chat_manager::cleanup](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_cleanup.md)
- [chat_manager::set_thread_processor](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_set_thread_processor.md)
- [chat_manager::set_legacy_era_uwp_compat_mode_enabled](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_set_legacy_era_uwp_compat_mode_enabled.md)
- [chat_manager::set_thread_affinity_mask](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_set_thread_affinity_mask.md)
- [chat_manager::add_remote_user](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_add_remote_user.md)
