Пользовательские каналы данных с holographic удаленное взаимодействие и API Опенкср

Примечание

это руководство относится к удаленному взаимодействию с HoloLens 2 и Windows пк под управлением Windows Mixed Reality.

Используйте пользовательские каналы данных для отправки пользовательских данных через установленное удаленное соединение.

Важно!

Для пользовательских каналов данных требуется пользовательское удаленное приложение и пользовательское приложение проигрывателя. Это позволяет обмениваться данными между двумя пользовательскими приложениями.

Совет

Простой пример для проверки связи можно найти в примерах для удаленного доступа и проигрывателя в репозитории GitHub с примерами удаленного взаимодействия. Раскомментируйте в #define ENABLE_CUSTOM_DATA_CHANNEL_SAMPLE файлах опенксрпрограмм. cpp и самплеплайермаин. h, чтобы включить пример кода.

Создание пользовательского канала данных

После успешной установки соединения новые каналы данных можно создать с помощью xrCreateRemotingDataChannelMSFT функции. Пользовательские каналы данных можно создавать из проигрывателя и из удаленного приложения, даже если среды выполнения различаются. Если канал данных создается на стороне проигрывателя, то удаленная сторона получает уведомления о XrEventDataRemotingDataChannelCreatedMSFT структуре событий.

Начальное XrRemotingDataChannelStatusMSFT состояние после вызова xrCreateRemotingDataChannelMSFTXR_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 маркер остается действительным.

См. также: