- 彈性:讓您完全掌控玩家的通訊方式。
- 強大:在支援的平台上使用硬體轉碼器加速。
- 協助工具:由 Azure 認知服務提供技術支援,內建語音轉文字、文字轉語音和翻譯功能,且容易啟用。
- 有效率:讓聊天系統與網路層緊密整合,表示語音資料能以最有效率的方式傳送到需要的地方。
聊天基本概念
若要將語音與文字通訊新增至您的遊戲,您首先需要建立PartyLocalChatControl 物件。此
PartyLocalChatControl 物件將作為與特定本機使用者相關之聊天作業的管理物件,
讓您可以選擇輸入和輸出裝置、靜音狀態與協助工具喜好設定。每位本機使用者
最多只能有一個聊天控制項。若要讓本機聊天控制項與另一個聊天控制項通訊,必須符合下列
需求:
- 兩個聊天控制項必須位於同一個網路中。
- 兩個聊天控制項之間的聊天權限必須允許 音訊和/或文字通訊流動。
PartyNetwork::ConnectChatControl() 將其連線至網路。
連線後,網路中的其他裝置會透過
PartyChatControlJoinedNetworkStateChange 狀態變更收到您的聊天控制項已加入網路的通知。您也會針對網路中已存在的每個其他聊天控制項收到 PartyChatControlJoinedNetworkStateChange,
並能立即與它們通訊。
音訊輸入與輸出
Party 可讓您使用PartyLocalChatControl::SetAudioInput()
和 PartyLocalChatControl::SetAudioOutput() 方法選擇聊天控制項要使用的音訊裝置。使用 PartyAudioDeviceSelectionType 列舉來變更
這些方法的行為:
PartyAudioDeviceSelectionType::None
選擇此音訊裝置選取類型時,聊天控制項不會使用任何音訊裝置。此音訊裝置選取類型為預設值。
PartyAudioDeviceSelectionType::SystemDefault
選擇此音訊裝置選取類型時,聊天控制項會嘗試使用系統的預設通訊裝置。
在 Windows 上,玩家可以隨時透過 Windows 聲音控制台變更此裝置,而 Party 會自動回應這些變更。XBOX One 不支援此選取類型,而且如果您有多位
本機使用者同時參與聊天,一般不建議使用。
PartyAudioDeviceSelectionType::PlatformUserDefault
選擇此音訊裝置選取類型時,PartyLocalChatControl::SetAudioInput() 和 PartyLocalChatControl::SetAudioOutput()
需要將 audioDeviceSelectionContext 參數設定為平台使用者識別碼。Party 接著會嘗試
使用與該使用者相關聯的平台預設通訊裝置。在 XBOX One 上,audioDeviceSelectionContext
應為與目前繫結至聊天控制項之使用者相關聯的 XBOX 使用者識別碼。
PartyAudioDeviceSelectionType::Manual
選擇此音訊裝置選取類型時,PartyLocalChatControl::SetAudioInput() 和 PartyLocalChatControl::SetAudioOutput()
會將 audioDeviceSelectionContext 參數作為有效的音訊裝置識別碼,並嘗試使用任何
符合該識別碼的裝置。請參閱下表,了解 PlayFab Party 支援哪種識別碼:
我們強烈建議在 XBOX One 上使用
PartyAudioDeviceSelectionType::PlatformUserDefault,並在 Windows 平台上使用 PartyAudioDeviceSelectionType::SystemDefault。聊天權限與靜音
Party 讓您能精細地控制玩家彼此之間的通訊方式。Party 不是指定隊伍或頻道, 而是要求明確定義每一對聊天控制項之間的權限。 若要深入了解聊天權限、靜音以及如何建置常見的聊天情境,請參閱 聊天權限概觀頁面。文字聊天、翻譯與內容審核
Party 也可讓您與其他聊天控制項傳送和接收文字聊天。雖然PartyLocalChatControl::SendText()
方法可讓您將文字訊息傳送給任意數量的聊天控制項,但您可以放心,只有
具備適當 PartyChatPermissionOptions::ReceiveText 聊天權限的聊天控制項才會收到訊息。
您也可以呼叫 PartyLocalChatControl::SetTextChatOptions() 來啟用文字聊天翻譯。設定
PartyTextChatOptions::TranslateToLocalLanguage 選項後,Party 會將傳入的文字訊息翻譯成本機
聊天控制項的語言。聊天控制項的語言可以在建立聊天控制項時選擇性地設定,並可
透過呼叫 PartyLocalChatControl::GetLanguage() 存取。翻譯也會套用至傳入的語音轉文字轉錄內容。
文字聊天也提供文字內容審核功能。若要深入了解此功能,請參閱使用文字內容審核頁面。
協助工具聊天
Party 由 Azure 語音服務提供技術支援,可以轉錄玩家的語音聊天,並從文字合成語音。 此功能有多種用途,但主要是設計作為協助工具輔助。我們建議將此功能的啟用 與輕鬆存取玩家設定繫結。如需如何使用 Party 所提供之協助工具功能的詳細資訊,請參閱文字轉語音指導方針和語音轉文字指導方針。音訊輸入雜訊抑制
Party 可讓您在擷取的麥克風音訊傳輸至遠端聊天控制項之前,先抑制其中的背景雜訊。這可以大幅提升玩家語音音訊的品質。如需如何啟用雜訊抑制的詳細資訊,請參閱使用雜訊抑制頁面。雜訊抑制目前僅適用於 iOS 和 Android。
