PlayFab パーティーチャットのしくみについて

PlayFab パーティーでは、音声とテキストのコミュニケーションを簡単にゲームに追加できます。

PlayFab パーティーチャット:

  • 柔軟: プレーヤーの通信方法を完全に制御できます。
  • 強力: サポートされているプラットフォームでハードウェアコーデックアクセラレータを使います。
  • アクセシビリティ: Azure 認知サービスを利用することにより、音声からテキスト、音声合成、翻訳機能が組み込まれ、簡単に使えます。
  • 効率的: チャットシステムをネットワークレイヤーと緊密に統合することで、音声データが送信され、最も効率的な方法で対応する必要があります。

チャットの基本

ゲームに音声とテキストの通信を追加するには、まずオブジェクトを作成する必要があり PartyLocalChatControl ます。 この PartyLocalChatControl オブジェクトは、特定のローカルユーザーに関連するチャット操作の管理オブジェクトとして機能し、入力デバイス、出力デバイス、ミュート状態、およびアクセシビリティ設定を選ぶことができます。 各ローカルユーザーは、複数のチャットコントロールを持つことはできません。 ローカルチャットコントロールが別のチャットコントロールと通信するには、次の要件を満たしている必要があります。

  1. 2つのチャットコントロールは同じネットワーク内に存在する必要があります。
  2. 2つのチャットコントロール間のチャットアクセス許可で、音声またはテキスト通信が流れるようにする必要があります。

お客さまのローカルチャットコントロールが手元に表示されたら、を使ってネットワークに接続する準備ができました PartyNetwork::ConnectChatControl() 。 接続すると、ネットワーク内の他のデバイスに、チャットコントロールがネットワークに追加され、状態が変化したことが通知され PartyChatControlJoinedNetworkStateChange ます。 また、 PartyChatControlJoinedNetworkStateChange 既にネットワークに接続されている他のすべてのチャットコントロールのを受け取り、直ちに連絡を取ることができます。

オーディオ入力と出力

PlayFab パーティーでは、とメソッドを使って、チャットコントロールで使用するオーディオデバイスを選ぶことができ PartyLocalChatControl::SetAudioInput() PartyLocalChatControl::SetAudioOutput() ます。 Enum を使っ PartyAudioDeviceSelectionType て、これらのメソッドの動作を変更します。

PartyAudioDeviceSelectionType::None

このオーディオデバイスの選択の種類を選択すると、チャットコントロールはどのオーディオデバイスも使用しません。 これが既定値です。

PartyAudioDeviceSelectionType::SystemDefault

このオーディオデバイスの選択の種類を選択すると、チャットコントロールはシステムの既定の通信デバイスを使用しようとします。 Windows では、Windows のサウンドコントロールパネルを使って、いつでもこのデバイスを変更できます。また、これらの変更については、パーティが自動的に対応します。 この選択の種類は Xbox One ではサポートされていません。複数のローカルユーザーが同時にチャットに参加している場合は、通常は推奨されません。

PartyAudioDeviceSelectionType::PlatformUserDefault

このオーディオデバイスの選択の種類が選択されているときに、 PartyLocalChatControl::SetAudioInput() PartyLocalChatControl::SetAudioOutput() パラメーターがプラットフォームの audioDeviceSelectionContext ユーザー ID に設定されている必要があります。 パーティは、そのユーザーに関連付けられているプラットフォームの既定の通信デバイスを使おうとします。 Xbox One では、は、 audioDeviceSelectionContext チャットコントロールに現在関連付けられているユーザーに関連付けられている Xbox ユーザー ID である必要があります。

PartyAudioDeviceSelectionType::Manual

このオーディオデバイスの選択タイプが選択されると、その PartyLocalChatControl::SetAudioInput() PartyLocalChatControl::SetAudioOutpu()t パラメーターが audioDeviceSelectionContext 有効なオーディオデバイス識別子として使用され、その識別子に一致するデバイスの使用が試みられます。 次の表を参照して、PlayFab パーティーでサポートされている識別子の種類を確認してください。

プラットフォーム 使用目的
Windows 7 IMMDevice
Windows 10 IMMDevice/Windows.Media.Devices
Xbox One Xbox One XDK ドキュメントを参照してください。

注意

PartyAudioDeviceSelectionType::PlatformUserDefaultXbox One と Windows プラットフォームでの使用を強くお勧め PartyAudioDeviceSelectionType::SystemDefault します。

チャットの権限とミュート

PlayFab パーティーでは、プレイヤー間のコミュニケーションをきめ細かく制御できます。 PlayFab パーティーでは、チームまたはチャネルを指定する代わりに、チャットコントロールの各ペア間のアクセス許可を明示的に定義する必要があります。 チャットのアクセス許可、ミュート、一般的なチャットシナリオの作成方法の詳細については、「チャットのアクセス許可の概要」を参照してください。

テキストチャットと翻訳

PlayFab パーティーでは、他のチャットコントロールにテキストチャットを送信したり、受信したりすることもできます。 この PartyLocalChatControl::SendText() 方法では、任意の数のチャットコントロールにテキストメッセージを送信できますが、そのままにしておくことで、適切なチャットアクセス許可を持つチャットコントロールのみがメッセージを受信できることが保証され PartyChatPermissionOptions::ReceiveText ます。

テキストチャット翻訳は、通話によって有効にすることもでき PartyLocalChatControl::SetTextChatOptions() ます。 このオプションを設定する PartyTextChatOptions::TranslateToLocalLanguage と、PlayFab パーティーは着信テキストメッセージをローカルチャットコントロールの言語に翻訳します。 チャットコントロールの言語は、必要に応じてチャットコントロールの作成中に構成できます。また、通話によってアクセスすることもでき PartyLocalChatControl::GetLanguage() ます。 翻訳は、音声からテキストへの着信の送信にも適用されます。

アクセシビリティの高いチャット

Azure Speech Services を使用すると、PlayFab パーティーはプレーヤーのボイスチャットの議事録を行い、テキストから音声を合成することができます。 この機能にはいくつかの用途がありますが、主にアクセシビリティ鍵として設計されています。 簡単操作のプレイヤー設定に対してこの機能を有効化することをお勧めします。 PlayFab パーティーで提供されるアクセシビリティ機能の使用方法について詳しくは、「音声合成のガイドライン」と「スピーチとテキストのガイドライン」をご覧ください。

次の手順