ボイスチャットの送信方式の指定

目次

  概要
  事前設定
  MonobitEngine.VoiceChat.MonobitVoice.SendStreamType プロパティ


概要

ボイスチャットについて「自分以外の全員に発信」するか「特定のプレイヤーに対してのみ発信」するかの切り替え制御

  ここで紹介する機能では、自分が発信する音声について、送信対象を「ルーム内のプレイヤー全員」を対象とするか、
  「ルーム内の絞り込まれた特定のプレイヤー」を対象とするかを指定できます。

  デフォルト設定では「ルーム内のプレイヤー全員」を対象としますが、例えばチーム戦などのゲームを作る際、
  「特定のプレイヤー/グループに対して情報伝達を遮る」必要がある場合などにおいて、この設定を適宜変更してください。


事前設定

MonobitVoice コンポーネントの追加が必要です

  ボイスチャット機能ですので、この機能を実装するスクリプトと同一の GameObejct に対し、
  MonobitVoice コンポーネントが追加されている必要があります。

処理を記述するクラスについて、MonoBehaviour クラスの継承が必要です

  上記 MonobitVoice コンポーネントを参照するために、自身の GameObject を参照する必要がありますので、
  実装するスクリプトクラスが、MonobitEngine.MonoBehaviour クラス、または UnityEngine.MonoBehaviour クラスを継承している必要があります。


MonobitEngine.VoiceChat.MonobitVoice.SendStreamType プロパティ

機能

  ボイスチャットの送信方式について、「ルーム内のプレイヤー全員」に対して送信するのか、
  「ルーム内の特定の単数または複数のプレイヤー」に対して送信するのかを決定します。

入出力型

変数名 内容
#MonobitEngine.VoiceChat.StreamType SendStreamType ボイスチャットの送信方式についての設定値です。
設定値は、以下に示す定数値が用意されています。
定数値 内容
StreamType.BROADCAST 自分自身を除く、ルーム内の全プレイヤーに対し、自身の音声を送信します。
特にスクリプト上で設定しない場合、この値がデフォルトで設定されます。
StreamType.MULTICAST ルーム内の単数または複数の特定プレイヤーに対し、自身の音声を送信します。
この定数値を代入した場合、別途 マルチキャスト配信の対象クライアントの指定 を行なってください。

記述例

/*
 * 自身の音声について、同一ルームに所属する自分自身以外の全プレイヤーに対して送信します。
 *
 * このプロパティの値設定に際し、以下の2つの条件をすべて満たす必要があります。
 *  1. このスクリプトをコンポーネント追加されているオブジェクトに対し、MonobitVoice コンポーネントがアタッチされていること。
 *  2. このスクリプトを記述するクラスが MonoBehaviour を継承していること
 */
MonobitEngine.VoiceChat.MonobitVoice monobitVoice = this.gameObject.GetComponent<MonobitEngine.VoiceChat.MonobitVoice>();
if (monobitVoice != null)
{
    monobitVoice.SendStreamRate = MonobitEngine.VoiceChat.StreamType.BROADCAST;
}
/*
 * 自身の音声について、同一ルームに所属する特定のプレイヤーに対して送信します。
 * 別途 MonobitEngine.VoiceChat.MonobitVoice.SetMulticastTarget() メソッドなどで、送信相手となるプレイヤーを指定してください。
 *
 * また、このプロパティの値設定に際し、以下の2つの条件をすべて満たす必要があります。
 *  1. このスクリプトをコンポーネント追加されているオブジェクトに対し、MonobitVoice コンポーネントがアタッチされていること。
 *  2. このスクリプトを記述するクラスが MonoBehaviour を継承していること
 */
MonobitEngine.VoiceChat.MonobitVoice monobitVoice = this.gameObject.GetComponent<MoobitEngine.VoiceChat.MonobitVoice>();
if (monobitVoice != null)
{
    monobitVoice.SendStreamRate = MonobitEngine.VoiceChat.StreamType.MULTICAST;
}