useScreenShare covers the sending side of screen sharing: starting and stopping your own share, and observing all active shares in the call. Rendering a share reuses the same DailyVideo component, with the screenVideo track type.
Start and stop sharing
useScreenShare returns startScreenShare, stopScreenShare, and isSharingScreen for the local participant:
startScreenShare triggers the browser’s native screen-picker dialog. The user can cancel it, so do not assume a share started just because you called the function. React to the actual outcome with the callbacks:
Render active screen shares
Thescreens array describes every active share in the call, local and remote. Each entry has a session_id, a screen_id, local, and the video and audio track states. Render each one with DailyVideo using type="screenVideo":
Screen share audio
A share can include audio (for example, sharing a browser tab with sound). Remote screen audio is played automatically byDailyAudio. To also play the local participant’s own screen audio, set playLocalScreenAudio:
A complete screen-share area
Next steps
Rendering media
More on DailyVideo and track types.
Recording
Capture the call, screen shares included.