Compartir pantalla — React Native

Puedes publicar una retransmisión que utilice una captura de pantalla (en lugar de una cámara) como fuente.

Un cliente conectado a la sesión puede suscribirse a una transmisión compartida de pantalla (y verla), del mismo modo que se suscribiría a una transmisión que utilice una cámara como fuente.

Este tema incluye las siguientes secciones:

Publicar un flujo con una fuente de pantalla compartida

Para publicar una transmisión en la que se comparte la pantalla, configura el videoSource propiedad de OTPublisher properties apoyar a "screen":

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

El flujo de pantalla compartida capturará vídeo de toda la vista de la aplicación. Por esta razón, es posible que desee desactivar los suscriptores en el cliente local al publicar un flujo de pantalla compartida (para evitar que aparezcan en el flujo publicado).

Para obtener más información sobre la publicación, consulta esta guía para desarrolladores.

Suscribirse a las retransmisiones con pantalla compartida

Puede suscribirse a una transmisión que utilice una fuente de vídeo de pantalla compartida del mismo modo que se suscribe a una transmisión que utiliza una cámara como fuente. Consulte Suscripción a flujos.

Puede detectar que un flujo es un flujo de pantalla compartida, comprobando la opción videoType del objeto de evento en la OTSession streamCreated evento. Para un flujo de pantalla compartida, esta propiedad se establece en "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>

El objeto OTSession envía un streamPropertyChanged evento que se produce cuando cambian las dimensiones de la transmisión de otro cliente. Esto puede ocurrir cuando el cliente emisor cambia el tamaño de una ventana que se está compartiendo (como la ventana de un navegador en una aplicación que utiliza el Vonage Client SDK). El changedProperty La propiedad del objeto de evento se establece en "videoDimensions". En stream.height y stream.width Las propiedades del objeto del evento son el nuevo ancho y la nueva altura del 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>

Puedes utilizar las dimensiones del vídeo y videoType Detalles para que las transmisiones puedan ajustar el tamaño o las dimensiones de sus suscriptores correspondientes en la interfaz de usuario. Para obtener más información sobre cómo personalizar la disposición de los suscriptores en la interfaz de usuario, consulta Suscripción a flujos.

Optimización del rendimiento de vídeo de determinadas transmisiones con pantalla compartida

Puede definir una sugerencia de contenido de vídeo para mejorar la calidad y el rendimiento de un vídeo para compartir pantalla que contenga principalmente texto o vídeo. Para más información, consulte Configuración de sugerencias de contenido de vídeo para mejorar el rendimiento del vídeo en determinadas situaciones.