Voice Interface

製品を使用中のユーザー間のボイス チャット ルームを作成および管理するには、Vioce インターフェースを使用します。

Preview
7 分で読めます

Epic Online Services (EOS) Voice は、ユーザー間のボイス チャット ルームを作成および管理するのに役立ちます。EOS Lobbies を使って Epic のサーバー上、または独自のバックエンド サービス上に EOS Voice チャットルームをホストすることができます。このインターフェースを使用して、対戦中や製品のロビーで、複数のプラットフォーム間で一対一またはグループでコミュニケーションを取ることができます。

EOS Voice で作成される接続は、認証済みのユーザー間でのみ確立され、そのユーザーに関する個人情報を公開することなく EOS Voice サーバーを通過します。EOS は、スケーリング、サービス品質、メンテナンス、マルチリージョンでのプレゼンス、および Voice サーバーの他の機構をすべて処理します。

Voice インターフェースを使用するには EOS SDK リリース 1.13 以降が必要です。

Voice は、オンライン サブシステム (OSS) および Unreal Engine4.27 リリースの VoiceChat プラグインによって完全にサポートされます。

Voice インターフェースを使用するには、以下の手順に従う必要があります。

  1. ゲームで使用する統合方法をレビューして決定する
  2. Voice のサンプル (C および C# を調べて、製品での Voice インターフェースの使用方法を習得する
  3. Voice インターフェースをアプリケーションに組み込む
    1. クライアント ポリシー を設定する
    2. 選択した統合方法に基づいて Voice インターフェイスを統合します。
  4. Voice インターフェースの ベスト プラクティスVoice のメトリック、および 使用上の制限事項 をレビューする

Voice の統合方法

次の 2 つの方法で Voice をアプリケーションに統合することができます。

  • Voice を Lobby で使用する:EOS SDK を ゲーム クライアント に統合し、EOS Lobbies がルームの管理と承認を行うようにする。Lobbies インターフェース を使用するのに必要なのはクライアント統合のみであり、ルームの所有、検索、および招待が提供されます。

  • 信頼済みサーバー アプリケーションを使用する:EOS SDK を ゲーム クライアント に統合し、SDK または Web API を 信頼済みサーバー アプリケーションに統合します。このアプローチでは、ルームの管理と承認をカスタマイズすることでデベロッパーに最大限の柔軟性が与えられますが、統合により多くの手間が必要になります。

Voice を Lobby で使用する

Voice を Lobby で使用する場合、EOS SDK をゲーム クライアントに統合し、Lobbies に信頼できるサーバー アプリケーションの役割を引き受けさせます。ロビーは roomIds を生成し、メンバー用の tokens を作成し、他のプレイヤーに join kick、または mute するリクエストを承認します。

ルームのセキュリティを確保するために、ロビーは プライベートにして招待 を必要とするようにできます。

ポリシー コンフィギュレーション

userRequired を使用してゲーム クライアントの クライアント ポリシー を構成し、以下を許可します。

  • Lobbies はそのクライアントに適切なアクション (connectreadLobby など) を行う
  • VoicelobbyConference アクションを行う

createRoomTokenmute、および kick は、サーバー使用のみ を目的としているため、無効のままにしておく必要があります。それ以外の場合、これによりゲーム クライアントは任意の roomId にアクセスできます。

Lobby を使用した Voice のフロー

  1. ゲーム クライアントSDK を初期化 し、EOS_HLobbyEOS_RTC、および EOS_RTCAudio インターフェースを取得します。
  2. ゲーム クライアントConnect インターフェース を使ってローカル ユーザーを承認します。
  3. ゲーム クライアントbEnableRTCRoom フラグを有効にした EOS_Lobby_CreateLobby を新規ロビーを作成します。
  4. そのロビーが、ルーム トークンをリクエストしてトークンとメディア サーバーの URL を返します。EOS SDK はそのトークンを使用して、ボイス ルームに参加します。
  5. そのロビーに参加する他のユーザーには、そのボイス会議に参加するためのルーム トークンが自動的に届きます。
  6. ロビーの所有者は他のプレイヤーに招待を送信することができます。パブリック ロビーには、招待されていなくても検索および参加できます。
  7. ロビーの所有者は、他のプレイヤーを mute または kick できます。
  8. すべてのクライアントで EOS_RTCEOS_RTCAudio のインターフェースを使用して、オーディオ入出力の管理、ローカル ミュート/スピーカー ステータスの変更、およびルームの退出を行うことができます。

EOS SDK の Lobbies のサンプル で、このコンフィギュレーションの実例が示されています。

Voiceを使用してルームの管理と承認をより細かく制御するには、信頼済みサーバー アプリケーションを使用した Voice のフロー を使用できます。

信頼済みサーバー アプリケーションを使用した Voice

ポリシー コンフィギュレーション

以下の設定でサーバーに クライアント ポリシー を設定します。 userRequired を無効にして、サーバーが clientIdclientsecret を使って Connect インターフェース での認証できる。

  • VoicecreateRoomTokenkickmute を使用すると、サーバーは任意の roomId のプレイヤー用にルームを作成し、プレイヤーを削除してトークンを取り消して、プレイヤーをミュートにできる。