Voice イントロ

Contents

はじめに

Photon Voice 2はPhoton Voiceの後継です。アップデートした機能はこちら:

  • より優れたUnityコンポーネントを使った改良されたAPI。
  • PUN2との互換性
  • 柔軟性:PUN2から切り離され、Photon Realtime、Photon Bolt、Photon Chat、さらにスタンドアロンでも使用できるようになりました。
  • 新しいWebRTCベースのDSP
  • 更新された新しいデモ

Photon Voice 2 can be downloaded and imported from Unity Asset Store here. The minimal Unity version required is 5.6.6f2.

Back To Top

Supported Platforms

  • Windows
  • UWP
  • macOS
  • Android (for 64-bit support read this)
  • iOS
  • PlayStation 4 (requires a special add-on that can be downloaded here. Read more about access to consoles here.)
  • Nintendo Switch (requires a special add-on that can be downloaded here. Read more about access to consoles here.)
  • MagicLeap (Lumin OS, requires a special add-on that can be downloaded here. Read more about Magic Leap here.)

Back To Top

主要コンポーネント

VoiceConnection

VoiceConnectionコンポーネントインスタンスは、ボイスクライアントをPhoton Serverに接続するためにシーンに必要です。 ボイスの通信はルーム内でしか行えないため、VoiceConnectionを使用してマッチメイキングを行い、クライアントが確実にルームに参加できるようにします。

Back To Top

Recorder

Recorderは非常に重要なコンポーネントなので、こちらに専用のページがあります。

Back To Top

Speaker

Speakerコンポーネントは、受信したオーディオストリームを再生します。 UnityのAudioSourceコンポーネントを利用しています。このコンポーネントは、ボイスストリームのコンテキスト外では、 または作成イベントを介して受信されるストリームの情報を取得するまでは、あまり意味を持ちません。 そのイベントと含まれるデータは、ローカルのSpeakerコンポーネントをリモートのボイスストリームにリンクするために重要です。 次のセクションでは、Speakerの使用方法について説明します。

Back To Top

SpeakerFactory

SpeakerFactoryメソッドは、新しいリモートボイスストリーム情報を受信するたびに呼び出されます。 SpeakerFactoryの役割は、受信されるリモートボイスストリーム(Recorderコンポーネントインスタンスを介して送信される)を ローカルのSpeakerコンポーネントインスタンスとリンクまたはバインドすることです。

リモートのボイスストリームとローカルのSpeaker、またはリモートのRecorderとローカルのSpeakerの間の一対一の関係に対応しています。デフォルトでは、単一のSpeakerコンポーネントインスタンスを使用して複数の受信オーディオストリームを混ぜて再生することはできませんし、複数のSpeakerコンポーネントインスタンスを使用して単一の受信オーディオストリームを再生することもできません。

Factoryで、そのリモートボイスストリームから受信したオーディオフレームを再生するために使用されるSpeakerコンポーネントを返す必要があります。 新しいSpeakerコンポーネントを作成するか、古いSpeakerコンポーネントを再利用するか、またはnullを返して、そのリモートボイスストリームによるすべての受信オーディオフレームの再生をスキップすることができます。

Back To Top

デフォルトのSpeakerFactory

SpeakerFactoryを明示的に設定していない場合は、デフォルトのVoiceConnection.SimpleSpeakerFactoryが使用されます。 デフォルトのVoiceConnection.SimpleSpeakerFactoryは、リモートボイスストリームごとにローカルにインスタンス化されたSpeakerが設定されることを保証します。 SpeakerPrefabを設定した場合、そのプレハブは階層内のルートオブジェクトとしてインスタンス化されます。 回転と位置はデフォルトになります。 Speakerコンポーネントが接続されているGameObjectは、 "Speaker for Player {0} Voice#{1}"と名前が変更され、 リモートボイスストリームが削除されると破棄されます。

Back To Top

ボイスの使い方(PUNを使用せずに)

  1. シーンにVoiceConnectionコンポーネントを追加する。
  2. VoiceConnection.SettingsでAppSettingsを設定する。
  3. シーンにレコーダーを追加し、そのプロパティを更新してVoiceConnection.PrimaryRecorderに割り当てる。 3.a. Optionally enable Recorder.TransmitEnabled to start transmission as soon as ready.
    3.b. Optionally enable Recorder.DebugEchoMode to hear yourself (a local Speaker needs to be linked, see step 4).
  4. Decide how to link Speaker components with remote voice streams:
    4.a. 必要に応じてSpeakerFactoryメソッド を実装し、コードでVoiceConnection.SpeakerFactoryに割り当てる。
    4.b. デフォルトのSpeakerFactoryを使用する場合は、必要に応じてSpeakerプレハブ(Speakerコンポーネントを含むプレハブ)を追加してVoiceConnection.SpeakerPrefabに割り当てる。
  5. ルームに参加する。参加には、Photon Realtimeのマッチメイキングオペレーションのいずれかを使用("ConnectAndJoin.cs"ユーティリティスクリプトを参照)。
  6. [If not enabled in 3.a.] Once in a room start transmitting by setting Recorder.TransmitEnabled to true.
  7. [If not enabled in 3.b.] Optionally enable Recorder.DebugEchoMode on the transmitting recorder to hear yourself.

Back To Top

PUNを削除する方法

If you want to use Photon Voice without PUN, you can keep PUN inside your project or simply remove it. There is an Editor shortcut for this: "Window" -> "Photon Voice" -> "Remove PUN".

Remove PUN Menu Item
Remove PUN Menu Item

Alternatively, you can do this manually by following these steps:

  1. Demos\DemoVoicePUNフォルダを削除する
  2. Photon\PhotonVoice\Code\PUNフォルダを削除する
  3. Photon\PhotonUnityNetworkingフォルダを削除する 4."Project Settings" - > "Player"> "Other Settings"> "Script Define Symbols"で、「PHOTON_UNITY_NETWORKING」、「PUN_2_X_OR_NEWER」、「PUN_2_OR_NEWER」が削除されていることを確認する。

You can always add the files back at any time by importing Photon Voice 2 from the Asset Store.

Back To Top

Photon Chatを削除する方法

If you want to use Photon Voice without Photon Chat, you can keep Photon Chat inside your project or simply remove it. There is an Editor shortcut for this: "Window" -> "Photon Voice" -> "Remove Photon Chat".

Remove Photon Chat Menu Item
Remove Photon Chat Menu Item

Alternatively, you can do this manually by deleting "Photon\PhotonChat" folder.

You can always add the files back at any time by importing Photon Voice 2 from the Asset Store.

ドキュメントのトップへ戻る