Canais de dados personalizados com remoagem holográfica e a API OpenXR

Nota

Esta orientação é específica para o remomento holográfico em HoloLens 2 e Windows PCs em execução Windows Mixed Reality.

Utilize canais de dados personalizados para enviar dados personalizados através de uma ligação de remoização estabelecida.

Importante

Os canais de dados personalizados requerem uma aplicação remota personalizada e uma aplicação personalizada para o leitor. Isto permite a comunicação entre as duas aplicações personalizadas.

Dica

Um exemplo simples de ping-pong pode ser encontrado nas amostras remotas e do jogador dentro do repositório de amostras holográficas de github. Descomprometê-lo #define ENABLE_CUSTOM_DATA_CHANNEL_SAMPLE dentro dos ficheiros OpenXrProgramm.cpp e SamplePlayerMain.h para ativar o código de amostra.

Importante

A especificação detalhada pode ser encontrada no repositório de amostras holográficas github.

Criar um canal de dados personalizado

Após a criação de uma ligação com sucesso, novos canais de dados podem ser criados através da xrCreateRemotingDataChannelMSFT função. Os canais de dados personalizados podem ser criados a partir do leitor e da aplicação remota, mesmo que os tempos de execução sejam diferentes. Se um canal de dados for criado pelo lado do jogador, o lado remoto é notificado com a estrutura do XrEventDataRemotingDataChannelCreatedMSFT evento.

O estado inicial XrRemotingDataChannelStatusMSFT depois de ligar é xrCreateRemotingDataChannelMSFTXR_REMOTING_DATA_CHANNEL_STATUS_OPEN_PENDING_MSFT . Uma vez estabelecido o canal de dados, o estado do canal muda para XR_REMOTING_DATA_CHANNEL_STATUS_OPENED_MSFT . A XrEventDataRemotingDataChannelOpenedMSFT estrutura do evento é colocada na fila do evento quando o estado de um canal de dados previamente criado muda de XR_REMOTING_DATA_CHANNEL_STATUS_OPEN_PENDING_MSFTXR_REMOTING_DATA_CHANNEL_STATUS_OPENED_MSFT .

Enviar Dados

A xrSendRemotingDataMSFT função é utilizada para enviar dados para o lado do leitor.

Recuperar dados

Sempre que os dados chegam através de um canal de dados, uma XrEventDataRemotingDataChannelDataReceivedMSFT estrutura de eventos é colocada na fila do evento. Os pacotes recebidos podem ser recuperados com a xrRetrieveRemotingDataMSFT função.

Obtenha o Estado do Canal da Mancha

A xrGetRemotingDataChannelStateMSFT função pode ser usada para consultar o estado do canal de dados.

Destrua um Canal de Dados

Pode destruir um canal de dados com xrDestroyRemotingDataChannelMSFT . A XrRemotingDataChannelMSFT pega é inválida após a xrDestroyRemotingDataChannelMSFT chamada e o cabo do canal de dados não deve ser utilizado posteriormente.

O XrEventDataRemotingDataChannelClosedMSFT serão colocados na fila do evento caso o lado do leitor feche ou destrua o canal de dados. O estado do canal de dados muda para XR_REMOTING_DATA_CHANNEL_STATUS_CLOSED_MSFT . Para um canal de dados fechado, o XrRemotingDataChannelMSFT cabo permanece válido.

Consulte também