Photon(PUN2, Photon Voice 2)環境で音声共有を行う
今回は前回のPhoton Voice 2の続きです。
xr-physics-work-etc.hatenablog.com
Hololens2を用いてPhotonを介した音声共有を行います。
1. 音声共有のための設定を行う
音声共有のためには、以前作成したScene上のPhoton Manager
オブジェクトとPlayer
プレハブにスクリプトを追加する必要があります。
xr-physics-work-etc.hatenablog.com
xr-physics-work-etc.hatenablog.com
まずは、Player
プレハブから設定を追加します。
PhotonVoiceView.cs
とSpeaker.cs
をアタッチします。
PhotonVoiceView.cs
Speaker In Useに、Player
プレハブのSpeaker.cs
を設定します。
これでPlayer
プレハブがSpeakerとして認識され、PhotonVoiceViewで音声が共有されます。
次にPhoton Manager
オブジェクトの設定をします。
Photon Manager
には音声共有を管理するPhotonVoiceNetwork.cs
とRecorder.cs
をアタッチします。
PhotonVoiceNetwork.cs
今回は、自動でPhoton Cloudに接続、切断を行いたいので、Auto Connect And JoinとAuto Leave And Disconnectにチェックを入れます。 Primary Recorderに先ほどアタッチしたRecorder.cs
を設定します。
SpeakerPrefabには先ほど設定したPlayer
プレハブを設定します。Recorder.cs
入室した際に音声共有を開始するため、Auto StartとTransmit Enabledにチェックを入れます。
なお、Transmit Enabledを操作することで、音声共有の停止と再開(ミュートとミュート解除)が実施できます。
最後にPhotonの設定を修正します。
Asset/Photon/PhotonUnityNetworking/Resources/PhotonServerSetting
にPhoton Voice用の設定を追加します。
App Id Voiceに使用するApp Idを入力します。
特段理由がなければ、App Id PUNと同じ値を入れれば問題ないです。
2. ビルドし、Hololens2にアプリをインストールする
Hololens2に入れる場合に1点注意点があります。
Photon Voiceを使用する場合は、ARM64ではなく、ARMでビルドする必要があります。
Photon 公式には下記記述がありますが、アドオンは権限がなくダウンロードできませんでした。
対応プラットフォーム
HoloLens 2 (ARM64には特別なアドオンが必要です。 こちらからダウンロードしてください。)
ARM64だとビルドに失敗するので、ARMでビルドする必要があります。
これで音声共有を行うことができました。
(音声なのでこちらに動作確認結果を載せられませんが)
Hololens2 - Unity Editor間で動作確認済みです。
※ Oculus Questは後日確認予定。確認し次第追記します。
動作確認時の注意点としては、Unity Editorで実行する際、マイク入力対象となるデバイスがないとエラーが発生するので注意してください。