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
- Inscrever-se em transmissões com compartilhamento de tela
- Otimização do desempenho de vídeo de determinadas transmissões com compartilhamento de tela
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.