Bildschirmfreigabe — React Native
Sie können einen Stream veröffentlichen, der eine Videoansicht Ihres Bildschirms (anstelle einer Kamera) als Quelle verwendet.
Ein mit der Sitzung verbundener Teilnehmer kann einen Bildschirmfreigabe-Stream abonnieren (und anzeigen), genauso wie er einen Stream abonnieren würde, dessen Quelle eine Kamera ist.
Dieses Thema umfasst die folgenden Abschnitte:
- Veröffentlichen eines Streams mit einer Bildschirmfreigabequelle
- Abonnieren von Streams zur Bildschirmfreigabe
- Optimierung der Videoleistung bestimmter Bildschirmfreigabe-Streams
Veröffentlichen eines Streams mit einer Bildschirmfreigabequelle
Um einen Stream zur Bildschirmfreigabe zu veröffentlichen, legen Sie die videoSource Eigenschaft des OTPublishers properties Stütze für "screen":
<OTPublisher
properties={{
videoSource: 'screen',
}}
/>
Der Stream zur Bildschirmfreigabe nimmt Videos aus der gesamten Ansicht der Anwendung auf. Aus diesem Grund sollten Sie Abonnenten im lokalen Client deaktivieren, wenn Sie einen Stream-Sharing-Stream veröffentlichen (um zu verhindern, dass sie im veröffentlichten Stream angezeigt werden).
Weitere Informationen zur Veröffentlichung finden Sie unter dieses Entwicklerhandbuch.
Abonnieren von Streams zur Bildschirmfreigabe
Sie können einen Stream, der eine Screen-Sharing-Videoquelle verwendet, auf dieselbe Weise abonnieren wie einen Stream, der eine Kamera als Quelle verwendet. Siehe Abonnieren von Streams.
Sie können erkennen, dass ein Stream ein Screen-Sharing-Stream ist, indem Sie die Option videoType Eigenschaft des Ereignisobjekts in der OTSession streamCreated Ereignis. Für einen Screen-Sharing-Stream wird diese Eigenschaft auf "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>
Das OTSession-Objekt sendet eine streamPropertyChanged Ereignis, wenn sich die Abmessungen des Streams eines anderen Clients ändern. Dies kann passieren, wenn der veröffentlichende Client die Größe eines freigegebenen Fensters ändert (z. B. eines Browserfensters in einer App, die das Vonage Video Web-Client-SDK verwendet). Das changedProperty Eigenschaft des Ereignisobjekts wird auf "videoDimensions". Die stream.height und stream.width Die Eigenschaften des Ereignisobjekts sind die neue Breite und Höhe des Videos.
<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>
Sie können die Videoabmessungen verwenden und videoType Details zu Streams, um die Größe oder die Abmessungen der zugehörigen Abonnenten in der Benutzeroberfläche anzupassen. Weitere Informationen zum Anpassen des Layouts der Abonnenten in der Benutzeroberfläche finden Sie unter Abonnieren von Streams.
Optimierung der Videoleistung bestimmter Bildschirmfreigabe-Streams
Sie können einen Hinweis auf den Videoinhalt festlegen, um die Qualität und Leistung eines Videos zur Bildschirmfreigabe zu verbessern, das hauptsächlich Text- oder Videoinhalte enthält. Für Details, siehe Einstellen von Hinweisen zu Videoinhalten zur Verbesserung der Videoleistung in bestimmten Situationen.