Holographic Remoting と OpenXR API を使用したカスタムデータチャネル

注意

このガイダンスは、 Windows Mixed Realityを実行している HoloLens 2 および Windows pc 上の Holographic リモート処理に固有のものです。

カスタムデータチャネルを使用して、確立されたリモート処理接続を介してカスタムデータを送信します。

重要

カスタムデータチャネルには、カスタムのリモートアプリとカスタムプレーヤーアプリが必要です。 これにより、2つのカスタムアプリ間の通信が可能になります。

ヒント

単純なピンポン方の例については、 Holographic リモート処理サンプル github リポジトリ内の remote および player サンプルを参照してください。 #define ENABLE_CUSTOM_DATA_CHANNEL_SAMPLEOpenXrProgramm ファイルと SamplePlayerMain ファイル内のコメントを解除して、サンプルコードを有効にします。

重要

詳細な 仕様 については、 Holographic リモート処理のサンプル github リポジトリを参照してください。

カスタムデータチャネルを作成する

接続が正常に確立されると、関数を使用して新しいデータチャネルを作成でき xrCreateRemotingDataChannelMSFT ます。 カスタムデータチャネルは、ランタイムが異なる場合でも、windows media player とリモートアプリケーションから作成できます。 データチャネルがプレーヤー側で作成されている場合は、リモート側にイベント構造が通知され XrEventDataRemotingDataChannelCreatedMSFT ます。

XrRemotingDataChannelStatusMSFTを呼び出した後の初期状態 xrCreateRemotingDataChannelMSFT はです XR_REMOTING_DATA_CHANNEL_STATUS_OPEN_PENDING_MSFT 。 データチャネルが完全に確立されると、チャネルの状態はに切り替わり XR_REMOTING_DATA_CHANNEL_STATUS_OPENED_MSFT ます。 XrEventDataRemotingDataChannelOpenedMSFTイベント構造は、以前に作成されたデータチャネルの状態がからに切り替わるときに、イベントキューに格納され XR_REMOTING_DATA_CHANNEL_STATUS_OPEN_PENDING_MSFT XR_REMOTING_DATA_CHANNEL_STATUS_OPENED_MSFT ます。

データの送信

関数は、 xrSendRemotingDataMSFT プレーヤー側にデータを送信するために使用されます。

データの取得

データチャネルを介してデータが到着するたびに、イベントの XrEventDataRemotingDataChannelDataReceivedMSFT 構造がイベントキューに格納されます。 受信したパケットは、関数を使用して取得でき xrRetrieveRemotingDataMSFT ます。

チャネルの状態を取得する

関数は、 xrGetRemotingDataChannelStateMSFT データチャネルの状態を照会するために使用できます。

データチャネルを破棄する

データチャネルを破棄するには、を使用 xrDestroyRemotingDataChannelMSFT します。 XrRemotingDataChannelMSFT呼び出し後にハンドルが無効です。その後、データチャネルハンドルを使用することはでき xrDestroyRemotingDataChannelMSFT ません。

XrEventDataRemotingDataChannelClosedMSFTプレーヤー側がデータチャネルを閉じるか破棄した場合、はイベントキューに配置されます。 データチャネルの状態はに切り替わり XR_REMOTING_DATA_CHANNEL_STATUS_CLOSED_MSFT ます。 閉じられたデータチャネルの場合、 XrRemotingDataChannelMSFT ハンドルは有効なままです。

参照