Compartilhamento de tela — React Native

Você pode publicar uma transmissão que utilize uma captura de tela (em vez de uma câmera) como fonte.

Um cliente conectado à sessão pode se inscrever para receber uma transmissão de compartilhamento de tela (e visualizá-la), da mesma forma que se inscreveria para receber uma transmissão que utiliza uma câmera como fonte.

Este tópico inclui as seguintes seções:

Como transmitir com uma fonte de compartilhamento de tela

Para publicar uma transmissão de compartilhamento de tela, defina o videoSource propriedade do OTPublisher properties apoio a "screen":

<OTPublisher
  properties={{
    videoSource: 'screen',
  }}
/>

A transmissão de compartilhamento de tela capturará o vídeo de toda a tela do aplicativo. Por esse motivo, talvez seja recomendável desativar os assinantes no cliente local ao publicar uma transmissão de compartilhamento de tela (para evitar que eles apareçam na transmissão publicada).

Para obter mais detalhes sobre publicação, consulte este guia para desenvolvedores.

Inscrever-se em transmissões com compartilhamento de tela

Você pode se inscrever em uma transmissão que utilize uma fonte de vídeo de compartilhamento de tela da mesma forma que se inscreve em uma transmissão que utilize uma câmera como fonte. Consulte Inscrever-se em canais.

É possível identificar se uma transmissão é do tipo compartilhamento de tela verificando o videoType propriedade do objeto de evento na OTSession streamCreated evento. Para uma transmissão com compartilhamento de tela, essa propriedade é definida como "screen":

<OTSession
  apiKey="the API key"
  sessionId="the session ID"
  token="the token"
  eventHandlers={{
    streamCreated: event => {
      console.log(event.videoType, 'stream created', event.streamId);
    }
  }}>
  { /* ... */ }
</OTSession>

O objeto OTSession despacha um streamPropertyChanged evento que ocorre quando as dimensões do stream de outro cliente são alteradas. Isso pode acontecer quando o cliente de publicação redimensiona uma janela que está sendo compartilhada (como a janela de um navegador em um aplicativo que utiliza o Vonage Client SDK). O changedProperty a propriedade do objeto do evento está definida como "videoDimensions". O stream.height e stream.width As propriedades do objeto do evento são a nova largura e a nova altura do vídeo.

<OTSession
  apiKey="the API key"
  sessionId="the session ID"
  token="the token"
  eventHandlers={{
    streamPropertyChanged: event => {
      console.log(event.stream.streamId, 'stream property', event.changedProperty, 'changed:', event.stream.height, event.stream.width);
    }
  }}>
  { /* ... */ }
</OTSession>

Você pode usar as dimensões do vídeo e videoType detalhes sobre os streams para ajustar o tamanho ou as dimensões dos assinantes correspondentes na interface do usuário. Para obter detalhes sobre como personalizar o layout dos assinantes na interface do usuário, consulte Inscrever-se em canais.

Otimização do desempenho de vídeo de determinadas transmissões com compartilhamento de tela

É possível definir uma sugestão de conteúdo de vídeo para melhorar a qualidade e o desempenho de um vídeo de compartilhamento de tela que conterá principalmente texto ou vídeo. Para obter mais detalhes, consulte Definição de dicas de conteúdo de vídeo para melhorar o desempenho do vídeo em determinadas situações.